Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.

Commit

Permalink
Merge pull request #2272 from hzyi-google/param-type
Browse files Browse the repository at this point in the history
samplegen: convert binary type to str
  • Loading branch information
yihanzhen authored Aug 30, 2018
2 parents 27beee1 + c1e7bc3 commit a05cf23
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 36 deletions.
92 changes: 56 additions & 36 deletions src/main/resources/com/google/api/codegen/py/standalone_sample.snip
Original file line number Diff line number Diff line change
Expand Up @@ -25,49 +25,57 @@
@# [START {@sample.regionTag}]

{@importList(sample.initCode.importSection.appImports)}
@let convertTextCode = convertText(sample)
@if convertTextCode
import six

@end

def sample_{@apiMethod.name}({@sampleFuncParam(sample.initCode.argDefaultParams)}):
@# [START {@sample.regionTag}_core]
def sample_{@apiMethod.name}({@sampleFuncParam(sample.initCode.argDefaultParams)}):
@# [START {@sample.regionTag}_core]

client = {@apiMethod.apiModuleName}.{@apiMethod.apiClassName}()
client = {@apiMethod.apiModuleName}.{@apiMethod.apiClassName}()

@if sample.initCode.argDefaultLines
@join line : util.pretty(initCode(sample.initCode.argDefaultLines))
@# {@line}
@end
@if sample.initCode.argDefaultLines
@join line : util.pretty(initCode(sample.initCode.argDefaultLines))
@# {@line}
@end


@end
@if sample.initCode.lines
{@initCode(sample.initCode.lines)}
# FIXME(hzyi): handle ListInitType, MapInitType and StructInitType correctly
{@convertTextCode}
@end
@if sample.initCode.lines
{@initCode(sample.initCode.lines)}

@end
@switch sample.callingForm
@case "Request"
{@optionalArrayMethodSampleCodeNonStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestPaged"
{@pagedOptionalArrayMethodSampleCodePaged(apiMethod, sample)}
@case "RequestPagedAll"
{@pagedOptionalArrayMethodSampleCodeAll(apiMethod, sample)}
@case "RequestStreamingBidi"
{@optionalArrayMethodSampleCodeBidiStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestStreamingClient"
{@optionalArrayMethodSampleCodeClientStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestStreamingServer"
{@optionalArrayMethodSampleCodeServerStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "LongRunningPromise"
{@lroSampleCode(apiMethod, sample.initCode)}
{@processResponse(sample)}
@default
$unhandledCallingForm: {@sample.callingForm} in sample "{@apiMethod.getClass.getSimpleName}"$
@end
@end
@switch sample.callingForm
@case "Request"
{@optionalArrayMethodSampleCodeNonStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestPaged"
{@pagedOptionalArrayMethodSampleCodePaged(apiMethod, sample)}
@case "RequestPagedAll"
{@pagedOptionalArrayMethodSampleCodeAll(apiMethod, sample)}
@case "RequestStreamingBidi"
{@optionalArrayMethodSampleCodeBidiStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestStreamingClient"
{@optionalArrayMethodSampleCodeClientStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "RequestStreamingServer"
{@optionalArrayMethodSampleCodeServerStreaming(apiMethod, sample.initCode)}
{@processResponse(sample)}
@case "LongRunningPromise"
{@lroSampleCode(apiMethod, sample.initCode)}
{@processResponse(sample)}
@default
$unhandledCallingForm: {@sample.callingForm} in sample "{@apiMethod.getClass.getSimpleName}"$
@end

@# [END {@sample.regionTag}_core]
@# [END {@sample.regionTag}]
@# [END {@sample.regionTag}_core]
@# [END {@sample.regionTag}]
@end

def main():
@# FIXME: Convert argv from strings to the correct types.
Expand All @@ -83,6 +91,18 @@
@end
@end

@private convertText(sample)
@join line : sample.initCode.argDefaultLines
@if line.lineType == "SimpleInitLine"
@if line.typeName == "str"
if isinstance({@line.identifier}, six.binary_type):
{@line.identifier} = {@line.identifier}.decode('utf-8')

@end
@end
@end
@end

@private optionalArrayMethodSampleCodeNonStreaming(apiMethod, initCode)
{@singularResponseSampleCode(apiMethod, initCode)}
@end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4379,6 +4379,7 @@ import sys
# [START canonical]

from google.cloud.example import library_v1
import six

def sample_publish_series(name):
# [START canonical_core]
Expand All @@ -4387,6 +4388,9 @@ def sample_publish_series(name):

# name = 'Math'

if isinstance(name, six.binary_type):
name = name.decode('utf-8')

shelf = {'name': name}

# TODO: Initialize ``books``:
Expand Down

0 comments on commit a05cf23

Please sign in to comment.