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 _GetCodegenFromFlags(args):
    """Create a codegen object from flags."""
    discovery_doc = _GetDiscoveryDocFromFlags(args)
    names = util.Names(args.strip_prefix, args.experimental_name_convention,
                       args.experimental_capitalize_enums)

    if args.client_json:
        try:
            with open(args.client_json) as client_json:
                f = json.loads(client_json.read())
                web = f.get('installed', 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' % args.client_json)
    else:
        client_id = args.client_id
        client_secret = args.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, args.scope, client_id,
                                         client_secret, args.user_agent, names,
                                         args.api_key)
    outdir = os.path.expanduser(args.outdir) or client_info.default_directory
    if os.path.exists(outdir) and not args.overwrite:
        raise exceptions.ConfigurationValueError(
            'Output directory exists, pass --overwrite to replace '
            'the existing files.')
    if not os.path.exists(outdir):
        os.makedirs(outdir)

    return gen_client_lib.DescriptorGenerator(
        discovery_doc,
        client_info,
        names,
        args.root_package,
        outdir,
        base_package=args.base_package,
        protorpc_package=args.protorpc_package,
        generate_cli=args.generate_cli,
        init_wildcards_file=(args.init_file == 'wildcards'),
        use_proto2=args.experimental_proto2_output,
        unelidable_request_methods=args.unelidable_request_methods,
        apitools_version=args.apitools_version)
Ejemplo n.º 4
0
 def testNormalizeEnumName(self):
     names = util.Names([''])
     self.assertEqual('_0', names.NormalizeEnumName('0'))
Ejemplo n.º 5
0
 def testKeywords(self):
     names = util.Names([''])
     self.assertEqual('in_', names.CleanName('in'))