]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/lib2to3/fixes/fix_ws_comma.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / lib2to3 / fixes / fix_ws_comma.py
1 """Fixer that changes 'a ,b' into 'a, b'.
2
3 This also changes '{a :b}' into '{a: b}', but does not touch other
4 uses of colons. It does not touch other uses of whitespace.
5
6 """
7
8 from .. import pytree
9 from ..pgen2 import token
10 from .. import fixer_base
11
12 class FixWsComma(fixer_base.BaseFix):
13
14 explicit = True # The user must ask for this fixers
15
16 PATTERN = """
17 any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]>
18 """
19
20 COMMA = pytree.Leaf(token.COMMA, u",")
21 COLON = pytree.Leaf(token.COLON, u":")
22 SEPS = (COMMA, COLON)
23
24 def transform(self, node, results):
25 new = node.clone()
26 comma = False
27 for child in new.children:
28 if child in self.SEPS:
29 prefix = child.prefix
30 if prefix.isspace() and u"\n" not in prefix:
31 child.prefix = u""
32 comma = True
33 else:
34 if comma:
35 prefix = child.prefix
36 if not prefix:
37 child.prefix = u" "
38 comma = False
39 return new