Updated schema generator to allow specifying projects to process, loglevel

This commit is contained in:
Maxim Kulkin
2013-11-12 18:11:16 +04:00
parent 2a31b5ab61
commit 28a51a2247

View File

@@ -1,3 +1,4 @@
import argparse
import glob import glob
import os.path import os.path
import logging import logging
@@ -224,14 +225,32 @@ def generate_project_schema(project):
f.write(yaml_dump_schema_records(schema_records)) f.write(yaml_dump_schema_records(schema_records))
def main(): def parse_args(argv):
logging.basicConfig(level=logging.INFO) parser = argparse.ArgumentParser()
for project_path in glob.glob(os.path.join(os.path.dirname(__file__), '*')): parser.add_argument('-l', '--loglevel', default='INFO', help='Loglevel to use')
if not os.path.isdir(project_path): parser.add_argument('projects', nargs='*', help='Name of the projects (e.g. "nova")')
continue args = parser.parse_args(argv[1:])
return args
generate_project_schema(os.path.basename(project_path))
def main(argv):
args = parse_args(argv)
params = vars(args)
logging.basicConfig(level=params['loglevel'])
if 'project' in params:
projects = [params['project']]
else:
projects = []
for project_path in glob.glob(os.path.join(os.path.dirname(__file__), '*')):
if not os.path.isdir(project_path):
continue
projects.append(os.path.basename(project_path))
for project in projects:
generate_project_schema(project)
if __name__ == '__main__': if __name__ == '__main__':
main() import sys
main(sys.argv)