filtrer les variables avec fnmatch

This commit is contained in:
Jephté Clain 2017-07-19 14:49:45 +04:00
parent 2bf51dec9d
commit 0eab59a742
1 changed files with 9 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import os, sys, re
from os import path
from argparse import ArgumentParser
from glob import glob
from fnmatch import fnmatch
USER_CONFDIR = '~/etc/deploy'
SYSTEM_CONFDIR = '/var/local/deploy'
@ -1521,7 +1522,13 @@ def __resolve_format(o, query_type):
return format, ovars, lvars, ofunc, lfunc, avars
def print_var(name, values, format, avars, is_values=False):
if avars is not None and name not in avars: return
if avars is not None:
found = False
for avar in avars:
if fnmatch(name, avar):
found = True
break
if not found: return
if not isseq(values): values = [values]
if format == 'shell':
params = (name, " ".join(qshell(values)))
@ -1698,7 +1705,7 @@ Spécifier le format pour la sortie:
>>>
La valeur par défaut est shell""")
AP.add_argument('-v', '--include-vars', action='append', dest='vars', metavar='VARS...',
help=u"Spécifier les variables qui doivent être affichées. Par défaut, toutes les variables sont affichées.")
help=u"Spécifier les variables qui doivent être affichées sous forme de chaine glob e.g 'prefix_*' pour toutes les variables qui commencent par prefix. Plusieurs spécifications peuvent être données en les séparant par une virgule. Par défaut, toutes les variables sont affichées.")
AP.add_argument('-o', '--object-vars', action='store_true', dest='object_vars',
help=u"Afficher uniquement les variables associées aux objets.")
AP.add_argument('-l', '--link-vars', action='store_true', dest='link_vars',