def apply_precommit_file(prefix, precommit_file, all_files, gpk_path): precommit_obj = gcl.load(precommit_file, loader=gcl.loader_with_search_path([path.join(gpk_path, 'checks')])) try: validate_precommit(precommit_obj) except RuntimeError, e: raise RuntimeError('Error parsing %s: %s' % (precommit_file, e))
def main(argv=None, stdin=None): parser = argparse.ArgumentParser(description='Convert (parts of) a GCL model file to JSON.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument('selectors', metavar='SELECTOR', type=str, nargs='*', help='Select nodes to include in the JSON.') parser.add_argument('--root', '-r', metavar='PATH', type=str, default='', help='Use the indicated root path as the root of the output JSON object (like a.b.c but without wildcards)') args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') sels = query.GPath(args.selectors) if not sels.everything(): model = sels.select(model).deep() plain = util.to_python(model) selectors = args.root.split('.') if args.root else [] selected = select(plain, selectors) sys.stdout.write(json.dumps(selected)) except (gcl.ParseError, RuntimeError) as e: sys.stderr.write(str(e) + '\n') sys.exit(1)
def main(argv=None, stdin=None): parser = argparse.ArgumentParser(description='Print a GCL model file.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument('selectors', metavar='SELECTOR', type=str, nargs='*', help='Subnodes to print') parser.add_argument('-e', '--errors-only', dest='errors_only', action='store_true', default=False, help='Only show errors') parser.add_argument('-q', '--qualified-paths', dest='qualified_paths', action='store_true', default=False, help='Show qualified paths') parser.add_argument('-l', '--lowercase', dest='lowercase', action='store_true', default=False, help='Don\'t recurse into variables starting with capital letters.') args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') except gcl.ParseError as e: print(e) sys.exit(1) else: printer = qualified_print if args.qualified_paths else pretty_print_model print_selectors(model, args.selectors, printer, lowercase=args.lowercase, errors_only=args.errors_only)
def main(argv=None, stdin=None): parser = argparse.ArgumentParser( description='Convert (parts of) a GCL model file to JSON.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument( 'selectors', metavar='SELECTOR', type=str, nargs='*', help= 'Subnodes to convert. The first selector will be treated as the root of the printed output.' ) args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') sels = query.GPath(args.selectors) if not sels.everything(): model = sels.select(model).deep() plain = util.to_python(model) sys.stdout.write(json.dumps(plain)) except (gcl.ParseError, RuntimeError) as e: sys.stderr.write(str(e) + '\n') sys.exit(1)
def apply_precommit_file(prefix, precommit_file, all_files, gpk_path): precommit_obj = gcl.load(precommit_file, loader=gcl.loader_with_search_path( [path.join(gpk_path, 'checks')])) try: validate_precommit(precommit_obj) except RuntimeError, e: raise RuntimeError('Error parsing %s: %s' % (precommit_file, e))
def main(): logging.basicConfig(level=logging.INFO, format='%(asctime)s [%(levelname)s] %(message)s') parser = argparse.ArgumentParser( description='Generate sphinx-compatible documentation') parser.add_argument('--title', '-T', default='Documentation', help='Documentation title') parser.add_argument('--only-documented', '-d', action='store_true', default=False, help='Only export documented bindings') parser.add_argument('--output-dir', '-o', required=True, help='Directory to write output files') parser.add_argument('--no-index', '-I', action='store_true', default=False, help='Skip Sphinx index file') parser.add_argument('--search-path', '-s', action='append', default=[], help='Resolve GCL files against these paths') parser.add_argument('file', metavar='FILE', nargs='+', help='Files to generate documentation for') args = parser.parse_args() doc = Documentation(args) for f in args.file: logger.info('Loading %s', f) node = gcl.load(f) relative_name = resolve_file(f, args.search_path) logger.info('Adding as %s', relative_name) doc.add_file(relative_name, node) if not path.isdir(args.output_dir): logger.info('Creating directory %s', args.output_dir) os.makedirs(args.output_dir) doc.write_dir(args.output_dir) logger.info('Done')
def main(argv=None, stdin=None): parser = argparse.ArgumentParser(description='Print a GCL model file.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument('selectors', metavar='SELECTOR', type=str, nargs='*', help='Subnodes to print') parser.add_argument('-e', '--errors-only', dest='errors_only', action='store_true', default=False, help='Only show errors') parser.add_argument('-q', '--qualified-paths', dest='qualified_paths', action='store_true', default=False, help='Show qualified paths') parser.add_argument( '-l', '--lowercase', dest='lowercase', action='store_true', default=False, help='Don\'t recurse into variables starting with capital letters.') args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') except gcl.ParseError as e: print(e) sys.exit(1) else: printer = qualified_print if args.qualified_paths else pretty_print_model print_selectors(model, args.selectors, printer, lowercase=args.lowercase, errors_only=args.errors_only)
def main(argv=None, stdin=None): parser = argparse.ArgumentParser( description='Convert (parts of) a GCL model file to JSON.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument('selectors', metavar='SELECTOR', type=str, nargs='*', help='Select nodes to include in the JSON.') parser.add_argument( '--root', '-r', metavar='PATH', type=str, default='', help= 'Use the indicated root path as the root of the output JSON object (like a.b.c but without wildcards)' ) args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') sels = query.GPath(args.selectors) if not sels.everything(): model = sels.select(model).deep() plain = util.to_python(model) selectors = args.root.split('.') if args.root else [] selected = select(plain, selectors) sys.stdout.write(json.dumps(selected, indent=2)) except (gcl.ParseError, RuntimeError) as e: sys.stderr.write(str(e) + '\n') sys.exit(1)
def main(argv=None, stdin=None): parser = argparse.ArgumentParser(description='Convert (parts of) a GCL model file to JSON.') parser.add_argument('file', metavar='FILE', type=str, nargs='?', help='File to parse') parser.add_argument('selectors', metavar='SELECTOR', type=str, nargs='*', help='Subnodes to convert. The first selector will be treated as the root of the printed output.') args = parser.parse_args(argv or sys.argv[1:]) try: if args.file and args.file != '-': model = gcl.load(args.file) else: model = gcl.loads((stdin or sys.stdin).read(), filename='<stdin>') sels = query.GPath(args.selectors) if not sels.everything(): model = sels.select(model).deep() plain = util.to_python(model) sys.stdout.write(json.dumps(plain)) except (gcl.ParseError, RuntimeError) as e: sys.stderr.write(str(e) + '\n') sys.exit(1)