def _WriteBaseFiles(codegen): with util.Chdir(codegen.outdir): _CopyLocalFile('app2.py') _CopyLocalFile('base_api.py') _CopyLocalFile('base_cli.py') _CopyLocalFile('credentials_lib.py') _CopyLocalFile('exceptions.py')
def _WriteGeneratedFiles(args, codegen): if codegen.use_proto2: _WriteProtoFiles(codegen) with util.Chdir(codegen.outdir): with io.open(codegen.client_info.messages_file_name, 'w') as out: codegen.WriteMessagesFile(out) with io.open(codegen.client_info.client_file_name, 'w') as out: codegen.WriteClientLibrary(out)
def GeneratePipPackage(args): """Generate a client as a pip-installable tarball.""" discovery_doc = _GetDiscoveryDocFromFlags(args) package = discovery_doc['name'] original_outdir = os.path.expanduser(args.outdir) args.outdir = os.path.join(args.outdir, 'apitools/clients/%s' % package) args.root_package = 'apitools.clients.%s' % package codegen = _GetCodegenFromFlags(args) if codegen is None: logging.error('Failed to create codegen, exiting.') return 1 _WriteGeneratedFiles(args, codegen) _WriteInit(codegen) with util.Chdir(original_outdir): _WriteSetupPy(codegen) with util.Chdir('apitools'): _WriteIntermediateInit(codegen) with util.Chdir('clients'): _WriteIntermediateInit(codegen)
def _WriteGeneratedFiles(codegen): if codegen.use_proto2: _WriteProtoFiles(codegen) with util.Chdir(codegen.outdir): with open(codegen.client_info.messages_file_name, 'w') as out: codegen.WriteMessagesFile(out) with open(codegen.client_info.client_file_name, 'w') as out: codegen.WriteClientLibrary(out) if FLAGS.generate_cli: with open(codegen.client_info.cli_file_name, 'w') as out: codegen.WriteCli(out) os.chmod(codegen.client_info.cli_file_name, 0755)
def Run(self, _): """Create a client in a pip package.""" discovery_doc = _GetDiscoveryDocFromFlags() package = discovery_doc['name'] original_outdir = os.path.expanduser(FLAGS.outdir) FLAGS.outdir = os.path.join(FLAGS.outdir, 'apitools/clients/%s' % package) FLAGS.root_package = 'apitools.clients.%s' % package FLAGS.generate_cli = False codegen = _GetCodegenFromFlags() if codegen is None: logging.error('Failed to create codegen, exiting.') return 1 _WriteGeneratedFiles(codegen) _WriteInit(codegen) with util.Chdir(original_outdir): _WriteSetupPy(codegen) with util.Chdir('apitools'): _WriteIntermediateInit(codegen) with util.Chdir('clients'): _WriteIntermediateInit(codegen)
def _WriteInit(codegen): with util.Chdir(codegen.outdir): with open('__init__.py', 'w') as out: codegen.WriteInit(out)
def _WriteProtoFiles(codegen): with util.Chdir(codegen.outdir): with open(codegen.client_info.messages_proto_file_name, 'w') as out: codegen.WriteMessagesProtoFile(out) with open(codegen.client_info.services_proto_file_name, 'w') as out: codegen.WriteServicesProtoFile(out)