From ee2e41185671c9caefdc3292f13cf641b9d4bfba Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 6 Apr 2017 22:23:37 +0400 Subject: [PATCH 1/3] cgilsxml.py: bug --- lib/ulib/support/cgilsxml.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/ulib/support/cgilsxml.py b/lib/ulib/support/cgilsxml.py index 2b90bd6..3bf294c 100755 --- a/lib/ulib/support/cgilsxml.py +++ b/lib/ulib/support/cgilsxml.py @@ -182,6 +182,7 @@ class File: def find_files(basedir, filters, spec_method='all'): basedir = path.abspath(basedir) files = [] + deep_filters = [filter for filter in filters if filter.re_spec is not None and filter.deep_scan] if deep_filters: for dirpath, dirnames, filenames in os.walk(basedir): @@ -191,7 +192,7 @@ def find_files(basedir, filters, spec_method='all'): try: file = File(dirpath, filename) except: continue matched1 = matched = False - allowed1 = allowed = False + allowed = False for filter in deep_filters: if spec_method == 'all' or \ (spec_method == 'first' and not matched): @@ -199,16 +200,14 @@ def find_files(basedir, filters, spec_method='all'): else: matched1 = False matched = matched1 or matched - if spec_method == 'all' or \ - (spec_method == 'first' and matched and not allowed): - allowed1 = filter.match_allow(file) - else: - allowed1 = False - allowed = allowed1 or allowed + + allowed = filter.match_allow(file) or allowed + if matched: pass elif allowed: file.dontlist = True else: continue files.append(file) + simple_filters = [filter for filter in filters if filter.re_spec is not None and not filter.deep_scan] if simple_filters: for name in os.listdir(basedir): @@ -218,7 +217,7 @@ def find_files(basedir, filters, spec_method='all'): except: continue if not file.isfile(): continue matched1 = matched = False - allowed1 = allowed = False + allowed = False for filter in simple_filters: if spec_method == 'all' or \ (spec_method == 'first' and not matched): @@ -226,16 +225,14 @@ def find_files(basedir, filters, spec_method='all'): else: matched1 = False matched = matched1 or matched - if spec_method == 'all' or \ - (spec_method == 'first' and matched and not allowed): - allowed1 = filter.match_allow(file) - else: - allowed1 = False - allowed = allowed1 or allowed + + allowed = filter.match_allow(file) or allowed + if matched: pass elif allowed: file.dontlist = True else: continue files.append(file) + glob_filters = [filter for filter in filters if filter.glob is not None] if glob_filters: for filter in glob_filters: @@ -260,6 +257,7 @@ def find_files(basedir, filters, spec_method='all'): elif filter.match_allow(file): file.dontlist = True else: continue files.append(file) + return files def build_sortfunc(sortby): From b3e6ff609234436828818eb3107c60e4261656cc Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 6 Apr 2017 22:32:53 +0400 Subject: [PATCH 2/3] cgilsxml.py: maj doc --- lib/ulib/support/cgilsxml.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ulib/support/cgilsxml.py b/lib/ulib/support/cgilsxml.py index 3bf294c..f8bc105 100755 --- a/lib/ulib/support/cgilsxml.py +++ b/lib/ulib/support/cgilsxml.py @@ -503,7 +503,7 @@ def run_cgilsxml(): + u"Dans cette expression, il est possible d'utiliser des expressions de la forme %(var)s pour inclure des variables déjà définies, ou \\N ou \\g pour inclure respectivement le groupe numéro N et le groupe nommé NAME de l'expression régulière --spec." + u"\n Cette option ne peut être spécifiée qu'une seule fois par option --spec") OP.add_option('-b', '--break-on', dest='break_on', action='callback', callback=set_break_on, type='string', - help=u"Spécifier une expression qui permet de partitionner la list des fichiers au sein d'un même groupe. " + help=u"Spécifier une expression qui permet de partitionner la liste des fichiers au sein d'un même groupe. " + u"Dans cette expression, il est possible d'utiliser des expressions de la forme %(var)s pour inclure des variables déjà définies, ou \\N ou \\g pour inclure respectivement le groupe numéro N et le groupe nommé NAME de l'expression régulière --spec." + u"\n Bien que ce ne soit pas une obligation, il est logique de trier la liste sur cette expression pour que les groupes de fichiers soient ensembles dans la liste." + u"\n Cette option ne peut être spécifiée qu'une seule fois par option --spec") @@ -523,10 +523,10 @@ def run_cgilsxml(): + u"Les valeurs valides sont attachment (par défaut), inline, none. " + u"Si cette option est spécifiée après une option --spec ou --glob, elle ne s'applique qu'aux fichiers qui correspondent à ce modèle") OP.add_option('--cgi-content-type', '--cgict', dest='content-type', action='callback', callback=set_content_type, type='string', - help=u"En mode CGI, forcer le type de contenu avec lequel servir le fichier." + help=u"En mode CGI, forcer le type de contenu avec lequel servir le fichier. " + u"Si cette option est spécifiée après une option --spec ou --glob, elle ne s'applique qu'aux fichiers qui correspondent à ce modèle") OP.add_option('--cgi-content-charset', '--cgicc', dest='content-charset', action='callback', callback=set_content_charset, type='string', - help=u"En mode CGI, forcer l'encoding de contenu avec lequel servir le fichier." + help=u"En mode CGI, forcer l'encoding de contenu avec lequel servir le fichier. " + u"Si cette option est spécifiée après une option --spec ou --glob, elle ne s'applique qu'aux fichiers qui correspondent à ce modèle") OP.add_option('-P', '--cgi-path-info', dest='path_info', help=u"Spécifier un chemin d'un fichier à télécharger. " From a4b83564c8455f9774986de2cc2b10678a279628 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 6 Apr 2017 22:34:12 +0400 Subject: [PATCH 3/3] Init changelog & version 6.3.1 --- CHANGES.md | 5 +++++ VERSION.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 386e6c1..75b373a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,8 @@ +## Version 6.3.1 du 06/04/2017-22:34 + +* `b3e6ff6` cgilsxml.py: maj doc +* `ee2e411` cgilsxml.py: bug + ## Version 6.3.0 du 04/04/2017-04:04 * `2fb17f7` implémenter dumpcsv --awk-map diff --git a/VERSION.txt b/VERSION.txt index 798e389..dc0208a 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -6.3.0 +6.3.1