mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-28 18:16:34 +02:00
gdbus-codegen: Drop dependency on argparse
This is only in Python 2.7 or as a separate module. Use optparse which exists since 2.3. https://bugzilla.gnome.org/show_bug.cgi?id=649988
This commit is contained in:
@@ -22,7 +22,6 @@
|
|||||||
# Author: David Zeuthen <davidz@redhat.com>
|
# Author: David Zeuthen <davidz@redhat.com>
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import utils
|
import utils
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
# Author: David Zeuthen <davidz@redhat.com>
|
# Author: David Zeuthen <davidz@redhat.com>
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import utils
|
import utils
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# Author: David Zeuthen <davidz@redhat.com>
|
# Author: David Zeuthen <davidz@redhat.com>
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import optparse
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import utils
|
import utils
|
||||||
@@ -146,49 +146,50 @@ def apply_annotations(iface_list, annotation_list):
|
|||||||
apply_annotation(iface_list, iface, None, None, None, None, key, value)
|
apply_annotation(iface_list, iface, None, None, None, None, key, value)
|
||||||
|
|
||||||
def codegen_main():
|
def codegen_main():
|
||||||
arg_parser = argparse.ArgumentParser(description='GDBus Code Generator')
|
arg_parser = optparse.OptionParser('%prog [options]')
|
||||||
arg_parser.add_argument('xml_files', metavar='FILE', type=file, nargs='+',
|
arg_parser.add_option('', '--xml-files', metavar='FILE', action='append',
|
||||||
help='D-Bus introspection XML file')
|
help='D-Bus introspection XML file')
|
||||||
arg_parser.add_argument('--interface-prefix', nargs='?', metavar='PREFIX', default='',
|
arg_parser.add_option('', '--interface-prefix', metavar='PREFIX', default='',
|
||||||
help='String to strip from D-Bus interface names for code and docs')
|
help='String to strip from D-Bus interface names for code and docs')
|
||||||
arg_parser.add_argument('--c-namespace', nargs='?', metavar='NAMESPACE', default='',
|
arg_parser.add_option('', '--c-namespace', metavar='NAMESPACE', default='',
|
||||||
help='The namespace to use for generated C code')
|
help='The namespace to use for generated C code')
|
||||||
arg_parser.add_argument('--c-generate-object-manager', action='store_true',
|
arg_parser.add_option('', '--c-generate-object-manager', action='store_true',
|
||||||
help='Generate a GDBusObjectManagerClient subclass when generating C code')
|
help='Generate a GDBusObjectManagerClient subclass when generating C code')
|
||||||
arg_parser.add_argument('--generate-c-code', nargs='?', metavar='OUTFILES',
|
arg_parser.add_option('', '--generate-c-code', metavar='OUTFILES',
|
||||||
help='Generate C code in OUTFILES.[ch]')
|
help='Generate C code in OUTFILES.[ch]')
|
||||||
arg_parser.add_argument('--generate-docbook', nargs='?', metavar='OUTFILES',
|
arg_parser.add_option('', '--generate-docbook', metavar='OUTFILES',
|
||||||
help='Generate Docbook in OUTFILES-org.Project.IFace.xml')
|
help='Generate Docbook in OUTFILES-org.Project.IFace.xml')
|
||||||
arg_parser.add_argument('--annotate', nargs=3, action='append', metavar=('WHAT', 'KEY', 'VALUE'),
|
arg_parser.add_option('', '--annotate', action='append', metavar='WHAT,KEY,VALUE',
|
||||||
help='Add annotation (may be used several times)')
|
help='Add annotation (may be used several times)')
|
||||||
args = arg_parser.parse_args();
|
(opts, args) = arg_parser.parse_args();
|
||||||
|
|
||||||
all_ifaces = []
|
all_ifaces = []
|
||||||
for f in args.xml_files:
|
for fname in args:
|
||||||
|
f = open(fname)
|
||||||
xml_data = f.read()
|
xml_data = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
parsed_ifaces = parser.parse_dbus_xml(xml_data)
|
parsed_ifaces = parser.parse_dbus_xml(xml_data)
|
||||||
all_ifaces.extend(parsed_ifaces)
|
all_ifaces.extend(parsed_ifaces)
|
||||||
|
|
||||||
if args.annotate != None:
|
if opts.annotate != None:
|
||||||
apply_annotations(all_ifaces, args.annotate)
|
apply_annotations(all_ifaces, opts.annotate)
|
||||||
|
|
||||||
for i in parsed_ifaces:
|
for i in parsed_ifaces:
|
||||||
i.post_process(args.interface_prefix, args.c_namespace)
|
i.post_process(opts.interface_prefix, opts.c_namespace)
|
||||||
|
|
||||||
docbook = args.generate_docbook
|
docbook = opts.generate_docbook
|
||||||
docbook_gen = codegen_docbook.DocbookCodeGenerator(all_ifaces, docbook);
|
docbook_gen = codegen_docbook.DocbookCodeGenerator(all_ifaces, docbook);
|
||||||
if docbook:
|
if docbook:
|
||||||
ret = docbook_gen.generate()
|
ret = docbook_gen.generate()
|
||||||
|
|
||||||
c_code = args.generate_c_code
|
c_code = opts.generate_c_code
|
||||||
if c_code:
|
if c_code:
|
||||||
h = file(c_code + '.h', 'w')
|
h = file(c_code + '.h', 'w')
|
||||||
c = file(c_code + '.c', 'w')
|
c = file(c_code + '.c', 'w')
|
||||||
gen = codegen.CodeGenerator(all_ifaces,
|
gen = codegen.CodeGenerator(all_ifaces,
|
||||||
args.c_namespace,
|
opts.c_namespace,
|
||||||
args.interface_prefix,
|
opts.interface_prefix,
|
||||||
args.c_generate_object_manager,
|
opts.c_generate_object_manager,
|
||||||
docbook_gen,
|
docbook_gen,
|
||||||
h, c);
|
h, c);
|
||||||
ret = gen.generate()
|
ret = gen.generate()
|
||||||
|
Reference in New Issue
Block a user