55from jinja2 import is_undefined , pass_context
66
77if sys .version_info >= (3 ,0 ):
8- from shutil import which
8+ from shutil import which # pylint: disable=import-error
99elif sys .version_info >= (2 ,5 ):
10- from shutilwhich import which
10+ from shutilwhich import which # pylint: disable=import-error
1111else :
1212 assert False , "Unsupported Python version: %s" % sys .version_info
1313
1818else :
1919 assert False , "Unsupported Python version: %s" % sys .version_info
2020
21- def docker_link (value , format = '{addr}:{port}' ):
21+ def docker_link (value , fmt = '{addr}:{port}' ):
2222 """ Given a Docker Link environment variable value, format it into something else.
2323 XXX: The name of the filter is not very informative. This is actually a partial URI parser.
2424
@@ -36,12 +36,12 @@ def docker_link(value, format='{addr}:{port}'):
3636 }
3737 ```
3838
39- And then uses `format ` to format it, where the default format is '{addr}:{port}'.
39+ And then uses `fmt ` to format it, where the default format is '{addr}:{port}'.
4040
4141 More info here: [Docker Links](https://docs.docker.com/userguide/dockerlinks/)
4242
4343 :param value: Docker link (from an environment variable)
44- :param format : The format to apply. Supported placeholders: `{proto}`, `{addr}`, `{port}`
44+ :param fmt : The format to apply. Supported placeholders: `{proto}`, `{addr}`, `{port}`
4545 :return: Formatted string
4646 """
4747 # pass undefined values on down the pipeline
@@ -55,7 +55,7 @@ def docker_link(value, format='{addr}:{port}'):
5555 d = m .groupdict ()
5656
5757 # Format
58- return format .format (** d )
58+ return fmt .format (** d )
5959
6060
6161def env (varname , default = None ):
@@ -85,37 +85,41 @@ def env(varname, default=None):
8585
8686 Notice that there must be quotes around the environment variable name
8787 """
88- if default is not None :
89- # With the default, there's never an error
90- return os .getenv (varname , default )
91- else :
88+ if default is None :
9289 # Raise KeyError when not provided
9390 return os .environ [varname ]
9491
92+ # With the default, there's never an error
93+ return os .getenv (varname , default )
94+
95+
9596def align_suffix (text , delim , column = None , spaces_after_delim = 1 ):
9697 """ Align the suffixes of lines in text, starting from the specified delim.
98+
99+ Example: XXX
97100 """
98101 s = ''
99102
100103 if column is None or column == 'auto' :
101- column = max (map (lambda l : l .find (delim ), text .splitlines ()))
104+ column = max (map (lambda ln : ln .find (delim ), text .splitlines ()))
102105 elif column == 'previous' :
103106 column = align_suffix .column_previous
104107
105- for l in map (lambda s : s .split (delim , 1 ), text .splitlines ()):
106- if len (l ) < 2 :
108+ for ln in map (lambda s : s .split (delim , 1 ), text .splitlines ()):
109+ if len (ln ) < 2 :
107110 # no delimiter occurs
108- s += l [0 ].rstrip () + os .linesep
109- elif l [0 ].strip () == '' :
111+ s += ln [0 ].rstrip () + os .linesep
112+ elif ln [0 ].strip () == '' :
110113 # no content before delimiter - leave as-is
111- s += l [0 ] + delim + l [1 ] + os .linesep
114+ s += ln [0 ] + delim + ln [1 ] + os .linesep
112115 else :
113116 # align
114- s += l [0 ].rstrip ().ljust (column ) + delim + spaces_after_delim * ' ' + l [1 ].strip () + os .linesep
117+ s += ln [0 ].rstrip ().ljust (column ) + delim + spaces_after_delim * ' ' + ln [1 ].strip () + os .linesep
115118
116119 align_suffix .column_previous = column
117120 return s
118121
122+
119123align_suffix .column_previous = None
120124
121125
@@ -140,11 +144,13 @@ def sh_opt(text, name, delim=" ", quote=False):
140144 text = sh_quote (text )
141145 return '%s%s%s' % (name , delim , text )
142146
147+
143148def sh_optq (text , name , delim = " " ):
144149 """ Quote text and format as a command line option.
145150 """
146151 return sh_opt (text , name , delim , quote = True )
147152
153+
148154# Filters to be loaded
149155EXTRA_FILTERS = {
150156 'sh_quote' : sh_quote ,
@@ -163,4 +169,3 @@ def sh_optq(text, name, delim=" "):
163169 'align_suffix' : align_suffix ,
164170 'ctxlookup' : ctxlookup ,
165171}
166-
0 commit comments