Wrap the main functionality of mkdoc in a function.

This commit is contained in:
Dan 2019-05-15 20:37:18 -04:00 committed by Wenzel Jakob
parent b46bb64d39
commit a33212df1f

View File

@ -59,6 +59,11 @@ job_semaphore = Semaphore(job_count)
output = [] output = []
class NoFilenamesError(ValueError):
pass
def d(s): def d(s):
return s if isinstance(s, str) else s.decode('utf8') return s if isinstance(s, str) else s.decode('utf8')
@ -224,7 +229,8 @@ class ExtractionThread(Thread):
finally: finally:
job_semaphore.release() job_semaphore.release()
if __name__ == '__main__':
def mkdoc(args):
parameters = [] parameters = []
filenames = [] filenames = []
if "-x" not in args: if "-x" not in args:
@ -260,15 +266,14 @@ if __name__ == '__main__':
if clang_include_dir: if clang_include_dir:
parameters.extend(['-isystem', clang_include_dir]) parameters.extend(['-isystem', clang_include_dir])
for item in sys.argv[1:]: for item in args:
if item.startswith('-'): if item.startswith('-'):
parameters.append(item) parameters.append(item)
else: else:
filenames.append(item) filenames.append(item)
if len(filenames) == 0: if len(filenames) == 0:
print('Syntax: %s [.. a list of header files ..]' % sys.argv[0]) raise NoFilenamesError("args parameter did not contain any filenames")
exit(-1)
print('''/* print('''/*
This file contains docstrings for the Python bindings. This file contains docstrings for the Python bindings.
@ -321,3 +326,11 @@ if __name__ == '__main__':
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif
''') ''')
if __name__ == '__main__':
try:
mkdoc(sys.argv[1:])
except NoFilenamesError:
print('Syntax: %s [.. a list of header files ..]' % sys.argv[0])
exit(-1)