diff --git a/tools/genapixml.py b/tools/genapixml.py index 11a3cf072..388870e2c 100755 --- a/tools/genapixml.py +++ b/tools/genapixml.py @@ -17,6 +17,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. import argparse +import os import string import sys import xml.etree.ElementTree as ET @@ -548,6 +549,10 @@ class Project: self.__findCFunction(tree) self.__discoverClasses() + def initFromDir(self, xmldir): + files = [ os.path.join(xmldir, f) for f in os.listdir(xmldir) if (os.path.isfile(os.path.join(xmldir, f)) and f.endswith('.xml')) ] + self.initFromFiles(files) + def check(self): for c in self.classes: for name, p in c.properties.iteritems(): @@ -700,7 +705,7 @@ def main(argv = None): argparser.add_argument('-o', '--outputfile', metavar='outputfile', type=argparse.FileType('w'), help="Output XML file describing the Linphone API.") argparser.add_argument('--verbose', help="Increase output verbosity", action='store_true') argparser.add_argument('--pretty', help="XML pretty print", action='store_true') - argparser.add_argument('xmlfile', metavar='xmlfile', type=argparse.FileType('r'), nargs='+', help="XML file generated by doxygen.") + argparser.add_argument('xmldir', help="XML directory generated by doxygen.") args = argparser.parse_args() if args.outputfile == None: args.outputfile = open('api.xml', 'w') @@ -709,7 +714,7 @@ def main(argv = None): project.verbose = True if args.pretty: project.prettyPrint = True - project.initFromFiles(args.xmlfile) + project.initFromDir(args.xmldir) project.check() gen = Generator(args.outputfile) gen.generate(project)