Ejemplo n.º 1
0
def _GetCodegenFromFlags():
    """Create a codegen object from flags."""
    if FLAGS.discovery_url:
        try:
            discovery_doc = util.FetchDiscoveryDoc(FLAGS.discovery_url)
        except exceptions.CommunicationError:
            return None
    else:
        infile = os.path.expanduser(FLAGS.infile) or '/dev/stdin'
        discovery_doc = json.load(open(infile))
    names = util.Names(FLAGS.strip_prefix, FLAGS.experimental_name_convention,
                       FLAGS.experimental_capitalize_enums)
    client_info = util.ClientInfo.Create(discovery_doc, FLAGS.scope,
                                         FLAGS.client_id, FLAGS.client_secret,
                                         FLAGS.user_agent, names,
                                         FLAGS.api_key)
    outdir = os.path.expanduser(FLAGS.outdir) or client_info.default_directory
    if os.path.exists(outdir) and not FLAGS.overwrite:
        raise exceptions.ConfigurationValueError(
            'Output directory exists, pass --overwrite to replace '
            'the existing files.')
    root_package = FLAGS.root_package
    base_package = FLAGS.base_package
    return gen_client_lib.DescriptorGenerator(
        discovery_doc,
        client_info,
        names,
        root_package,
        outdir,
        base_package=base_package,
        generate_cli=FLAGS.generate_cli,
        use_proto2=FLAGS.experimental_proto2_output)
Ejemplo n.º 2
0
def _GetCodegenFromFlags():
    """Create a codegen object from flags."""
    if FLAGS.discovery_url:
        try:
            discovery_doc = util.FetchDiscoveryDoc(FLAGS.discovery_url)
        except exceptions.CommunicationError:
            return None
    else:
        infile = os.path.expanduser(FLAGS.infile) or '/dev/stdin'
        discovery_doc = json.load(open(infile))
    names = util.Names(FLAGS.strip_prefix, FLAGS.experimental_name_convention,
                       FLAGS.experimental_capitalize_enums)

    if FLAGS.client_json:
        try:
            with open(FLAGS.client_json) as client_json:
                f = json.loads(client_json.read())
                web = f.get('web', {})
                client_id = web.get('client_id')
                client_secret = web.get('client_secret')
        except IOError:
            raise exceptions.NotFoundError(
                'Failed to open client json file: %s' % FLAGS.client_json)
    else:
        client_id = FLAGS.client_id
        client_secret = FLAGS.client_secret

    if not client_id:
        logging.warning('No client ID supplied')
        client_id = ''

    if not client_secret:
        logging.warning('No client secret supplied')
        client_secret = ''

    client_info = util.ClientInfo.Create(discovery_doc, FLAGS.scope, client_id,
                                         client_secret, FLAGS.user_agent,
                                         names, FLAGS.api_key)
    outdir = os.path.expanduser(FLAGS.outdir) or client_info.default_directory
    if os.path.exists(outdir) and not FLAGS.overwrite:
        raise exceptions.ConfigurationValueError(
            'Output directory exists, pass --overwrite to replace '
            'the existing files.')

    root_package = FLAGS.root_package or util.GetPackage(outdir)  # pylint: disable=line-too-long
    return gen_client_lib.DescriptorGenerator(
        discovery_doc,
        client_info,
        names,
        root_package,
        outdir,
        base_package=FLAGS.base_package,
        generate_cli=FLAGS.generate_cli,
        use_proto2=FLAGS.experimental_proto2_output,
        unelidable_request_methods=FLAGS.unelidable_request_methods)
Ejemplo n.º 3
0
def _GetDiscoveryDocFromFlags(args):
    """Get the discovery doc from flags."""
    if args.discovery_url:
        try:
            return util.FetchDiscoveryDoc(args.discovery_url)
        except exceptions.CommunicationError:
            raise exceptions.GeneratedClientError(
                'Could not fetch discovery doc')

    infile = os.path.expanduser(args.infile) or '/dev/stdin'
    with io.open(infile, encoding='utf8') as f:
        return json.loads(util.ReplaceHomoglyphs(f.read()))
Ejemplo n.º 4
0
def _GetDiscoveryDocFromFlags(args):
    """Get the discovery doc from flags."""
    if args.discovery_url:
        try:
            return util.FetchDiscoveryDoc(args.discovery_url)
        except exceptions.CommunicationError:
            raise exceptions.GeneratedClientError(
                'Could not fetch discovery doc')

    infile = os.path.expanduser(args.infile) or '/dev/stdin'
    with open(infile) as f:
        return json.load(f)
Ejemplo n.º 5
0
def _GetDiscoveryDocFromFlags(args):
    """Get the discovery doc from flags."""
    global _DISCOVERY_DOC  # pylint: disable=global-statement
    if _DISCOVERY_DOC is None:
        if args.discovery_url:
            try:
                discovery_doc = util.FetchDiscoveryDoc(args.discovery_url)
            except exceptions.CommunicationError:
                raise exceptions.GeneratedClientError(
                    'Could not fetch discovery doc')
        else:
            infile = os.path.expanduser(args.infile) or '/dev/stdin'
            discovery_doc = json.load(open(infile))
        _DISCOVERY_DOC = discovery_doc
    return _DISCOVERY_DOC