Mercurial > hgrepos > Python > libs > ConfigMix
annotate configmix/variables.py @ 44:b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
| author | Franz Glasner <f.glasner@feldmann-mg.com> |
|---|---|
| date | Tue, 19 Apr 2016 12:25:34 +0200 |
| parents | 0e9f1f875ab0 |
| children | aa8345dae995 |
| rev | line source |
|---|---|
|
15
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
2 r"""Variable expansion: namespaces and filters |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
3 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
4 """ |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
5 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
6 from __future__ import division, absolute_import, print_function |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
7 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
8 import os |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
9 from functools import wraps |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
10 |
|
33
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
11 from .compat import PY2, text_to_native_os_str, native_os_str_to_text, u |
|
15
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
12 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
13 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
14 __all__ = [] |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
15 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
16 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
17 _MARKER = object() |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
18 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
19 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
20 def _envlookup(name, default=_MARKER): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
21 """Lookup an environment variable""" |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
22 try: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
23 return native_os_str_to_text(os.environ[name]) |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
24 except KeyError: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
25 if default is _MARKER: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
26 raise |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
27 else: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
28 return default |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
29 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
30 |
|
30
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
31 def _oslookup(name, default=_MARKER): |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
32 """Lookup an environment variable""" |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
33 if name == "cwd": |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
34 return native_os_str_to_text(os.getcwd()) |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
35 raise KeyError("key %r not found in the namespace" % name) |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
36 |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
37 |
|
43
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
38 def _pylookup(name, default=_MARKER): |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
39 """Lookup a Python specific variable""" |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
40 import platform |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
41 if name == "version": |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
42 return u(platform.python_version()) |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
43 elif name == "implementation": |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
44 return u(platform.python_implementation()) |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
45 elif name == "version_maj_min": |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
46 t = platform.python_version_tuple() |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
47 return u('.'.join(t[:2])) |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
48 elif name == "version_maj": |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
49 t = platform.python_version_tuple() |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
50 return u(t[0]) |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
51 else: |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
52 if default is _MARKER: |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
53 raise KeyError("variable %r not found in namespace PY" % name) |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
54 else: |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
55 return default |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
56 |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
57 |
|
30
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
58 _varns_registry = { |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
59 "ENV": _envlookup, |
|
43
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
60 "OS": _oslookup, |
|
0e9f1f875ab0
A new PY variable namespace with some variables about the Python implementation and version
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
33
diff
changeset
|
61 "PY": _pylookup |
|
30
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
62 } |
|
15
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
63 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
64 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
65 def lookup_varns(name): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
66 return _varns_registry[_normalized(name)] |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
67 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
68 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
69 _filter_registry = {} |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
70 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
71 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
72 def add_filter(name, fn): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
73 _filter_registry[_normalized(name)] = fn |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
74 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
75 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
76 def lookup_filter(name): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
77 return _filter_registry[_normalized(name)] |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
78 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
79 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
80 def filter(name): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
81 """Decorator for a filter function""" |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
82 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
83 def _decorator(f): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
84 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
85 @wraps(f) |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
86 def _f(appconfig, v): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
87 return f(appconfig, v) |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
88 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
89 add_filter(name, _f) |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
90 return _f |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
91 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
92 return _decorator |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
93 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
94 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
95 def _normalized(name): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
96 return name.replace('-', '_') |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
97 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
98 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
99 # |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
100 # Some pre-defined filter functions |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
101 # |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
102 if PY2: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
103 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
104 @filter("urlquote") |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
105 def urlquote(config, v): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
106 """Replace all special characters in string using the ``%xx`` escape""" |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
107 from urllib import quote |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
108 return quote(v.encode("utf-8"), safe=b"").decode("utf-8") |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
109 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
110 else: |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
111 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
112 @filter("urlquote") |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
113 def urlquote(config, v): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
114 """Replace all special characters in string using the ``%xx`` escape""" |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
115 from urllib.parse import quote |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
116 return quote(v, safe="") |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
117 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
118 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
119 @filter("saslprep") |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
120 def saslprep(config, v): |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
121 """Do a `SASLprep` according to RFC4013 on `v`. |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
122 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
123 This is a Stringprep Profile for usernames and passwords |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
124 |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
125 """ |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
126 import passlib.utils |
|
0b1292e920af
Variables: namespaces and filters
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
diff
changeset
|
127 return passlib.utils.saslprep(v) |
|
30
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
128 |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
129 |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
130 @filter("normpath") |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
131 def normpath_impl(config, v): |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
132 return os.path.normpath(v) |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
133 |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
134 |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
135 @filter("abspath") |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
136 def abspath_impl(config, v): |
|
d70b58b0dfb9
A new variable namespace "OS" with a "cwd" function with new filters "abspath" and "normpath" for some minimal path manipulation
Franz Glasner <hg@dom66.de>
parents:
15
diff
changeset
|
137 return os.path.abspath(v) |
|
33
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
138 |
|
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
139 |
|
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
140 @filter("posixpath") |
|
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
141 def posixpath_impl(config, v): |
|
3ee21f868440
Implement a "posixpath" filter to convert file path strings to use forward slashes.
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
30
diff
changeset
|
142 return v.replace(u('\\'), u('/')) |
|
44
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
143 |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
144 |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
145 @filter("lower") |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
146 def lower_impl(config, v): |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
147 return v.lower() |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
148 |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
149 |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
150 @filter("upper") |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
151 def upper_impl(config, v): |
|
b42e9936df2d
Added "lower" and "upper" filters to make variable lower-case and upper-case
Franz Glasner <f.glasner@feldmann-mg.com>
parents:
43
diff
changeset
|
152 return v.upper() |
