Changeset View
Changeset View
Standalone View
Standalone View
tools/qt-constants-gen.py
Show All 25 Lines | |||||
26 | from libqtcodegen import format_docstring, RefRegistry | 26 | from libqtcodegen import format_docstring, RefRegistry | ||
27 | 27 | | |||
28 | class Generator(object): | 28 | class Generator(object): | ||
29 | def __init__(self, opts): | 29 | def __init__(self, opts): | ||
30 | try: | 30 | try: | ||
31 | self.namespace = opts['--namespace'] | 31 | self.namespace = opts['--namespace'] | ||
32 | self.must_define = opts.get('--must-define', None) | 32 | self.must_define = opts.get('--must-define', None) | ||
33 | dom = xml.dom.minidom.parse(opts['--specxml']) | 33 | dom = xml.dom.minidom.parse(opts['--specxml']) | ||
34 | except KeyError, k: | 34 | except KeyError as k: | ||
35 | assert False, 'Missing required parameter %s' % k.args[0] | 35 | assert False, 'Missing required parameter %s' % k.args[0] | ||
36 | 36 | | |||
37 | self.define_prefix = None | 37 | self.define_prefix = None | ||
38 | if '--define-prefix' in opts: | 38 | if '--define-prefix' in opts: | ||
39 | self.define_prefix = opts['--define-prefix'] | 39 | self.define_prefix = opts['--define-prefix'] | ||
40 | 40 | | |||
41 | self.old_prefix = None | 41 | self.old_prefix = None | ||
42 | if '--str-constant-prefix' in opts: | 42 | if '--str-constant-prefix' in opts: | ||
43 | self.old_prefix = opts['--str-constant-prefix'] | 43 | self.old_prefix = opts['--str-constant-prefix'] | ||
44 | 44 | | |||
45 | self.spec = get_by_path(dom, "spec")[0] | 45 | self.spec = get_by_path(dom, "spec")[0] | ||
46 | self.out = codecs.getwriter('utf-8')(stdout) | 46 | self.out = codecs.getwriter('utf-8')(stdout) | ||
47 | self.refs = RefRegistry(self.spec) | 47 | self.refs = RefRegistry(self.spec) | ||
48 | 48 | | |||
49 | def h(self, code): | 49 | def h(self, code): | ||
50 | self.out.write(code) | 50 | if isinstance(code, str): | ||
51 | self.out.buffer.write(code.encode('utf8')) | ||||
52 | else: | ||||
53 | self.out.buffer.write(code) | ||||
51 | 54 | | |||
52 | def __call__(self): | 55 | def __call__(self): | ||
53 | # Header | 56 | # Header | ||
54 | self.h('/* Generated from ') | 57 | self.h('/* Generated from ') | ||
55 | self.h(get_descendant_text(get_by_path(self.spec, 'title'))) | 58 | self.h(get_descendant_text(get_by_path(self.spec, 'title'))) | ||
56 | version = get_by_path(self.spec, "version") | 59 | version = get_by_path(self.spec, "version") | ||
57 | 60 | | |||
58 | if version: | 61 | if version: | ||
▲ Show 20 Lines • Show All 252 Lines • Show Last 20 Lines |