Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
yon-mg authored Feb 3, 2021
2 parents 86e2c43 + 4077b45 commit 959e1a0
Show file tree
Hide file tree
Showing 11 changed files with 78 additions and 38 deletions.
2 changes: 1 addition & 1 deletion BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ py_binary(
python_version = "PY3",
visibility = ["//visibility:public"],
deps = [
"@com_google_protobuf//:protobuf_python",
"@com_github_grpc_grpc//src/python/grpcio/grpc:grpcio",
requirement("protobuf"),
requirement("click"),
requirement("google-api-core"),
requirement("googleapis-common-protos"),
Expand Down
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Changelog

### [0.40.7](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.6...v0.40.7) (2021-02-03)


### Bug Fixes

* don't use integer for enums in json encoding ([#761](https://www.github.com/googleapis/gapic-generator-python/issues/761)) ([6d37a73](https://www.github.com/googleapis/gapic-generator-python/commit/6d37a7388995b90428ee6293bcce5d48cd9a48f8))

### [0.40.6](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.5...v0.40.6) (2021-02-02)


### Bug Fixes

* remove duplicate assignment of certain flattened, repeated fields ([#760](https://www.github.com/googleapis/gapic-generator-python/issues/760)) ([cdbc221](https://www.github.com/googleapis/gapic-generator-python/commit/cdbc22130a176e733c529f60a6b8b1d224e82e89))

### [0.40.5](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.4...v0.40.5) (2021-02-01)


### Bug Fixes

* Fix namespace packages conflict issue ([#757](https://www.github.com/googleapis/gapic-generator-python/issues/757)) ([8035662](https://www.github.com/googleapis/gapic-generator-python/commit/8035662bdcfbdffd1c294c5d28479733358407ca))

### [0.40.4](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.3...v0.40.4) (2021-01-28)


### Bug Fixes

* Make gapic-generator-python compatible with protobuf 3.14.0 (packaged as native namespace package) ([#753](https://www.github.com/googleapis/gapic-generator-python/issues/753)) ([45212af](https://www.github.com/googleapis/gapic-generator-python/commit/45212afb9f523a416d86272798d71ce05dc292f0))
* mypy 0.800 update errors ([#754](https://www.github.com/googleapis/gapic-generator-python/issues/754)) ([608275a](https://www.github.com/googleapis/gapic-generator-python/commit/608275aa923f495520dea8ebddb94a99f26e27a5))

### [0.40.3](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.2...v0.40.3) (2021-01-21)


### Bug Fixes

* stabilize order of query_params ([#742](https://www.github.com/googleapis/gapic-generator-python/issues/742)) ([2835ddb](https://www.github.com/googleapis/gapic-generator-python/commit/2835ddbe62b520e2e4c84f02810b1ac936c9cbb9))

### [0.40.2](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.1...v0.40.2) (2021-01-21)


Expand Down
6 changes: 2 additions & 4 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,9 @@ load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

grpc_deps()

load("@upb//bazel:repository_defs.bzl", "bazel_version_repository")
load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")

bazel_version_repository(
name = "bazel_version",
)
grpc_extra_deps()

load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,17 +341,17 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
raise ValueError('If the `request` argument is set, then none of '
'the individual field arguments should be set.')

{% endif -%}
{% endif -%} {# method.flattened_fields #}
{% if method.input.ident.package != method.ident.package -%} {# request lives in a different package, so there is no proto wrapper #}
# The request isn't a proto-plus wrapped type,
# The request isn't a proto-plus wrapped type.
# so it must be constructed via keyword expansion.
if isinstance(request, dict):
request = {{ method.input.ident }}(**request)
{% if method.flattened_fields -%}{# Cross-package req and flattened fields #}
elif not request:
request = {{ method.input.ident }}({% if method.input.ident.package != method.ident.package %}{% for f in method.flattened_fields.values() %}{{ f.name }}={{ f.name }}, {% endfor %}{% endif %})
{% endif -%}{# Cross-package req and flattened fields #}
{%- else %}
{%- else %} {# Request is in _our_ package #}
# Minor optimization to avoid making a copy if the user passes
# in a {{ method.input.ident }}.
# There's no risk of modifying the input as we've already verified
Expand All @@ -364,22 +364,22 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
# If we have keyword arguments corresponding to fields on the
# request, apply these.
{% endif -%}
{%- for key, field in method.flattened_fields.items() if not(field.repeated and method.input.ident.package != method.ident.package) %}
{%- for key, field in method.flattened_fields.items() if not field.repeated or method.input.ident.package == method.ident.package %}
if {{ field.name }} is not None:
request.{{ key }} = {{ field.name }}
{%- endfor %}
{# Map-y fields can be _updated_, however #}
{%- for key, field in method.flattened_fields.items() if field.map and method.input.ident.package == method.ident.package %}

{%- for key, field in method.flattened_fields.items() if field.repeated and method.input.ident.package != method.ident.package %}
{%- if field.map %} {# map implies repeated, but repeated does NOT imply map#}
if {{ field.name }}:
request.{{ key }}.update({{ field.name }})
{%- endfor %}
{%- else %}
{# And list-y fields can be _extended_ -#}
{%- for key, field in method.flattened_fields.items() if field.repeated and not field.map and method.input.ident.package == method.ident.package %}
if {{ field.name }}:
request.{{ key }}.extend({{ field.name }})
{%- endfor %}
{%- endif %}
{%- endif %} {# field.map #}
{%- endfor %} {# key, field in method.flattened_fields.items() #}
{%- endif %} {# method.client_streaming #}

# Wrap the RPC method; this adds retry and timeout information,
# and friendly error handling.
Expand All @@ -397,15 +397,15 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
{%- endfor %}
)),
)
{%- endif %}
{%- endif %} {# method.field_headers #}

# Send the request.
{% if not method.void %}response = {% endif %}rpc(
{%- if not method.client_streaming %}
request,
{%- else %}
requests,
{%- endif %}
{%- endif %} {# method.client_streaming #}
retry=retry,
timeout=timeout,
metadata=metadata,
Expand All @@ -429,12 +429,12 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
response=response,
metadata=metadata,
)
{%- endif %}
{%- endif %} {# method.lro #}
{%- if not method.void %}

# Done; return the response.
return response
{%- endif %}
{%- endif %} {# method.void #}
{{ '\n' }}
{% endfor %}

Expand Down
4 changes: 2 additions & 2 deletions gapic/ads-templates/noxfile.py.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import os
import nox # type: ignore


@nox.session(python=['3.6', '3.7'])
@nox.session(python=['3.7', '3.8'])
def unit(session):
"""Run the unit test suite."""

Expand All @@ -24,7 +24,7 @@ def unit(session):
)


@nox.session(python=['3.6', '3.7'])
@nox.session(python=['3.7', '3.8'])
def mypy(session):
"""Run the type checker."""
session.install('mypy')
Expand Down
1 change: 0 additions & 1 deletion gapic/ads-templates/setup.py.j2
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ setuptools.setup(
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Internet',
Expand Down
11 changes: 8 additions & 3 deletions gapic/cli/generate_with_pandoc.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
import os

from gapic.cli import generate
import sys

if __name__ == '__main__':
os.environ['PYPANDOC_PANDOC'] = os.path.join(
os.path.abspath(__file__).rsplit("gapic", 1)[0], "pandoc")
os.environ['LC_ALL'] = 'C.UTF-8'
generate.generate()
os.environ['PYTHONNOUSERSITE'] = 'True'

entry_point_script = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "generate.py")
args = [sys.executable, entry_point_script] + sys.argv[1:]

os.execv(args[0], args)
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
if use_client_cert:
if client_options.client_cert_source:
is_mtls = True
client_cert_source_func = client_options.client_cert_source
client_cert_source_func = client_options.client_cert_source
else:
is_mtls = mtls.has_default_client_cert_source()
client_cert_source_func = mtls.default_client_cert_source() if is_mtls else None
Expand Down Expand Up @@ -381,22 +381,22 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
# If we have keyword arguments corresponding to fields on the
# request, apply these.
{% endif -%}
{%- for key, field in method.flattened_fields.items() if not field.repeated and method.input.ident.package == method.ident.package %}
{%- for key, field in method.flattened_fields.items() if not field.repeated or method.input.ident.package == method.ident.package %}
if {{ field.name }} is not None:
request.{{ key }} = {{ field.name }}
{%- endfor %}
{# Map-y fields can be _updated_, however #}
{%- for key, field in method.flattened_fields.items() if field.map and method.input.ident.package == method.ident.package %}

{# Map-y fields can be _updated_, however #}
{%- for key, field in method.flattened_fields.items() if field.repeated and method.input.ident.package != method.ident.package %}
{%- if field.map %} {# map implies repeated, but repeated does NOT imply map#}
if {{ field.name }}:
request.{{ key }}.update({{ field.name }})
{%- endfor %}
{%- else %}
{# And list-y fields can be _extended_ -#}
{%- for key, field in method.flattened_fields.items() if field.repeated and not field.map and method.input.ident.package == method.ident.package %}
if {{ field.name }}:
request.{{ key }}.extend({{ field.name }})
{%- endfor %}
{%- endif %}
{%- endif %} {# field.map #}
{%- endfor %} {# method.flattened_fields.items() #}
{%- endif %} {# method.client_streaming #}

# Wrap the RPC method; this adds retry and timeout information,
# and friendly error handling.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,13 @@ class {{ service.name }}RestTransport({{ service.name }}Transport):
{%- if method.http_opt['body'] != '*' %}
body = {{ method.input.fields[method.http_opt['body']].type.ident }}.to_json(
request.{{ method.http_opt['body'] }},
including_default_value_fields=False
including_default_value_fields=False,
use_integers_for_enums=False
)
{%- else %}
body = {{ method.input.ident }}.to_json(
request
request,
use_integers_for_enums=False
)
{%- endif %}
{%- endif %}
Expand Down
2 changes: 1 addition & 1 deletion repositories.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def gapic_generator_python():
requirements = "@gapic_generator_python//:requirements.txt",
)

_protobuf_version = "3.13.0"
_protobuf_version = "3.14.0"
_protobuf_version_in_link = "v%s" % _protobuf_version
_maybe(
http_archive,
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
click==7.1.2
google-api-core==1.25.0
googleapis-common-protos==1.52.0
jinja2==2.11.2
jinja2==2.11.3
MarkupSafe==1.1.1
protobuf==3.14.0
pypandoc==1.5
Expand Down

0 comments on commit 959e1a0

Please sign in to comment.