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 os import path
from argparse import ArgumentParser from argparse import ArgumentParser
from glob import glob from glob import glob
from fnmatch import fnmatch
USER_CONFDIR = '~/etc/deploy' USER_CONFDIR = '~/etc/deploy'
SYSTEM_CONFDIR = '/var/local/deploy' SYSTEM_CONFDIR = '/var/local/deploy'
@ -1521,7 +1522,13 @@ def __resolve_format(o, query_type):
return format, ovars, lvars, ofunc, lfunc, avars return format, ovars, lvars, ofunc, lfunc, avars
def print_var(name, values, format, avars, is_values=False): 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 not isseq(values): values = [values]
if format == 'shell': if format == 'shell':
params = (name, " ".join(qshell(values))) params = (name, " ".join(qshell(values)))
@ -1698,7 +1705,7 @@ Spécifier le format pour la sortie:
>>> >>>
La valeur par défaut est shell""") La valeur par défaut est shell""")
AP.add_argument('-v', '--include-vars', action='append', dest='vars', metavar='VARS...', 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', AP.add_argument('-o', '--object-vars', action='store_true', dest='object_vars',
help=u"Afficher uniquement les variables associées aux objets.") help=u"Afficher uniquement les variables associées aux objets.")
AP.add_argument('-l', '--link-vars', action='store_true', dest='link_vars', AP.add_argument('-l', '--link-vars', action='store_true', dest='link_vars',