1.1 --- a/encoders.py Wed Feb 08 01:21:39 2017 +0100
1.2 +++ b/encoders.py Wed Feb 08 16:20:27 2017 +0100
1.3 @@ -93,7 +93,8 @@
1.4 if assignment:
1.5 return "="
1.6 elif invocation is not None:
1.7 - return "(%d)" % invocation
1.8 + arguments, keywords = invocation
1.9 + return "(%d;%s)" % (arguments, ",".join(keywords))
1.10 else:
1.11 return "_"
1.12
1.13 @@ -111,8 +112,13 @@
1.14 modifiers.append((True, None))
1.15 i += 1
1.16 elif s[i] == "(":
1.17 + j = s.index(";", i)
1.18 + arguments = int(s[i+1:j])
1.19 + i = j
1.20 j = s.index(")", i)
1.21 - modifiers.append((False, int(s[i+1:j])))
1.22 + keywords = s[i+1:j]
1.23 + keywords = keywords and keywords.split(",") or []
1.24 + modifiers.append((False, (arguments, keywords)))
1.25 i = j + 1
1.26 else:
1.27 modifiers.append((False, None))