[vlc-commits] python bindings generator: handle bitshifted chars in enums
Olivier Aubert
git at videolan.org
Thu Sep 28 21:14:32 CEST 2017
vlc/python | branch: master | Olivier Aubert <contact at olivieraubert.net> | Tue Sep 19 11:57:09 2017 +0200| [10254685cf7785c58fe9beef3a84ed75074d4c1a] | committer: Olivier Aubert
python bindings generator: handle bitshifted chars in enums
> http://git.videolan.org/gitweb.cgi/vlc/python.git/?a=commit;h=10254685cf7785c58fe9beef3a84ed75074d4c1a
---
generator/generate.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/generator/generate.py b/generator/generate.py
index 6f864ec..7ee4638 100755
--- a/generator/generate.py
+++ b/generator/generate.py
@@ -492,6 +492,10 @@ class Parser(object):
n = t.split('/*')[0].strip()
if '=' in n: # has value
n, v = enum_pair_re.split(n)
+ # Bit-shifted characters cannot be directly evaluated in python
+ m = re.search("'(.)'\s*(<<|>>)\s*(.+)", v.strip())
+ if m:
+ v = "%s %s %s" % (ord(m.group(1)), m.group(2), m.group(3))
try: # handle expressions
e = eval(v, locs)
except (SyntaxError, TypeError, ValueError):
More information about the vlc-commits
mailing list