66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
![]() |
#!/usr/bin/env python
|
||
|
#
|
||
|
# A collection of tools for working with flags from OpenStack
|
||
|
# packages and documentation.
|
||
|
#
|
||
|
# For an example of usage, run this program with the -h switch.
|
||
|
#
|
||
|
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
# this is for the internationalisation function in gettext
|
||
|
import __builtin__
|
||
|
__builtin__.__dict__['_'] = lambda x: x
|
||
|
|
||
|
import common
|
||
|
|
||
|
|
||
|
def main(action, file, format, repo, verbose=0, name=False, test=False):
|
||
|
package_name = common.git_check(repo)
|
||
|
|
||
|
sys.path.append(repo)
|
||
|
try:
|
||
|
__import__(package_name)
|
||
|
except ImportError as e:
|
||
|
if verbose >= 1:
|
||
|
print str(e)
|
||
|
print "Failed to import: %s (%s)" % (package_name, e)
|
||
|
|
||
|
if verbose >= 1:
|
||
|
flags = common.extract_flags(repo, package_name, verbose)
|
||
|
else:
|
||
|
flags = common.extract_flags(repo, package_name)
|
||
|
|
||
|
print "%s flags imported from package %s." % (len(flags),
|
||
|
str(package_name))
|
||
|
if action == "update":
|
||
|
common.update(file, flags, True, verbose)
|
||
|
return
|
||
|
|
||
|
if format == "names":
|
||
|
if verbose >= 1:
|
||
|
common.write_flags(file, flags, True, verbose)
|
||
|
else:
|
||
|
common.write_flags(file, flags, True)
|
||
|
|
||
|
if format == "docbook":
|
||
|
groups = common.populate_groups(file)
|
||
|
print "%s groups" % len(groups)
|
||
|
if verbose >= 1:
|
||
|
common.write_docbook('.', flags, groups, package_name, verbose)
|
||
|
else:
|
||
|
common.write_docbook('.', flags, groups, package_name)
|
||
|
|
||
|
sys.exit(0)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
args = common.parse_me_args()
|
||
|
main(args['action'],
|
||
|
args['file'],
|
||
|
args['format'],
|
||
|
args['repo'],
|
||
|
args['verbose'],
|
||
|
args['name'],
|
||
|
args['test'])
|