From d70e045265a37010262de6777377d73ed1cb3299 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 5 Oct 2016 09:56:04 -0700 Subject: [PATCH 001/270] Add new "quickstart" samples [(#547)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/547) --- translation/samples/snippets/quickstart.py | 44 +++++++++++++++++++ translation/samples/snippets/requirements.txt | 1 + 2 files changed, 45 insertions(+) create mode 100644 translation/samples/snippets/quickstart.py create mode 100644 translation/samples/snippets/requirements.txt diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py new file mode 100644 index 00000000000..ad5436767dd --- /dev/null +++ b/translation/samples/snippets/quickstart.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python + +# Copyright 2016 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +def run_quickstart(): + # [START translate_quickstart] + # Imports the Google Cloud client library + from google.cloud import translate + + # Your Translate API key + api_key = 'YOUR_API_KEY' + + # Instantiates a client + translate_client = translate.Client(api_key) + + # The text to translate + text = 'Hello, world!' + # The target language + target = 'ru' + + # Translates some text into Russian + translation = translate_client.translate(text, target_language=target) + + print('Text: {}'.format(text)) + print('Translation: {}'.format( + translation['translatedText'].encode('utf-8'))) + # [END translate_quickstart] + + +if __name__ == '__main__': + run_quickstart() diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt new file mode 100644 index 00000000000..1f8e21a1a8d --- /dev/null +++ b/translation/samples/snippets/requirements.txt @@ -0,0 +1 @@ +google-cloud-translate==0.20.0 From 9d6ac0d7b1de7537b80735c0a4ee9872db1dcf15 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Wed, 12 Oct 2016 10:48:57 -0700 Subject: [PATCH 002/270] Quickstart tests [(#569)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/569) * Add tests for quickstarts * Update secrets --- translation/samples/snippets/quickstart.py | 7 ++-- .../samples/snippets/quickstart_test.py | 40 +++++++++++++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 translation/samples/snippets/quickstart_test.py diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index ad5436767dd..51ab697c8f0 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -27,16 +27,15 @@ def run_quickstart(): translate_client = translate.Client(api_key) # The text to translate - text = 'Hello, world!' + text = u'Hello, world!' # The target language target = 'ru' # Translates some text into Russian translation = translate_client.translate(text, target_language=target) - print('Text: {}'.format(text)) - print('Translation: {}'.format( - translation['translatedText'].encode('utf-8'))) + print(u'Text: {}'.format(text)) + print(u'Translation: {}'.format(translation['translatedText'])) # [END translate_quickstart] diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py new file mode 100644 index 00000000000..5914cb5a9dc --- /dev/null +++ b/translation/samples/snippets/quickstart_test.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from google.cloud import translate +import mock +import pytest + +import quickstart + + +@pytest.fixture +def mock_client(cloud_config): + original_client_ctor = translate.Client + + def new_client_ctor(api_key): + # Strip api_key argument and replace with our api key. + return original_client_ctor(cloud_config.api_key) + + with mock.patch( + 'google.cloud.translate.Client', + side_effect=new_client_ctor): + yield + + +def test_quickstart(mock_client, capsys): + quickstart.run_quickstart() + out, _ = capsys.readouterr() + assert u'Привет мир!' in out From 7049a8266808622c15c29ceb7f389bbea6a27752 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Wed, 12 Oct 2016 12:13:45 -0700 Subject: [PATCH 003/270] Add translate samples [(#574)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/574) --- translation/samples/snippets/README.md | 64 ++++++++++ translation/samples/snippets/snippets.py | 116 ++++++++++++++++++ translation/samples/snippets/snippets_test.py | 42 +++++++ 3 files changed, 222 insertions(+) create mode 100644 translation/samples/snippets/README.md create mode 100644 translation/samples/snippets/snippets.py create mode 100644 translation/samples/snippets/snippets_test.py diff --git a/translation/samples/snippets/README.md b/translation/samples/snippets/README.md new file mode 100644 index 00000000000..55aa8431378 --- /dev/null +++ b/translation/samples/snippets/README.md @@ -0,0 +1,64 @@ +Google Cloud Platform logo + +# Google Translate API Python Samples + +With the [Google Translate API][translate_docs], you can dynamically translate +text between thousands of language pairs. + +[translate_docs]: https://cloud.google.com/translate/docs/ + +## Table of Contents + +* [Setup](#setup) +* [Samples](#samples) + * [Translate](#translate) + +## Setup + +You will need to enable the Translate API and acquire and API key. See the +[documentation][translate_docs] for details on how to do this. + +Install dependencies: + + virtualenv env + source env/bin/activate + pip install -r requirements.txt + +## Samples + +### Translate + +View the [documentation][translate_docs] or the [source code][translate_code]. + +__Usage:__ `python snippets.py --help` + +``` +usage: snippets.py [-h] + api_key + {detect-language,list-languages,list-languages-with-target,translate-text} + ... + +This application demonstrates how to perform basic operations with the +Google Cloud Translate API + +For more information, the documentation at +https://cloud.google.com/translate/docs. + +positional arguments: + api_key Your API key. + {detect-language,list-languages,list-languages-with-target,translate-text} + detect-language Detects the text's language. + list-languages Lists all available langauges. + list-languages-with-target + Lists all available langauges and localizes them to + the target language. Target must be an ISO 639-1 + language code. + translate-text Translates text into the target language. Target must + be an ISO 639-1 language code. + +optional arguments: + -h, --help show this help message and exit +``` + +[translate_docs]: https://cloud.google.com/translate/docs +[translate_code]: snippets.py diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py new file mode 100644 index 00000000000..1b5cad92ac3 --- /dev/null +++ b/translation/samples/snippets/snippets.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python + +# Copyright 2016 Google, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This application demonstrates how to perform basic operations with the +Google Cloud Translate API + +For more information, the documentation at +https://cloud.google.com/translate/docs. +""" + +import argparse + +from google.cloud import translate + + +def detect_language(api_key, text): + """Detects the text's language.""" + translate_client = translate.Client(api_key) + + # Text can also be a sequence of strings, in which case this method + # will return a sequence of results for each text. + result = translate_client.detect_language(text) + + print('Text: {}'.format(text)) + print('Confidence: {}'.format(result['confidence'])) + print('Language: {}'.format(result['language'])) + + +def list_languages(api_key): + """Lists all available languages.""" + translate_client = translate.Client(api_key) + + results = translate_client.get_languages() + + for language in results: + print(u'{name} ({language})'.format(**language)) + + +def list_languages_with_target(api_key, target): + """Lists all available languages and localizes them to the target language. + + Target must be an ISO 639-1 language code. + See https://g.co/cloud/translate/v2/translate-reference#supported_languages + """ + translate_client = translate.Client(api_key) + + results = translate_client.get_languages(target_language=target) + + for language in results: + print(u'{name} ({language})'.format(**language)) + + +def translate_text(api_key, target, text): + """Translates text into the target language. + + Target must be an ISO 639-1 language code. + See https://g.co/cloud/translate/v2/translate-reference#supported_languages + """ + translate_client = translate.Client(api_key) + + # Text can also be a sequence of strings, in which case this method + # will return a sequence of results for each text. + result = translate_client.translate(text, target_language=target) + + print(u'Text: {}'.format(result['input'])) + print(u'Translation: {}'.format(result['translatedText'])) + print(u'Detected source language: {}'.format( + result['detectedSourceLanguage'])) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument('api_key', help='Your API key.') + subparsers = parser.add_subparsers(dest='command') + + detect_langage_parser = subparsers.add_parser( + 'detect-language', help=detect_language.__doc__) + detect_langage_parser.add_argument('text') + + list_languages_parser = subparsers.add_parser( + 'list-languages', help=list_languages.__doc__) + + list_languages_with_target_parser = subparsers.add_parser( + 'list-languages-with-target', help=list_languages_with_target.__doc__) + list_languages_with_target_parser.add_argument('target') + + translate_text_parser = subparsers.add_parser( + 'translate-text', help=translate_text.__doc__) + translate_text_parser.add_argument('target') + translate_text_parser.add_argument('text') + + args = parser.parse_args() + + if args.command == 'detect-language': + detect_language(args.api_key, args.text) + elif args.command == 'list-languages': + list_languages(args.api_key) + elif args.command == 'list-languages-with-target': + list_languages_with_target(args.api_key, args.target) + elif args.command == 'translate-text': + translate_text(args.api_key, args.target, args.text) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py new file mode 100644 index 00000000000..79843233138 --- /dev/null +++ b/translation/samples/snippets/snippets_test.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +# Copyright 2016 Google, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import snippets + + +def test_detect_language(cloud_config, capsys): + snippets.detect_language(cloud_config.api_key, 'Hæ sæta') + out, _ = capsys.readouterr() + assert 'is' in out + + +def test_list_languages(cloud_config, capsys): + snippets.list_languages(cloud_config.api_key) + out, _ = capsys.readouterr() + assert 'Icelandic (is)' in out + + +def test_list_languages_with_target(cloud_config, capsys): + snippets.list_languages_with_target(cloud_config.api_key, 'is') + out, _ = capsys.readouterr() + assert u'íslenska (is)' in out + + +def test_translate_text(cloud_config, capsys): + snippets.translate_text(cloud_config.api_key, 'is', 'Hello world') + out, _ = capsys.readouterr() + assert u'Halló heimur' in out From 681f4030a2a8670eb330ba78d42dfc5374cdb5c7 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Tue, 25 Oct 2016 10:54:45 -0700 Subject: [PATCH 004/270] Generate most non-appengine readmes Change-Id: I3779282126cdd05b047194d356932b9995484115 --- translation/samples/snippets/README.md | 64 ----------- translation/samples/snippets/README.rst | 126 +++++++++++++++++++++ translation/samples/snippets/README.rst.in | 22 ++++ 3 files changed, 148 insertions(+), 64 deletions(-) delete mode 100644 translation/samples/snippets/README.md create mode 100644 translation/samples/snippets/README.rst create mode 100644 translation/samples/snippets/README.rst.in diff --git a/translation/samples/snippets/README.md b/translation/samples/snippets/README.md deleted file mode 100644 index 55aa8431378..00000000000 --- a/translation/samples/snippets/README.md +++ /dev/null @@ -1,64 +0,0 @@ -Google Cloud Platform logo - -# Google Translate API Python Samples - -With the [Google Translate API][translate_docs], you can dynamically translate -text between thousands of language pairs. - -[translate_docs]: https://cloud.google.com/translate/docs/ - -## Table of Contents - -* [Setup](#setup) -* [Samples](#samples) - * [Translate](#translate) - -## Setup - -You will need to enable the Translate API and acquire and API key. See the -[documentation][translate_docs] for details on how to do this. - -Install dependencies: - - virtualenv env - source env/bin/activate - pip install -r requirements.txt - -## Samples - -### Translate - -View the [documentation][translate_docs] or the [source code][translate_code]. - -__Usage:__ `python snippets.py --help` - -``` -usage: snippets.py [-h] - api_key - {detect-language,list-languages,list-languages-with-target,translate-text} - ... - -This application demonstrates how to perform basic operations with the -Google Cloud Translate API - -For more information, the documentation at -https://cloud.google.com/translate/docs. - -positional arguments: - api_key Your API key. - {detect-language,list-languages,list-languages-with-target,translate-text} - detect-language Detects the text's language. - list-languages Lists all available langauges. - list-languages-with-target - Lists all available langauges and localizes them to - the target language. Target must be an ISO 639-1 - language code. - translate-text Translates text into the target language. Target must - be an ISO 639-1 language code. - -optional arguments: - -h, --help show this help message and exit -``` - -[translate_docs]: https://cloud.google.com/translate/docs -[translate_code]: snippets.py diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst new file mode 100644 index 00000000000..fc4e87d0522 --- /dev/null +++ b/translation/samples/snippets/README.rst @@ -0,0 +1,126 @@ +.. This file is automatically generated. Do not edit this file directly. + +Google Translate API Python Samples +=============================================================================== + +This directory contains samples for Google Translate API. With `Google Translate API`, you can dynamically translate text between thousands of language pairs. + + + + +.. _Google Translate API: https://cloud.google.com/translate/docs + +Setup +------------------------------------------------------------------------------- + + +Authentication +++++++++++++++ + +Authentication for this service is done via an `API Key`_. To obtain an API +Key: + +1. Open the `Cloud Platform Console`_ +2. Make sure that billing is enabled for your project. +3. From the **Credentials** page, create a new **API Key** or use an existing + one for your project. + +.. _API Key: + https://developers.google.com/api-client-library/python/guide/aaa_apikeys +.. _Cloud Console: https://console.cloud.google.com/project?_ + +Install Dependencies +++++++++++++++++++++ + +#. Install `pip`_ and `virtualenv`_ if you do not already have them. + +#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. + + .. code-block:: bash + + $ virtualenv env + $ source env/bin/activate + +#. Install the dependencies needed to run the samples. + + .. code-block:: bash + + $ pip install -r requirements.txt + +.. _pip: https://pip.pypa.io/ +.. _virtualenv: https://virtualenv.pypa.io/ + +Samples +------------------------------------------------------------------------------- + +Quickstart ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + +To run this sample: + +.. code-block:: bash + + $ python quickstart.py + + +Snippets ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + +To run this sample: + +.. code-block:: bash + + $ python snippets.py + + usage: snippets.py [-h] + api_key + {detect-language,list-languages,list-languages-with-target,translate-text} + ... + + This application demonstrates how to perform basic operations with the + Google Cloud Translate API + + For more information, the documentation at + https://cloud.google.com/translate/docs. + + positional arguments: + api_key Your API key. + {detect-language,list-languages,list-languages-with-target,translate-text} + detect-language Detects the text's language. + list-languages Lists all available languages. + list-languages-with-target + Lists all available languages and localizes them to + the target language. Target must be an ISO 639-1 + language code. See https://g.co/cloud/translate/v2 + /translate-reference#supported_languages + translate-text Translates text into the target language. Target must + be an ISO 639-1 language code. See + https://g.co/cloud/translate/v2/translate- + reference#supported_languages + + optional arguments: + -h, --help show this help message and exit + + + + +The client library +------------------------------------------------------------------------------- + +This sample uses the `Google Cloud Client Library for Python`_. +You can read the documentation for more details on API usage and use GitHub +to `browse the source`_ and `report issues`_. + +.. Google Cloud Client Library for Python: + https://googlecloudplatform.github.io/google-cloud-python/ +.. browse the source: + https://github.com/GoogleCloudPlatform/google-cloud-python +.. report issues: + https://github.com/GoogleCloudPlatform/google-cloud-python/issues + + +.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file diff --git a/translation/samples/snippets/README.rst.in b/translation/samples/snippets/README.rst.in new file mode 100644 index 00000000000..6ac89da13ac --- /dev/null +++ b/translation/samples/snippets/README.rst.in @@ -0,0 +1,22 @@ +# This file is used to generate README.rst + +product: + name: Google Translate API + short_name: Translate API + url: https://cloud.google.com/translate/docs + description: > + With `Google Translate API`, you can dynamically translate text between + thousands of language pairs. + +setup: +- auth_api_key +- install_deps + +samples: +- name: Quickstart + file: quickstart.py +- name: Snippets + file: snippets.py + show_help: true + +cloud_client_library: true From 719fbeeae735333c3a637283415f37dbc3e89b43 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Mon, 14 Nov 2016 18:55:12 -0800 Subject: [PATCH 005/270] Update requirements.txt --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 1f8e21a1a8d..ba0605c8fdc 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.20.0 +google-cloud-translate==0.21.0 From d26ddbac7b2a7bc3d5581411d331ce506f1ed774 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Mon, 14 Nov 2016 22:32:57 -0800 Subject: [PATCH 006/270] added model in the sample [(#650)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/650) --- translation/samples/snippets/quickstart.py | 10 ++++++++-- translation/samples/snippets/snippets.py | 18 +++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index 51ab697c8f0..bae6f50148d 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -24,15 +24,21 @@ def run_quickstart(): api_key = 'YOUR_API_KEY' # Instantiates a client - translate_client = translate.Client(api_key) + translate_client = translate.Client(api_key=api_key) # The text to translate text = u'Hello, world!' # The target language target = 'ru' + # MT model type `base` or `nmt` + model = translate.BASE + # Translates some text into Russian - translation = translate_client.translate(text, target_language=target) + translation = translate_client.translate( + text, + target_language=target, + model=model) print(u'Text: {}'.format(text)) print(u'Translation: {}'.format(translation['translatedText'])) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 1b5cad92ac3..dec8d172553 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -28,7 +28,7 @@ def detect_language(api_key, text): """Detects the text's language.""" - translate_client = translate.Client(api_key) + translate_client = translate.Client(api_key=api_key) # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. @@ -41,7 +41,7 @@ def detect_language(api_key, text): def list_languages(api_key): """Lists all available languages.""" - translate_client = translate.Client(api_key) + translate_client = translate.Client(api_key=api_key) results = translate_client.get_languages() @@ -55,7 +55,7 @@ def list_languages_with_target(api_key, target): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - translate_client = translate.Client(api_key) + translate_client = translate.Client(api_key=api_key) results = translate_client.get_languages(target_language=target) @@ -63,17 +63,20 @@ def list_languages_with_target(api_key, target): print(u'{name} ({language})'.format(**language)) -def translate_text(api_key, target, text): +def translate_text(api_key, target, text, model=translate.BASE): """Translates text into the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - translate_client = translate.Client(api_key) + translate_client = translate.Client(api_key=api_key) # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. - result = translate_client.translate(text, target_language=target) + result = translate_client.translate( + text, + target_language=target, + model=model) print(u'Text: {}'.format(result['input'])) print(u'Translation: {}'.format(result['translatedText'])) @@ -103,6 +106,7 @@ def translate_text(api_key, target, text): 'translate-text', help=translate_text.__doc__) translate_text_parser.add_argument('target') translate_text_parser.add_argument('text') + translate_text_parser.add_argument('model') args = parser.parse_args() @@ -113,4 +117,4 @@ def translate_text(api_key, target, text): elif args.command == 'list-languages-with-target': list_languages_with_target(args.api_key, args.target) elif args.command == 'translate-text': - translate_text(args.api_key, args.target, args.text) + translate_text(args.api_key, args.target, args.text, args.model) From a055abe45929dde1230e729c2d35fcd4746c7a18 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Tue, 15 Nov 2016 12:27:28 -0800 Subject: [PATCH 007/270] added with and without model separately [(#657)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/657) --- translation/samples/snippets/quickstart.py | 6 +---- translation/samples/snippets/snippets.py | 27 +++++++++++++++++++--- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index bae6f50148d..71e0b0b3109 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -31,14 +31,10 @@ def run_quickstart(): # The target language target = 'ru' - # MT model type `base` or `nmt` - model = translate.BASE - # Translates some text into Russian translation = translate_client.translate( text, - target_language=target, - model=model) + target_language=target) print(u'Text: {}'.format(text)) print(u'Translation: {}'.format(translation['translatedText'])) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index dec8d172553..46a2c335154 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -63,9 +63,11 @@ def list_languages_with_target(api_key, target): print(u'{name} ({language})'.format(**language)) -def translate_text(api_key, target, text, model=translate.BASE): +def translate_text_with_model(api_key, target, text, model=translate.BASE): """Translates text into the target language. + Make sure your project is whitelisted. + Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ @@ -84,6 +86,26 @@ def translate_text(api_key, target, text, model=translate.BASE): result['detectedSourceLanguage'])) +def translate_text(api_key, target, text): + """Translates text into the target language. + + Target must be an ISO 639-1 language code. + See https://g.co/cloud/translate/v2/translate-reference#supported_languages + """ + translate_client = translate.Client(api_key=api_key) + + # Text can also be a sequence of strings, in which case this method + # will return a sequence of results for each text. + result = translate_client.translate( + text, + target_language=target) + + print(u'Text: {}'.format(result['input'])) + print(u'Translation: {}'.format(result['translatedText'])) + print(u'Detected source language: {}'.format( + result['detectedSourceLanguage'])) + + if __name__ == '__main__': parser = argparse.ArgumentParser( description=__doc__, @@ -106,7 +128,6 @@ def translate_text(api_key, target, text, model=translate.BASE): 'translate-text', help=translate_text.__doc__) translate_text_parser.add_argument('target') translate_text_parser.add_argument('text') - translate_text_parser.add_argument('model') args = parser.parse_args() @@ -117,4 +138,4 @@ def translate_text(api_key, target, text, model=translate.BASE): elif args.command == 'list-languages-with-target': list_languages_with_target(args.api_key, args.target) elif args.command == 'translate-text': - translate_text(args.api_key, args.target, args.text, args.model) + translate_text(args.api_key, args.target, args.text) From 38d82a3c4c99fdfa51ee7efe8510810b0930f7be Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 17 Nov 2016 11:29:56 -0800 Subject: [PATCH 008/270] Translate API no longer requires an API key. [(#659)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/659) --- translation/samples/snippets/quickstart.py | 5 +--- .../samples/snippets/quickstart_test.py | 19 +----------- translation/samples/snippets/snippets.py | 29 +++++++++---------- translation/samples/snippets/snippets_test.py | 8 ++--- 4 files changed, 20 insertions(+), 41 deletions(-) diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index 71e0b0b3109..c84ea892eda 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -20,11 +20,8 @@ def run_quickstart(): # Imports the Google Cloud client library from google.cloud import translate - # Your Translate API key - api_key = 'YOUR_API_KEY' - # Instantiates a client - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() # The text to translate text = u'Hello, world!' diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py index 5914cb5a9dc..7ef892092f2 100644 --- a/translation/samples/snippets/quickstart_test.py +++ b/translation/samples/snippets/quickstart_test.py @@ -13,28 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -from google.cloud import translate -import mock -import pytest import quickstart -@pytest.fixture -def mock_client(cloud_config): - original_client_ctor = translate.Client - - def new_client_ctor(api_key): - # Strip api_key argument and replace with our api key. - return original_client_ctor(cloud_config.api_key) - - with mock.patch( - 'google.cloud.translate.Client', - side_effect=new_client_ctor): - yield - - -def test_quickstart(mock_client, capsys): +def test_quickstart(capsys): quickstart.run_quickstart() out, _ = capsys.readouterr() assert u'Привет мир!' in out diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 46a2c335154..1288ae9fc8c 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -26,9 +26,9 @@ from google.cloud import translate -def detect_language(api_key, text): +def detect_language(text): """Detects the text's language.""" - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. @@ -39,9 +39,9 @@ def detect_language(api_key, text): print('Language: {}'.format(result['language'])) -def list_languages(api_key): +def list_languages(): """Lists all available languages.""" - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() results = translate_client.get_languages() @@ -49,13 +49,13 @@ def list_languages(api_key): print(u'{name} ({language})'.format(**language)) -def list_languages_with_target(api_key, target): +def list_languages_with_target(target): """Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() results = translate_client.get_languages(target_language=target) @@ -63,7 +63,7 @@ def list_languages_with_target(api_key, target): print(u'{name} ({language})'.format(**language)) -def translate_text_with_model(api_key, target, text, model=translate.BASE): +def translate_text_with_model(target, text, model=translate.BASE): """Translates text into the target language. Make sure your project is whitelisted. @@ -71,7 +71,7 @@ def translate_text_with_model(api_key, target, text, model=translate.BASE): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. @@ -86,13 +86,13 @@ def translate_text_with_model(api_key, target, text, model=translate.BASE): result['detectedSourceLanguage'])) -def translate_text(api_key, target, text): +def translate_text(target, text): """Translates text into the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - translate_client = translate.Client(api_key=api_key) + translate_client = translate.Client() # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. @@ -110,7 +110,6 @@ def translate_text(api_key, target, text): parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - parser.add_argument('api_key', help='Your API key.') subparsers = parser.add_subparsers(dest='command') detect_langage_parser = subparsers.add_parser( @@ -132,10 +131,10 @@ def translate_text(api_key, target, text): args = parser.parse_args() if args.command == 'detect-language': - detect_language(args.api_key, args.text) + detect_language(args.text) elif args.command == 'list-languages': - list_languages(args.api_key) + list_languages() elif args.command == 'list-languages-with-target': - list_languages_with_target(args.api_key, args.target) + list_languages_with_target(args.target) elif args.command == 'translate-text': - translate_text(args.api_key, args.target, args.text) + translate_text(args.target, args.text) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 79843233138..434449f7cc7 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -19,24 +19,24 @@ def test_detect_language(cloud_config, capsys): - snippets.detect_language(cloud_config.api_key, 'Hæ sæta') + snippets.detect_language('Hæ sæta') out, _ = capsys.readouterr() assert 'is' in out def test_list_languages(cloud_config, capsys): - snippets.list_languages(cloud_config.api_key) + snippets.list_languages() out, _ = capsys.readouterr() assert 'Icelandic (is)' in out def test_list_languages_with_target(cloud_config, capsys): - snippets.list_languages_with_target(cloud_config.api_key, 'is') + snippets.list_languages_with_target('is') out, _ = capsys.readouterr() assert u'íslenska (is)' in out def test_translate_text(cloud_config, capsys): - snippets.translate_text(cloud_config.api_key, 'is', 'Hello world') + snippets.translate_text('is', 'Hello world') out, _ = capsys.readouterr() assert u'Halló heimur' in out From 33a7bf93d2e9e6c36f5b24d846467ed2fb353b40 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 13 Dec 2016 09:54:02 -0800 Subject: [PATCH 009/270] Auto-update dependencies. [(#715)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/715) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ba0605c8fdc..db8f55baad3 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.21.0 +google-cloud-translate==0.22.0 From 838b419fa2fbf5e2851c70acf49a68ed76d662ce Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 6 Jan 2017 09:28:45 -0800 Subject: [PATCH 010/270] Changes default model to premium [(#749)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/749) --- translation/samples/snippets/snippets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 1288ae9fc8c..bd380b72419 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -63,7 +63,7 @@ def list_languages_with_target(target): print(u'{name} ({language})'.format(**language)) -def translate_text_with_model(target, text, model=translate.BASE): +def translate_text_with_model(target, text, model=translate.NMT): """Translates text into the target language. Make sure your project is whitelisted. From c7b4a5dce96c7ed3bb5d2bce315723442740d531 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 13 Feb 2017 16:19:55 -0800 Subject: [PATCH 011/270] Updates readme template to show credential auth instead of api key. [(#802)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/802) --- translation/samples/snippets/README.rst | 37 +++++++++++++++------- translation/samples/snippets/README.rst.in | 4 +-- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index fc4e87d0522..05067d64c17 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -17,17 +17,34 @@ Setup Authentication ++++++++++++++ -Authentication for this service is done via an `API Key`_. To obtain an API -Key: +Authentication is typically done through `Application Default Credentials`_, +which means you do not have to change the code to authenticate as long as +your environment has credentials. You have a few options for setting up +authentication: -1. Open the `Cloud Platform Console`_ -2. Make sure that billing is enabled for your project. -3. From the **Credentials** page, create a new **API Key** or use an existing - one for your project. +#. When running locally, use the `Google Cloud SDK`_ -.. _API Key: - https://developers.google.com/api-client-library/python/guide/aaa_apikeys -.. _Cloud Console: https://console.cloud.google.com/project?_ + .. code-block:: bash + + gcloud beta auth application-default login + + +#. When running on App Engine or Compute Engine, credentials are already + set-up. However, you may need to configure your Compute Engine instance + with `additional scopes`_. + +#. You can create a `Service Account key file`_. This file can be used to + authenticate to Google Cloud Platform services from any environment. To use + the file, set the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable to + the path to the key file, for example: + + .. code-block:: bash + + export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json + +.. _Application Default Credentials: https://cloud.google.com/docs/authentication#getting_credentials_for_server-centric_flow +.. _additional scopes: https://cloud.google.com/compute/docs/authentication#using +.. _Service Account key file: https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount Install Dependencies ++++++++++++++++++++ @@ -77,7 +94,6 @@ To run this sample: $ python snippets.py usage: snippets.py [-h] - api_key {detect-language,list-languages,list-languages-with-target,translate-text} ... @@ -88,7 +104,6 @@ To run this sample: https://cloud.google.com/translate/docs. positional arguments: - api_key Your API key. {detect-language,list-languages,list-languages-with-target,translate-text} detect-language Detects the text's language. list-languages Lists all available languages. diff --git a/translation/samples/snippets/README.rst.in b/translation/samples/snippets/README.rst.in index 6ac89da13ac..0fe2a339943 100644 --- a/translation/samples/snippets/README.rst.in +++ b/translation/samples/snippets/README.rst.in @@ -4,12 +4,12 @@ product: name: Google Translate API short_name: Translate API url: https://cloud.google.com/translate/docs - description: > + description: > With `Google Translate API`, you can dynamically translate text between thousands of language pairs. setup: -- auth_api_key +- auth - install_deps samples: From b1a0e6fd0e85bca76dc2003e9239ab958c3c9484 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Tue, 7 Mar 2017 14:28:45 -0800 Subject: [PATCH 012/270] Updates translate version to match speech and language. [(#843)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/843) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index db8f55baad3..7c46982b09b 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.22.0 +google-cloud-translate==0.23.0 From f357595ca482e99514937d7d43f91dd4b88cd2b4 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Tue, 4 Apr 2017 14:43:52 -0700 Subject: [PATCH 013/270] Translate update [(#886)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/886) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 7c46982b09b..41d24f2a145 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.23.0 +google-cloud-translate==0.24.0 From 35cdaffe91196cc5733889e47c3852e6aaedc5cf Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Tue, 4 Apr 2017 16:08:30 -0700 Subject: [PATCH 014/270] Remove cloud config fixture [(#887)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/887) * Remove cloud config fixture * Fix client secrets * Fix bigtable instance --- translation/samples/snippets/snippets_test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 434449f7cc7..620fffbda82 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -18,25 +18,25 @@ import snippets -def test_detect_language(cloud_config, capsys): +def test_detect_language(capsys): snippets.detect_language('Hæ sæta') out, _ = capsys.readouterr() assert 'is' in out -def test_list_languages(cloud_config, capsys): +def test_list_languages(capsys): snippets.list_languages() out, _ = capsys.readouterr() assert 'Icelandic (is)' in out -def test_list_languages_with_target(cloud_config, capsys): +def test_list_languages_with_target(capsys): snippets.list_languages_with_target('is') out, _ = capsys.readouterr() assert u'íslenska (is)' in out -def test_translate_text(cloud_config, capsys): +def test_translate_text(capsys): snippets.translate_text('is', 'Hello world') out, _ = capsys.readouterr() assert u'Halló heimur' in out From 118203f171f9da1c98d006f8ab70a248db66b754 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 15:34:32 -0700 Subject: [PATCH 015/270] Unicode for translation --- translation/samples/snippets/snippets.py | 6 +++++- translation/samples/snippets/snippets_test.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index bd380b72419..5babce8c6d7 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -1,4 +1,6 @@ #!/usr/bin/env python +# -*- coding: iso-8859-15 -*- + # Copyright 2016 Google, Inc. # @@ -22,6 +24,8 @@ """ import argparse +import os +import sys from google.cloud import translate @@ -97,7 +101,7 @@ def translate_text(target, text): # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.translate( - text, + unicode(text, 'utf8'), target_language=target) print(u'Text: {}'.format(result['input'])) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 620fffbda82..138be4f00b0 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -40,3 +40,7 @@ def test_translate_text(capsys): snippets.translate_text('is', 'Hello world') out, _ = capsys.readouterr() assert u'Halló heimur' in out + +def test_translate_utf8(capsys): + text = '나는 파인애플을 좋아한다.' + snippets.translate_text('en', text) From 6232076bab9a859bb78b35e23c89f5244a794955 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 15:40:00 -0700 Subject: [PATCH 016/270] Adds check for translated text --- translation/samples/snippets/snippets_test.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 138be4f00b0..6235fd04e2c 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -44,3 +44,5 @@ def test_translate_text(capsys): def test_translate_utf8(capsys): text = '나는 파인애플을 좋아한다.' snippets.translate_text('en', text) + out, _ = capsys.readouterr() + assert 'I like pineapple.' in out From 7b7acd9071ba1224f22d868aea79a05a083b4ab8 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 15:34:32 -0700 Subject: [PATCH 017/270] Unicode for translation --- translation/samples/snippets/snippets.py | 3 +-- translation/samples/snippets/snippets_test.py | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 5babce8c6d7..235d202c6e4 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -24,8 +24,7 @@ """ import argparse -import os -import sys + from google.cloud import translate diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 6235fd04e2c..fd53bbc5189 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -41,6 +41,7 @@ def test_translate_text(capsys): out, _ = capsys.readouterr() assert u'Halló heimur' in out + def test_translate_utf8(capsys): text = '나는 파인애플을 좋아한다.' snippets.translate_text('en', text) From 15341f7dbaf1af132bea38e8c8bb8a4b4bfe9e4a Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 15:34:32 -0700 Subject: [PATCH 018/270] Unicode for translation --- translation/samples/snippets/snippets.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 235d202c6e4..63da851ab21 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -24,6 +24,8 @@ """ import argparse +import os +import sys from google.cloud import translate From 9736a32cb12a8cb7d88f278082130d12f6207840 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 15:34:32 -0700 Subject: [PATCH 019/270] Unicode for translation --- translation/samples/snippets/snippets.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 63da851ab21..6b39afe91ef 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -24,9 +24,6 @@ """ import argparse -import os -import sys - from google.cloud import translate From f071e53004566074f6d8fe897f3e9fb7da337c03 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Fri, 14 Apr 2017 16:13:49 -0700 Subject: [PATCH 020/270] missing newline --- translation/samples/snippets/snippets.py | 1 + 1 file changed, 1 insertion(+) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 6b39afe91ef..235d202c6e4 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -25,6 +25,7 @@ import argparse + from google.cloud import translate From feffa882ecd87a127708ade4b55ddde348b0f914 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 17 Apr 2017 14:03:04 -0700 Subject: [PATCH 021/270] Adds six for 2/3 compatibility --- translation/samples/snippets/snippets.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 235d202c6e4..1901c0588a1 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -27,6 +27,7 @@ from google.cloud import translate +from six import python_2_unicode_compatible def detect_language(text): @@ -89,6 +90,7 @@ def translate_text_with_model(target, text, model=translate.NMT): result['detectedSourceLanguage'])) +@python_2_unicode_compatible def translate_text(target, text): """Translates text into the target language. From 4d1036661324c3e93a7a5ca36f209abc06bf86d9 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 17 Apr 2017 14:42:22 -0700 Subject: [PATCH 022/270] Changes encoding style. --- translation/samples/snippets/snippets.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 1901c0588a1..139b717a0fe 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# -*- coding: iso-8859-15 -*- - # Copyright 2016 Google, Inc. # @@ -27,7 +25,6 @@ from google.cloud import translate -from six import python_2_unicode_compatible def detect_language(text): @@ -80,7 +77,7 @@ def translate_text_with_model(target, text, model=translate.NMT): # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.translate( - text, + text.decode('utf-8'), target_language=target, model=model) @@ -90,7 +87,6 @@ def translate_text_with_model(target, text, model=translate.NMT): result['detectedSourceLanguage'])) -@python_2_unicode_compatible def translate_text(target, text): """Translates text into the target language. @@ -102,7 +98,7 @@ def translate_text(target, text): # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.translate( - unicode(text, 'utf8'), + text.decode('utf-8'), target_language=target) print(u'Text: {}'.format(result['input'])) From 11e04b97583cb38351ebac73b7a97fcbde545668 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Tue, 18 Apr 2017 14:40:38 -0700 Subject: [PATCH 023/270] Fix unicode --- translation/samples/snippets/snippets.py | 15 +++++++++------ translation/samples/snippets/snippets_test.py | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 139b717a0fe..91aef63d5c8 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -23,8 +23,8 @@ import argparse - from google.cloud import translate +import six def detect_language(text): @@ -74,12 +74,13 @@ def translate_text_with_model(target, text, model=translate.NMT): """ translate_client = translate.Client() + if isinstance(text, six.binary_type): + text = text.decode('utf-8') + # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.translate( - text.decode('utf-8'), - target_language=target, - model=model) + text, target_language=target, model=model) print(u'Text: {}'.format(result['input'])) print(u'Translation: {}'.format(result['translatedText'])) @@ -95,11 +96,13 @@ def translate_text(target, text): """ translate_client = translate.Client() + if isinstance(text, six.binary_type): + text = text.decode('utf-8') + # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.translate( - text.decode('utf-8'), - target_language=target) + text, target_language=target) print(u'Text: {}'.format(result['input'])) print(u'Translation: {}'.format(result['translatedText'])) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index fd53bbc5189..153ee104a21 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -43,7 +43,7 @@ def test_translate_text(capsys): def test_translate_utf8(capsys): - text = '나는 파인애플을 좋아한다.' + text = u'나는 파인애플을 좋아한다.' snippets.translate_text('en', text) out, _ = capsys.readouterr() - assert 'I like pineapple.' in out + assert u'I like pineapple.' in out From eb8193f6c6cde4aada1e7ef7dc904c278ce9c931 Mon Sep 17 00:00:00 2001 From: florencep Date: Thu, 20 Apr 2017 09:48:17 -0700 Subject: [PATCH 024/270] renaming of the product to Google Translation API [(#910)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/910) --- translation/samples/snippets/README.rst.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/README.rst.in b/translation/samples/snippets/README.rst.in index 0fe2a339943..c6b27a36b4a 100644 --- a/translation/samples/snippets/README.rst.in +++ b/translation/samples/snippets/README.rst.in @@ -1,11 +1,11 @@ # This file is used to generate README.rst product: - name: Google Translate API - short_name: Translate API + name: Google Translation API + short_name: Translation API url: https://cloud.google.com/translate/docs description: > - With `Google Translate API`, you can dynamically translate text between + With `Google Translation API`, you can dynamically translate text between thousands of language pairs. setup: From 33486ac3cb88b5226305d1f5729db9dd633f781c Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Thu, 20 Apr 2017 10:54:19 -0700 Subject: [PATCH 025/270] Update translate readme --- translation/samples/snippets/README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index 05067d64c17..db653e3b8ab 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -1,14 +1,14 @@ .. This file is automatically generated. Do not edit this file directly. -Google Translate API Python Samples +Google Translation API Python Samples =============================================================================== -This directory contains samples for Google Translate API. With `Google Translate API`, you can dynamically translate text between thousands of language pairs. +This directory contains samples for Google Translation API. With `Google Translation API`, you can dynamically translate text between thousands of language pairs. -.. _Google Translate API: https://cloud.google.com/translate/docs +.. _Google Translation API: https://cloud.google.com/translate/docs Setup ------------------------------------------------------------------------------- From 9c7ebc6f179b82b688a608daa755a0b3173cb346 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Thu, 27 Apr 2017 09:54:41 -0700 Subject: [PATCH 026/270] Re-generate all readmes --- translation/samples/snippets/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index db653e3b8ab..97480ee6ade 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -26,7 +26,7 @@ authentication: .. code-block:: bash - gcloud beta auth application-default login + gcloud auth application-default login #. When running on App Engine or Compute Engine, credentials are already From cbe8a446847559a4dfd1ebb3b9500d5f12e6d7c1 Mon Sep 17 00:00:00 2001 From: Bill Prin Date: Tue, 23 May 2017 17:01:25 -0700 Subject: [PATCH 027/270] Fix README rst links [(#962)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/962) * Fix README rst links * Update all READMEs --- translation/samples/snippets/README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index 97480ee6ade..fe805724300 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -130,11 +130,11 @@ This sample uses the `Google Cloud Client Library for Python`_. You can read the documentation for more details on API usage and use GitHub to `browse the source`_ and `report issues`_. -.. Google Cloud Client Library for Python: +.. _Google Cloud Client Library for Python: https://googlecloudplatform.github.io/google-cloud-python/ -.. browse the source: +.. _browse the source: https://github.com/GoogleCloudPlatform/google-cloud-python -.. report issues: +.. _report issues: https://github.com/GoogleCloudPlatform/google-cloud-python/issues From f5ae2ebe87c12d1e796fcc22df424f0b7a8fbbed Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 27 Jun 2017 12:41:15 -0700 Subject: [PATCH 028/270] Auto-update dependencies. [(#1004)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1004) * Auto-update dependencies. * Fix natural language samples * Fix pubsub iam samples * Fix language samples * Fix bigquery samples --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 41d24f2a145..867477032bd 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.24.0 +google-cloud-translate==0.25.0 From 6069a514f23680cd4714066e86ef2e6b2d73d6cf Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 7 Aug 2017 10:04:55 -0700 Subject: [PATCH 029/270] Auto-update dependencies. [(#1055)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1055) * Auto-update dependencies. * Explicitly use latest bigtable client Change-Id: Id71e9e768f020730e4ca9514a0d7ebaa794e7d9e * Revert language update for now Change-Id: I8867f154e9a5aae00d0047c9caf880e5e8f50c53 * Remove pdb. smh Change-Id: I5ff905fadc026eebbcd45512d4e76e003e3b2b43 --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 867477032bd..c0e0d9c666d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==0.25.0 +google-cloud-translate==1.1.0 From 12b5d236756dc8ef77fab5f46204f05c03a6aafa Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 29 Aug 2017 16:53:02 -0700 Subject: [PATCH 030/270] Auto-update dependencies. [(#1093)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1093) * Auto-update dependencies. * Fix storage notification poll sample Change-Id: I6afbc79d15e050531555e4c8e51066996717a0f3 * Fix spanner samples Change-Id: I40069222c60d57e8f3d3878167591af9130895cb * Drop coverage because it's not useful Change-Id: Iae399a7083d7866c3c7b9162d0de244fbff8b522 * Try again to fix flaky logging test Change-Id: I6225c074701970c17c426677ef1935bb6d7e36b4 --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index c0e0d9c666d..8715cc0eec2 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==1.1.0 +google-cloud-translate==1.2.0 From dd1c0d46ec4e7c95cdb1b3700547e30c297f6711 Mon Sep 17 00:00:00 2001 From: Jon Wayne Parrott Date: Mon, 18 Sep 2017 11:04:05 -0700 Subject: [PATCH 031/270] Update all generated readme auth instructions [(#1121)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1121) Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2 --- translation/samples/snippets/README.rst | 32 ++++--------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index fe805724300..23e89f04e3a 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -17,34 +17,12 @@ Setup Authentication ++++++++++++++ -Authentication is typically done through `Application Default Credentials`_, -which means you do not have to change the code to authenticate as long as -your environment has credentials. You have a few options for setting up -authentication: +This sample requires you to have authentication setup. Refer to the +`Authentication Getting Started Guide`_ for instructions on setting up +credentials for applications. -#. When running locally, use the `Google Cloud SDK`_ - - .. code-block:: bash - - gcloud auth application-default login - - -#. When running on App Engine or Compute Engine, credentials are already - set-up. However, you may need to configure your Compute Engine instance - with `additional scopes`_. - -#. You can create a `Service Account key file`_. This file can be used to - authenticate to Google Cloud Platform services from any environment. To use - the file, set the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable to - the path to the key file, for example: - - .. code-block:: bash - - export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json - -.. _Application Default Credentials: https://cloud.google.com/docs/authentication#getting_credentials_for_server-centric_flow -.. _additional scopes: https://cloud.google.com/compute/docs/authentication#using -.. _Service Account key file: https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount +.. _Authentication Getting Started Guide: + https://cloud.google.com/docs/authentication/getting-started Install Dependencies ++++++++++++++++++++ From 7b4c5884f2ec144a2fc4b00b4acf3d1117a9722c Mon Sep 17 00:00:00 2001 From: michaelawyu Date: Thu, 12 Oct 2017 10:16:11 -0700 Subject: [PATCH 032/270] Added Link to Python Setup Guide [(#1158)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1158) * Update Readme.rst to add Python setup guide As requested in b/64770713. This sample is linked in documentation https://cloud.google.com/bigtable/docs/scaling, and it would make more sense to update the guide here than in the documentation. * Update README.rst * Update README.rst * Update README.rst * Update README.rst * Update README.rst * Update install_deps.tmpl.rst * Updated readmegen scripts and re-generated related README files * Fixed the lint error --- translation/samples/snippets/README.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index 23e89f04e3a..b4582262b3a 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -27,7 +27,10 @@ credentials for applications. Install Dependencies ++++++++++++++++++++ -#. Install `pip`_ and `virtualenv`_ if you do not already have them. +#. Install `pip`_ and `virtualenv`_ if you do not already have them. You may want to refer to the `Python Development Environment Setup Guide`_ for Google Cloud Platform for instructions. + + .. _Python Development Environment Setup Guide: + https://cloud.google.com/python/setup #. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. From 7bbfa6b77c46700d421b764b77646affc8ecb099 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Wed, 1 Nov 2017 12:30:10 -0700 Subject: [PATCH 033/270] Auto-update dependencies. [(#1186)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1186) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8715cc0eec2..8baaf5bdef8 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==1.2.0 +google-cloud-translate==1.3.0 From 7ec7aa3f369bdd6a745cdc82bfc43c99aed5ceb7 Mon Sep 17 00:00:00 2001 From: michaelawyu Date: Fri, 3 Nov 2017 12:48:24 -0700 Subject: [PATCH 034/270] Fixed failed tests on Kokoro (Spanner + Translate) [(#1192)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1192) * Fixed failed tests on Kokoro (Spanner + Translate) * Update quickstart_test.py --- translation/samples/snippets/snippets_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 153ee104a21..5123576698a 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -46,4 +46,4 @@ def test_translate_utf8(capsys): text = u'나는 파인애플을 좋아한다.' snippets.translate_text('en', text) out, _ = capsys.readouterr() - assert u'I like pineapple.' in out + assert u'I like pineapples.' in out From 44b5ead74226f05cfb0eb89b729b5ff68bed8851 Mon Sep 17 00:00:00 2001 From: michaelawyu Date: Thu, 7 Dec 2017 10:34:29 -0800 Subject: [PATCH 035/270] Added "Open in Cloud Shell" buttons to README files [(#1254)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1254) --- translation/samples/snippets/README.rst | 21 +++++++++++++++++---- translation/samples/snippets/README.rst.in | 2 ++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index b4582262b3a..ae63d9105c2 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -3,6 +3,10 @@ Google Translation API Python Samples =============================================================================== +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/README.rst + + This directory contains samples for Google Translation API. With `Google Translation API`, you can dynamically translate text between thousands of language pairs. @@ -54,6 +58,10 @@ Samples Quickstart +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/quickstart.py;translate/cloud-client/README.rst + + To run this sample: @@ -66,6 +74,10 @@ To run this sample: Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/snippets.py;translate/cloud-client/README.rst + + To run this sample: @@ -77,13 +89,13 @@ To run this sample: usage: snippets.py [-h] {detect-language,list-languages,list-languages-with-target,translate-text} ... - + This application demonstrates how to perform basic operations with the Google Cloud Translate API - + For more information, the documentation at https://cloud.google.com/translate/docs. - + positional arguments: {detect-language,list-languages,list-languages-with-target,translate-text} detect-language Detects the text's language. @@ -97,13 +109,14 @@ To run this sample: be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate- reference#supported_languages - + optional arguments: -h, --help show this help message and exit + The client library ------------------------------------------------------------------------------- diff --git a/translation/samples/snippets/README.rst.in b/translation/samples/snippets/README.rst.in index c6b27a36b4a..a2483218cc4 100644 --- a/translation/samples/snippets/README.rst.in +++ b/translation/samples/snippets/README.rst.in @@ -20,3 +20,5 @@ samples: show_help: true cloud_client_library: true + +folder: translate/cloud-client \ No newline at end of file From 94a75f04320d4c244aef9e79a54fe4c56c750c46 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 5 Mar 2018 12:28:55 -0800 Subject: [PATCH 036/270] Auto-update dependencies. [(#1377)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1377) * Auto-update dependencies. * Update requirements.txt --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8baaf5bdef8..e0c34b40b96 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==1.3.0 +google-cloud-translate==1.3.1 From de569d7d2dab42c87c742f39bed259c2e9a6198e Mon Sep 17 00:00:00 2001 From: chenyumic Date: Fri, 6 Apr 2018 22:57:36 -0700 Subject: [PATCH 037/270] Regenerate the README files and fix the Open in Cloud Shell link for some samples [(#1441)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1441) --- translation/samples/snippets/README.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index ae63d9105c2..60018b25d7b 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -12,7 +12,7 @@ This directory contains samples for Google Translation API. With `Google Transla -.. _Google Translation API: https://cloud.google.com/translate/docs +.. _Google Translation API: https://cloud.google.com/translate/docs Setup ------------------------------------------------------------------------------- @@ -59,7 +59,7 @@ Quickstart +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. image:: https://gstatic.com/cloudssh/images/open-btn.png - :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/quickstart.py;translate/cloud-client/README.rst + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/quickstart.py,translate/cloud-client/README.rst @@ -75,7 +75,7 @@ Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. image:: https://gstatic.com/cloudssh/images/open-btn.png - :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/snippets.py;translate/cloud-client/README.rst + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/snippets.py,translate/cloud-client/README.rst @@ -103,8 +103,9 @@ To run this sample: list-languages-with-target Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 - language code. See https://g.co/cloud/translate/v2 - /translate-reference#supported_languages + language code. See + https://g.co/cloud/translate/v2/translate- + reference#supported_languages translate-text Translates text into the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate- From 19b9f908f4a6ed4383904499b02a8a5cfc252c05 Mon Sep 17 00:00:00 2001 From: Frank Natividad Date: Thu, 26 Apr 2018 10:26:41 -0700 Subject: [PATCH 038/270] Update READMEs to fix numbering and add git clone [(#1464)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1464) --- translation/samples/snippets/README.rst | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index 60018b25d7b..4935e3c8b06 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -31,10 +31,16 @@ credentials for applications. Install Dependencies ++++++++++++++++++++ +#. Clone python-docs-samples and change directory to the sample directory you want to use. + + .. code-block:: bash + + $ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git + #. Install `pip`_ and `virtualenv`_ if you do not already have them. You may want to refer to the `Python Development Environment Setup Guide`_ for Google Cloud Platform for instructions. - .. _Python Development Environment Setup Guide: - https://cloud.google.com/python/setup + .. _Python Development Environment Setup Guide: + https://cloud.google.com/python/setup #. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. @@ -103,9 +109,8 @@ To run this sample: list-languages-with-target Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 - language code. See - https://g.co/cloud/translate/v2/translate- - reference#supported_languages + language code. See https://g.co/cloud/translate/v2 + /translate-reference#supported_languages translate-text Translates text into the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate- From 05292a43f18d8f337b3313a222f1ea770819d5ad Mon Sep 17 00:00:00 2001 From: Averi Kitsch Date: Mon, 21 May 2018 11:25:34 -0700 Subject: [PATCH 039/270] Add translate region tags [(#1488)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1488) * Add region tags * Added end region tags * Linting errors fixed --- translation/samples/snippets/snippets.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 91aef63d5c8..b5719d23212 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -28,6 +28,7 @@ def detect_language(text): + # [START translate_detect_language] """Detects the text's language.""" translate_client = translate.Client() @@ -38,9 +39,11 @@ def detect_language(text): print('Text: {}'.format(text)) print('Confidence: {}'.format(result['confidence'])) print('Language: {}'.format(result['language'])) + # [END translate_detect_language] def list_languages(): + # [START translate_list_codes] """Lists all available languages.""" translate_client = translate.Client() @@ -48,9 +51,11 @@ def list_languages(): for language in results: print(u'{name} ({language})'.format(**language)) + # [END translate_list_codes] def list_languages_with_target(target): + # [START translate_list_language_names] """Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 language code. @@ -62,9 +67,11 @@ def list_languages_with_target(target): for language in results: print(u'{name} ({language})'.format(**language)) + # [END translate_list_language_names] def translate_text_with_model(target, text, model=translate.NMT): + # [START translate_text_with_model] """Translates text into the target language. Make sure your project is whitelisted. @@ -86,9 +93,11 @@ def translate_text_with_model(target, text, model=translate.NMT): print(u'Translation: {}'.format(result['translatedText'])) print(u'Detected source language: {}'.format( result['detectedSourceLanguage'])) + # [END translate_text_with_model] def translate_text(target, text): + # [START translate_translate_text] """Translates text into the target language. Target must be an ISO 639-1 language code. @@ -108,6 +117,7 @@ def translate_text(target, text): print(u'Translation: {}'.format(result['translatedText'])) print(u'Detected source language: {}'.format( result['detectedSourceLanguage'])) + # [END translate_translate_text] if __name__ == '__main__': From 7e0d9a3cee1b4a1019d14c3ad8601e64aab5529f Mon Sep 17 00:00:00 2001 From: Charles Engelke Date: Mon, 22 Oct 2018 15:54:25 -0700 Subject: [PATCH 040/270] Include the comma in the translation [(#1787)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1787) --- translation/samples/snippets/quickstart_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py index 7ef892092f2..4018daa060f 100644 --- a/translation/samples/snippets/quickstart_test.py +++ b/translation/samples/snippets/quickstart_test.py @@ -20,4 +20,4 @@ def test_quickstart(capsys): quickstart.run_quickstart() out, _ = capsys.readouterr() - assert u'Привет мир!' in out + assert u'Привет, мир!' in out From 61cbba7c39c81b5f6e7c9d8979563140cd0fd415 Mon Sep 17 00:00:00 2001 From: DPEBot Date: Wed, 6 Feb 2019 12:06:35 -0800 Subject: [PATCH 041/270] Auto-update dependencies. [(#1980)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1980) * Auto-update dependencies. * Update requirements.txt * Update requirements.txt --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index e0c34b40b96..62b23909bf6 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1 @@ -google-cloud-translate==1.3.1 +google-cloud-translate==1.3.3 From a5be14ad22931c0e69ece52a30a592e5f18a359d Mon Sep 17 00:00:00 2001 From: Rebecca Taylor Date: Sat, 6 Apr 2019 11:15:58 -0700 Subject: [PATCH 042/270] Translation v3beta1 samples [(#2084)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2084) * Add in progress beta snippets Change-Id: I2cd8ddc2307a8e40d56ce7e493749dc05c34d164 * Add google-cloud-storage dependency Change-Id: Iff7bc9b2c82b1e829580a3d4ad628087dbeee8be * Non-'global' location required for BatchTranslateText Change-Id: I5198aa6368a088e8f5ee295dc55a5e9e4ca8f494 * Upgrade google-cloud-translate to 1.4.0 1.4.0 includes the new v3beta1 alongside V2 Change-Id: I5adfe78ea7e78d84678db343cd84516e3d05491f * Update Translate samples You can now provide your own glossary ID The tests now run within a randomly created bucket (deleted after each test) Change-Id: I5cb2680cd0e9e43c85932a6a0dc19e6fab5008c5 * pytest.fixture for random test bucket Change-Id: I8e816ed4c95a6235347a29849044b4cab02d40a8 * flake8 spec fixes Change-Id: I4932bcf856a9498b01d9661c90c6b45ee2958ee1 * Added pytest fixture for creating glossary (WIP) Change-Id: Iddb5ecbf0eefb9efd2243dc4bc56b585102e9351 * Add assertions, remove placeholder TODOs Change-Id: If1eb20bca5bfcc87dd0652d5488b2188afa626af --- translation/samples/snippets/README.rst | 37 ++ translation/samples/snippets/README.rst.in | 3 + translation/samples/snippets/beta_snippets.py | 357 ++++++++++++++++++ .../samples/snippets/beta_snippets_test.py | 134 +++++++ translation/samples/snippets/requirements.txt | 3 +- 5 files changed, 533 insertions(+), 1 deletion(-) create mode 100644 translation/samples/snippets/beta_snippets.py create mode 100644 translation/samples/snippets/beta_snippets_test.py diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index 4935e3c8b06..f5065ed4be2 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -121,6 +121,43 @@ To run this sample: +Beta Snippets ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=translate/cloud-client/beta_snippets.py,translate/cloud-client/README.rst + + + + +To run this sample: + +.. code-block:: bash + + $ python beta_snippets.py + + usage: beta_snippets.py [-h] + {translate-text,batch-translate-text,detect-language,list-languages,list-languages-with-target,create-glossary,get-glossary,list-glossaries,delete-glossary,translate-with-glossary} + ... + + positional arguments: + {translate-text,batch-translate-text,detect-language,list-languages,list-languages-with-target,create-glossary,get-glossary,list-glossaries,delete-glossary,translate-with-glossary} + translate-text + batch-translate-text + detect-language + list-languages + list-languages-with-target + create-glossary + get-glossary + list-glossaries + delete-glossary + translate-with-glossary + + optional arguments: + -h, --help show this help message and exit + + + The client library diff --git a/translation/samples/snippets/README.rst.in b/translation/samples/snippets/README.rst.in index a2483218cc4..ba804e74de3 100644 --- a/translation/samples/snippets/README.rst.in +++ b/translation/samples/snippets/README.rst.in @@ -18,6 +18,9 @@ samples: - name: Snippets file: snippets.py show_help: true +- name: Beta Snippets + file: beta_snippets.py + show_help: true cloud_client_library: true diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py new file mode 100644 index 00000000000..7cd94aed59a --- /dev/null +++ b/translation/samples/snippets/beta_snippets.py @@ -0,0 +1,357 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import argparse + + +def translate_text(project_id, text): + # [START translate_translate_text_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = YOUR_PROJECT_ID + # text = 'Text you wish to translate' + location = 'global' + + parent = client.location_path(project_id, location) + + response = client.translate_text( + parent=parent, + contents=[text], + mime_type='text/plain', # mime types: text/plain, text/html + source_language_code='en-US', + target_language_code='sr-Latn') + + for translation in response.translations: + print('Translated Text: {}'.format(translation)) + # [END translate_translate_text_beta] + + +def batch_translate_text(project_id, input_uri, output_uri): + # [START translate_batch_translate_text_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = YOUR_PROJECT_ID + # input_uri = 'gs://cloud-samples-data/translation/text.txt' + # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' + location = 'us-central1' + + parent = client.location_path(project_id, location) + + gcs_source = translate.types.GcsSource(input_uri=input_uri) + + input_config = translate.types.InputConfig( + mime_type='text/plain', # mime types: text/plain, text/html + gcs_source=gcs_source) + + gcs_destination = translate.types.GcsDestination( + output_uri_prefix=output_uri) + + output_config = translate.types.OutputConfig( + gcs_destination=gcs_destination) + + operation = client.batch_translate_text( + parent=parent, + source_language_code='en-US', + target_language_codes=['sr-Latn'], + input_configs=[input_config], + output_config=output_config) + + result = operation.result(90) + + print('Total Characters: {}'.format(result.total_characters)) + print('Translated Characters: {}'.format(result.translated_characters)) + # [END translate_batch_translate_text_beta] + + +def detect_language(project_id, text): + # [START translate_detect_language_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = YOUR_PROJECT_ID + # text = 'Text you wish to translate' + location = 'global' + + parent = client.location_path(project_id, location) + + response = client.detect_language( + parent=parent, + content=text, + mime_type='text/plain') # mime types: text/plain, text/html + + for language in response.languages: + print('Language Code: {} (Confidence: {})'.format( + language.language_code, + language.confidence)) + # [END translate_detect_language_beta] + + +def list_languages(project_id): + # [START translate_list_codes_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = YOUR_PROJECT_ID + location = 'global' + + parent = client.location_path(project_id, location) + + response = client.get_supported_languages(parent) + + print('Supported Languages:') + for language in response.languages: + print('Language Code: {}'.format(language.language_code)) + # [END translate_list_codes_beta] + + +def list_languages_with_target(project_id, display_language_code): + # [START translate_list_language_names_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = YOUR_PROJECT_ID + # display_language_code = 'is' + location = 'global' + + parent = client.location_path(project_id, location) + + response = client.get_supported_languages( + parent=parent, + display_language_code=display_language_code) + + print('Supported Languages:') + for language in response.languages: + print('Language Code: {}'.format(language.language_code)) + print('Display Name: {}\n'.format(language.display_name)) + # [END translate_list_language_names_beta] + + +def create_glossary(project_id, glossary_id): + # [START translate_create_glossary_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = 'YOUR_PROJECT_ID' + # glossary_id = 'glossary-id' + location = 'us-central1' # The location of the glossary + + name = client.glossary_path( + project_id, + location, + glossary_id) + + language_codes_set = translate.types.Glossary.LanguageCodesSet( + language_codes=['en', 'es']) + + gcs_source = translate.types.GcsSource( + input_uri='gs://cloud-samples-data/translation/glossary.csv') + + input_config = translate.types.GlossaryInputConfig( + gcs_source=gcs_source) + + glossary = translate.types.Glossary( + name=name, + language_codes_set=language_codes_set, + input_config=input_config) + + parent = client.location_path(project_id, location) + + operation = client.create_glossary(parent=parent, glossary=glossary) + + result = operation.result(timeout=90) + print('Created: {}'.format(result.name)) + print('Input Uri: {}'.format(result.input_config.gcs_source.input_uri)) + # [END translate_create_glossary_beta] + + +def list_glossaries(project_id): + # [START translate_list_glossary_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = 'YOUR_PROJECT_ID' + location = 'us-central1' # The location of the glossary + + parent = client.location_path(project_id, location) + + for glossary in client.list_glossaries(parent): + print('Name: {}'.format(glossary.name)) + print('Entry count: {}'.format(glossary.entry_count)) + print('Input uri: {}'.format( + glossary.input_config.gcs_source.input_uri)) + for language_code in glossary.language_codes_set.language_codes: + print('Language code: {}'.format(language_code)) + # [END translate_list_glossary_beta] + + +def get_glossary(project_id, glossary_id): + # [START translate_get_glossary_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = 'YOUR_PROJECT_ID' + # glossary_id = 'GLOSSARY_ID' + + parent = client.glossary_path( + project_id, + 'us-central1', # The location of the glossary + glossary_id) + + response = client.get_glossary(parent) + print('Name: {}'.format(response.name)) + print('Language Pair:') + print('\tSource Language Code: {}'.format( + response.language_pair.source_language_code)) + print('\tTarget Language Code: {}'.format( + response.language_pair.target_language_code)) + print('Input Uri: {}'.format( + response.input_config.gcs_source.input_uri)) + # [END translate_get_glossary_beta] + + +def delete_glossary(project_id, glossary_id): + # [START translate_delete_glossary_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = 'YOUR_PROJECT_ID' + # glossary_id = 'GLOSSARY_ID' + + parent = client.glossary_path( + project_id, + 'us-central1', # The location of the glossary + glossary_id) + + operation = client.delete_glossary(parent) + result = operation.result(timeout=90) + print('Deleted: {}'.format(result.name)) + # [END translate_delete_glossary_beta] + + +def translate_text_with_glossary(project_id, glossary_id, text): + # [START translate_translate_text_with_glossary_beta] + from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() + + # project_id = 'YOUR_PROJECT_ID' + # glossary_id = 'GLOSSARY_ID' + # text = 'Text you wish to translate' + location = 'us-central1' # The location of the glossary + + glossary = client.glossary_path( + project_id, + 'us-central1', # The location of the glossary + glossary_id) + + glossary_config = translate.types.TranslateTextGlossaryConfig( + glossary=glossary) + + parent = client.location_path(project_id, location) + + result = client.translate_text( + parent=parent, + contents=[text], + mime_type='text/plain', # mime types: text/plain, text/html + source_language_code='en', + target_language_code='es', + glossary_config=glossary_config) + + for translation in result.translations: + print(translation) + # [END translate_translate_text_with_glossary_beta] + + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + + subparsers = parser.add_subparsers(dest='command') + + translate_text_parser = subparsers.add_parser( + 'translate-text', help=translate_text.__doc__) + translate_text_parser.add_argument('project_id') + translate_text_parser.add_argument('text') + + batch_translate_text_parser = subparsers.add_parser( + 'batch-translate-text', help=translate_text.__doc__) + batch_translate_text_parser.add_argument('project_id') + batch_translate_text_parser.add_argument('gcs_source') + batch_translate_text_parser.add_argument('gcs_destination') + + detect_langage_parser = subparsers.add_parser( + 'detect-language', help=detect_language.__doc__) + detect_langage_parser.add_argument('project_id') + detect_langage_parser.add_argument('text') + + list_languages_parser = subparsers.add_parser( + 'list-languages', help=list_languages.__doc__) + list_languages_parser.add_argument('project_id') + + list_languages_with_target_parser = subparsers.add_parser( + 'list-languages-with-target', help=list_languages_with_target.__doc__) + list_languages_with_target_parser.add_argument('project_id') + list_languages_with_target_parser.add_argument('display_language_code') + + create_glossary_parser = subparsers.add_parser( + 'create-glossary', help=create_glossary.__doc__) + create_glossary_parser.add_argument('project_id') + create_glossary_parser.add_argument('glossary_id') + + get_glossary_parser = subparsers.add_parser( + 'get-glossary', help=get_glossary.__doc__) + get_glossary_parser.add_argument('project_id') + get_glossary_parser.add_argument('glossary_id') + + list_glossary_parser = subparsers.add_parser( + 'list-glossaries', help=list_glossaries.__doc__) + list_glossary_parser.add_argument('project_id') + + delete_glossary_parser = subparsers.add_parser( + 'delete-glossary', help=delete_glossary.__doc__) + delete_glossary_parser.add_argument('project_id') + delete_glossary_parser.add_argument('glossary_id') + + translate_with_glossary_parser = subparsers.add_parser( + 'translate-with-glossary', help=translate_text_with_glossary.__doc__) + translate_with_glossary_parser.add_argument('project_id') + translate_with_glossary_parser.add_argument('glossary_id') + translate_with_glossary_parser.add_argument('text') + + args = parser.parse_args() + + if args.command == 'translate-text': + translate_text(args.project_id, args.text) + elif args.command == 'batch-translate-text': + batch_translate_text( + args.project_id, args.gcs_source, args.gcs_destination) + elif args.command == 'detect-language': + detect_language(args.project_id, args.text) + elif args.command == 'list-languages': + list_languages(args.project_id) + elif args.command == 'list-languages-with-target': + list_languages_with_target(args.project_id, args.display_language_code) + elif args.command == 'create-glossary': + create_glossary(args.project_id, args.glossary_id) + elif args.command == 'get-glossary': + get_glossary(args.project_id, args.glossary_id) + elif args.command == 'list-glossaries': + list_glossaries(args.project_id) + elif args.command == 'delete-glossary': + delete_glossary(args.project_id, args.glossary_id) + elif args.command == 'translate-with-glossary': + translate_text_with_glossary( + args.project_id, args.glossary_id, args.text) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py new file mode 100644 index 00000000000..f7099a27cae --- /dev/null +++ b/translation/samples/snippets/beta_snippets_test.py @@ -0,0 +1,134 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import uuid +import beta_snippets +from google.cloud import storage + +PROJECT_ID = os.environ['GCLOUD_PROJECT'] + + +@pytest.fixture(scope='function') +def bucket(): + """Create a temporary bucket to store annotation output.""" + bucket_name = str(uuid.uuid1()) + storage_client = storage.Client() + bucket = storage_client.create_bucket(bucket_name) + + yield bucket + + bucket.delete(force=True) + + +@pytest.fixture(scope='session') +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) + beta_snippets.create_glossary(PROJECT_ID, glossary_id) + + yield glossary_id + + try: + beta_snippets.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +@pytest.fixture(scope='function') +def unique_glossary_id(): + """Get a unique ID. Attempts to delete glossary with this ID after test.""" + glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) + + yield glossary_id + + try: + beta_snippets.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +def test_translate_text(capsys): + beta_snippets.translate_text(PROJECT_ID, 'Hello world') + out, _ = capsys.readouterr() + assert 'Zdravo svet' in out + + +def test_batch_translate_text(capsys, bucket): + beta_snippets.batch_translate_text( + PROJECT_ID, + 'gs://cloud-samples-data/translation/text.txt', + 'gs://{}/translation/BATCH_TRANSLATION_OUTPUT/'.format(bucket.name)) + out, _ = capsys.readouterr() + assert 'Total Characters: 13' in out + assert 'Translated Characters: 13' in out + + +def test_detect_language(capsys): + beta_snippets.detect_language(PROJECT_ID, 'Hæ sæta') + out, _ = capsys.readouterr() + assert 'is' in out + + +def test_list_languages(capsys): + beta_snippets.list_languages(PROJECT_ID) + out, _ = capsys.readouterr() + assert 'zh-CN' in out + + +def test_list_languages_with_target(capsys): + beta_snippets.list_languages_with_target(PROJECT_ID, 'is') + out, _ = capsys.readouterr() + assert u'Language Code: sq' in out + assert u'Display Name: albanska' in out + + +def test_create_glossary(capsys, unique_glossary_id): + beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) + out, _ = capsys.readouterr() + assert 'Created' in out + assert PROJECT_ID in out + assert unique_glossary_id in out + assert 'gs://cloud-samples-data/translation/glossary.csv' in out + + +def test_get_glossary(capsys, glossary): + beta_snippets.get_glossary(PROJECT_ID, glossary) + out, _ = capsys.readouterr() + assert glossary in out + assert 'gs://cloud-samples-data/translation/glossary.csv' in out + + +def test_list_glossary(capsys, glossary): + beta_snippets.list_glossaries(PROJECT_ID) + out, _ = capsys.readouterr() + assert glossary in out + assert 'gs://cloud-samples-data/translation/glossary.csv' in out + + +def test_translate_text_with_glossary(capsys, glossary): + beta_snippets.translate_text_with_glossary( + PROJECT_ID, glossary, 'directions') + out, _ = capsys.readouterr() + assert 'direcciones' in out + + +def test_delete_glossary(capsys, unique_glossary_id): + beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) + beta_snippets.delete_glossary(PROJECT_ID, unique_glossary_id) + out, _ = capsys.readouterr() + assert PROJECT_ID in out + assert 'us-central1' in out + assert unique_glossary_id in out diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 62b23909bf6..318e3485aa0 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1 +1,2 @@ -google-cloud-translate==1.3.3 +google-cloud-translate==1.4.0 +google-cloud-storage==1.14.0 From fe60e6ee0f1d3950da010a1caa0ad35d2b45b989 Mon Sep 17 00:00:00 2001 From: Elizabeth Crowdus Date: Thu, 8 Aug 2019 15:40:18 -0700 Subject: [PATCH 043/270] fixing translate-with-glossary bug [(#2323)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2323) --- translation/samples/snippets/beta_snippets.py | 2 +- translation/samples/snippets/beta_snippets_test.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 7cd94aed59a..0f8a423c39e 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -269,7 +269,7 @@ def translate_text_with_glossary(project_id, glossary_id, text): target_language_code='es', glossary_config=glossary_config) - for translation in result.translations: + for translation in result.glossary_translations: print(translation) # [END translate_translate_text_with_glossary_beta] diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index f7099a27cae..56534c6cbad 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -120,9 +120,9 @@ def test_list_glossary(capsys, glossary): def test_translate_text_with_glossary(capsys, glossary): beta_snippets.translate_text_with_glossary( - PROJECT_ID, glossary, 'directions') + PROJECT_ID, glossary, 'account') out, _ = capsys.readouterr() - assert 'direcciones' in out + assert 'cuenta' in out def test_delete_glossary(capsys, unique_glossary_id): From 123c2d6564690db19274d9e33c3d71071c3f2e81 Mon Sep 17 00:00:00 2001 From: Elizabeth Crowdus Date: Mon, 12 Aug 2019 08:47:07 -0700 Subject: [PATCH 044/270] Translate beta samples fix [(#2327)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2327) * fixing translate-with-glossary bug * tests passing * reverting to python3 compatibility * snippets test fix --- translation/samples/snippets/beta_snippets_test.py | 2 +- translation/samples/snippets/snippets_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 56534c6cbad..265fb986710 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -63,7 +63,7 @@ def unique_glossary_id(): def test_translate_text(capsys): beta_snippets.translate_text(PROJECT_ID, 'Hello world') out, _ = capsys.readouterr() - assert 'Zdravo svet' in out + assert 'Zdravo svet' in out or 'Pozdrav svijetu' in out def test_batch_translate_text(capsys, bucket): diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 5123576698a..6d63759daee 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -46,4 +46,4 @@ def test_translate_utf8(capsys): text = u'나는 파인애플을 좋아한다.' snippets.translate_text('en', text) out, _ = capsys.readouterr() - assert u'I like pineapples.' in out + assert u'I like pineapple' in out From 0fdc93823d85cd29ecfcda9a536083c06eff73f4 Mon Sep 17 00:00:00 2001 From: Elizabeth Crowdus Date: Mon, 19 Aug 2019 11:19:33 -0700 Subject: [PATCH 045/270] Using glossaries with tts and vision tutorial sample code [(#2325)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2325) * fixing translate-with-glossary bug * initial commit * adding resources * adding more resources * glossary accomodates upper case words * finished hybrid glossaries tutorial sample code * Revert "fixing translate-with-glossary bug" This reverts commit 6a9f7ca3f68239a862106fcbcd9c73649ce36c77. * lint fix for tests. TODO src lint fix * lint * it's the final lint-down * adding README * implementing @nnegrey's feedback * lint * lint * extracting files from cloud-client * lint comment test * fixing comments per @beccasaurus * removing redundant directory * implementing @nnegrey's feedback * lint * lint * handling glossary-already-exists exception * lint * adding ssml functionality * fixing imports per @nnegrey * fixed import comment * more specific exceptions import * removing period from copyright --- .../snippets/hybrid_glossaries/README.rst | 97 +++++++ .../snippets/hybrid_glossaries/README.rst.in | 22 ++ .../hybrid_glossaries/hybrid_tutorial.py | 249 ++++++++++++++++++ .../hybrid_tutorial_tests.py | 122 +++++++++ .../hybrid_glossaries/requirements.txt | 3 + .../resources/bistro_glossary.csv | 13 + .../hybrid_glossaries/resources/example.png | Bin 0 -> 11207 bytes .../resources/expected_standard_text.mp3 | Bin 0 -> 20160 bytes .../resources/non_standard_format.png | Bin 0 -> 138990 bytes .../resources/non_standard_format.txt | 30 +++ .../resources/standard_format.jpeg | Bin 0 -> 2226018 bytes .../resources/standard_format.txt | 2 + 12 files changed, 538 insertions(+) create mode 100644 translation/samples/snippets/hybrid_glossaries/README.rst create mode 100644 translation/samples/snippets/hybrid_glossaries/README.rst.in create mode 100644 translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py create mode 100644 translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py create mode 100644 translation/samples/snippets/hybrid_glossaries/requirements.txt create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/example.png create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.png create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst b/translation/samples/snippets/hybrid_glossaries/README.rst new file mode 100644 index 00000000000..2c9866545dc --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/README.rst @@ -0,0 +1,97 @@ +.. This file is automatically generated. Do not edit this file directly. + +Google Translation API Python Samples +=============================================================================== + +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=/README.rst + + +This directory contains samples for Google Translation API. With `Google Translation API`, you can dynamically translate text between thousands of language pairs. + + + + +.. _Google Translation API: https://cloud.google.com/translate/docs + +Setup +------------------------------------------------------------------------------- + + +Authentication +++++++++++++++ + +This sample requires you to have authentication setup. Refer to the +`Authentication Getting Started Guide`_ for instructions on setting up +credentials for applications. + +.. _Authentication Getting Started Guide: + https://cloud.google.com/docs/authentication/getting-started + +Install Dependencies +++++++++++++++++++++ + +#. Clone python-docs-samples and change directory to the sample directory you want to use. + + .. code-block:: bash + + $ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git + +#. Install `pip`_ and `virtualenv`_ if you do not already have them. You may want to refer to the `Python Development Environment Setup Guide`_ for Google Cloud Platform for instructions. + + .. _Python Development Environment Setup Guide: + https://cloud.google.com/python/setup + +#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. + + .. code-block:: bash + + $ virtualenv env + $ source env/bin/activate + +#. Install the dependencies needed to run the samples. + + .. code-block:: bash + + $ pip install -r requirements.txt + +.. _pip: https://pip.pypa.io/ +.. _virtualenv: https://virtualenv.pypa.io/ + +Samples +------------------------------------------------------------------------------- + +Using glossaries with vision and text-to-speech ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. image:: https://gstatic.com/cloudssh/images/open-btn.png + :target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=/hybrid_tutorial.py,/README.rst + + + + +To run this sample: + +.. code-block:: bash + + $ python hybrid_tutorial.py + + + + +The client library +------------------------------------------------------------------------------- + +This sample uses the `Google Cloud Client Library for Python`_. +You can read the documentation for more details on API usage and use GitHub +to `browse the source`_ and `report issues`_. + +.. _Google Cloud Client Library for Python: + https://googlecloudplatform.github.io/google-cloud-python/ +.. _browse the source: + https://github.com/GoogleCloudPlatform/google-cloud-python +.. _report issues: + https://github.com/GoogleCloudPlatform/google-cloud-python/issues + + +.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst.in b/translation/samples/snippets/hybrid_glossaries/README.rst.in new file mode 100644 index 00000000000..882f3666fc9 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/README.rst.in @@ -0,0 +1,22 @@ + + +# This file is used to generate README.rst + +product: + name: Google Translation API + short_name: Translation API + url: https://cloud.google.com/translate/docs + description: > + With `Google Translation API`, you can dynamically translate text between + thousands of language pairs. + +setup: +- auth +- install_deps + +samples: +- name: Using glossaries with vision and text-to-speech + file: hybrid_tutorial.py + +cloud_client_library: true + diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py new file mode 100644 index 00000000000..be73960f64f --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -0,0 +1,249 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# [START translate_hybrid_imports] +import io +import os +import html + +# Imports the Google Cloud client libraries +from google.api_core.exceptions import AlreadyExists +from google.cloud import translate_v3beta1 as translate +from google.cloud import vision +from google.cloud import texttospeech +# [END translate_hybrid_imports] + + +# [START translate_hybrid_project_id] +# extract GCP project id +PROJECT_ID = os.environ['GCLOUD_PROJECT'] +# [END translate_hybrid_project_id] + + +# [START translate_hybrid_vision] +def pic_to_text(infile): + """Detects text in an image file + + ARGS + infile: path to image file + + RETURNS + String of text detected in image + """ + + # Instantiates a client + client = vision.ImageAnnotatorClient() + + # Opens the input image file + with io.open(infile, 'rb') as image_file: + content = image_file.read() + + image = vision.types.Image(content=content) + + # For dense text, use document_text_detection + # For less dense text, use text_detection + response = client.document_text_detection(image=image) + text = response.full_text_annotation.text + + return text + # [END translate_hybrid_vision] + + +# [START translate_hybrid_create_glossary] +def create_glossary(languages, project_id, glossary_name, glossary_uri): + """Creates a GCP glossary resource + Assumes you've already manually uploaded a glossary to Cloud Storage + + ARGS + languages: list of languages in the glossary + project_id: GCP project id + glossary_name: name you want to give this glossary resource + glossary_uri: the uri of the glossary you uploaded to Cloud Storage + + RETURNS + nothing + """ + + # Instantiates a client + client = translate.TranslationServiceClient() + + # Designates the data center location that you want to use + location = 'us-central1' + + # Set glossary resource name + name = client.glossary_path( + project_id, + location, + glossary_name) + + # Set language codes + language_codes_set = translate.types.Glossary.LanguageCodesSet( + language_codes=languages) + + gcs_source = translate.types.GcsSource( + input_uri=glossary_uri) + + input_config = translate.types.GlossaryInputConfig( + gcs_source=gcs_source) + + # Set glossary resource information + glossary = translate.types.Glossary( + name=name, + language_codes_set=language_codes_set, + input_config=input_config) + + parent = client.location_path(project_id, location) + + # Create glossary resource + # Handle exception for case in which a glossary + # with glossary_name already exists + try: + operation = client.create_glossary(parent=parent, glossary=glossary) + operation.result(timeout=90) + print('Created glossary ' + glossary_name + '.') + except AlreadyExists: + print('The glossary ' + glossary_name + + ' already exists. No new glossary was created.') + # [END translate_hybrid_create_glossary] + + +# [START translate_hybrid_translate] +def translate_text(text, source_language_code, target_language_code, + project_id, glossary_name): + """Translates text to a given language using a glossary + + ARGS + text: String of text to translate + prev_lang: language of input text + new_lang: language of output text + project_id: GCP project id + glossary_name: name you gave your project's glossary + resource when you created it + + RETURNS + String of translated text + """ + + # Instantiates a client + client = translate.TranslationServiceClient() + + # Designates the data center location that you want to use + location = 'us-central1' + + glossary = client.glossary_path( + project_id, + location, + glossary_name) + + glossary_config = translate.types.TranslateTextGlossaryConfig( + glossary=glossary) + + parent = client.location_path(project_id, location) + + result = client.translate_text( + parent=parent, + contents=[text], + mime_type='text/plain', # mime types: text/plain, text/html + source_language_code=source_language_code, + target_language_code=target_language_code, + glossary_config=glossary_config) + + # Extract translated text from API response + return result.glossary_translations[0].translated_text + # [END translate_hybrid_translate] + + +# [START translate_hybrid_tts] +def text_to_speech(text, outfile): + """Converts plaintext to SSML and + generates synthetic audio from SSML + + ARGS + text: text to synthesize + outfile: filename to use to store synthetic audio + + RETURNS + nothing + """ + + # Replace special characters with HTML Ampersand Character Codes + # These Codes prevent the API from confusing text with + # SSML commands + # For example, '<' --> '<' and '&' --> '&' + escaped_lines = html.escape(text) + + # Convert plaintext to SSML in order to wait two seconds + # between each line in synthetic speech + ssml = '{}'.format( + escaped_lines.replace('\n', '\n')) + + # Instantiates a client + client = texttospeech.TextToSpeechClient() + + # Sets the text input to be synthesized + synthesis_input = texttospeech.types.SynthesisInput(ssml=ssml) + + # Builds the voice request, selects the language code ("en-US") and + # the SSML voice gender ("MALE") + voice = texttospeech.types.VoiceSelectionParams( + language_code='en-US', + ssml_gender=texttospeech.enums.SsmlVoiceGender.MALE) + + # Selects the type of audio file to return + audio_config = texttospeech.types.AudioConfig( + audio_encoding=texttospeech.enums.AudioEncoding.MP3) + + # Performs the text-to-speech request on the text input with the selected + # voice parameters and audio file type + response = client.synthesize_speech(synthesis_input, voice, audio_config) + + # Writes the synthetic audio to the output file. + with open(outfile, 'wb') as out: + out.write(response.audio_content) + print('Audio content written to file ' + outfile) + # [END translate_hybrid_tts] + + +# [START translate_hybrid_integration] +def main(): + + # Photo from which to extract text + infile = 'resources/example.png' + # Name of file that will hold synthetic speech + outfile = 'resources/example.mp3' + + # Defines the languages in the glossary + # This list must match the languages in the glossary + # Here, the glossary includes French and English + glossary_langs = ['fr', 'en'] + # Name that will be assigned to your project's glossary resource + glossary_name = 'bistro-glossary' + # uri of .csv file uploaded to Cloud Storage + glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' + + create_glossary(glossary_langs, PROJECT_ID, glossary_name, glossary_uri) + + # photo -> detected text + text_to_translate = pic_to_text(infile) + # detected text -> translated text + text_to_speak = translate_text(text_to_translate, 'fr', 'en', + PROJECT_ID, glossary_name) + # translated text -> synthetic audio + text_to_speech(text_to_speak, outfile) + # [END transalte_hybrid_integration] + + +if __name__ == '__main__': + main() diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py new file mode 100644 index 00000000000..bdd8251ba86 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py @@ -0,0 +1,122 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import filecmp +import os +import sys + +from hybrid_tutorial import pic_to_text +from hybrid_tutorial import create_glossary +from hybrid_tutorial import translate_text +from hybrid_tutorial import text_to_speech + + +PROJECT_ID = os.environ['GCLOUD_PROJECT'] + + +# VISION TESTS + + +def test_vision_standard_format(): + + expected_text = 'This is\na test!\n' + alt_expected_text = 'This\nis\na test!\n' + + # Generate text using Vision API + text = pic_to_text('resources/standard_format.jpeg') + + assert (text == expected_text) or (text == alt_expected_text) + + +def test_vision_non_standard_format(): + + # Generate text + text = pic_to_text('resources/non_standard_format.png') + + # Read expected text + with open('resources/non_standard_format.txt') as f: + expected_text = f.read() + + assert text == expected_text + + +# TRANSLATE TESTS + + +def test_create_and_delete_glossary(): + sys.path.insert(1, '../') + from beta_snippets import delete_glossary + + languages = ['fr', 'en'] + glossary_name = 'test-glossary' + glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' + + # create_glossary will raise an exception if creation fails + create_glossary(languages, PROJECT_ID, glossary_name, + glossary_uri) + + # Delete glossary so that future tests will pass + # delete_glossary will raise an exception if deletion fails + delete_glossary(PROJECT_ID, glossary_name) + + +def test_translate_standard(): + + expected_text = 'Hello' + + text = translate_text('Bonjour', 'fr', 'en', PROJECT_ID, + 'bistro-glossary') + + assert text == expected_text + + +def test_translate_glossary(): + + expected_text = 'I eat goat cheese' + input_text = 'Je mange du chevre' + + text = translate_text(input_text, 'fr', 'en', PROJECT_ID, + 'bistro-glossary') + + assert text == expected_text + + +# TEXT-TO-SPEECH TESTS + + +def test_tts_standard(capsys): + outfile = 'resources/test_standard_text.mp3' + expected_outfile = 'resources/expected_standard_text.mp3' + textfile = 'resources/standard_format.txt' + + with open(textfile, 'r') as f: + text = f.read() + + text_to_speech(text, outfile) + + # Assert audio file generated + assert os.path.isfile(outfile) + + # Assert audio file generated correctly + assert filecmp.cmp(outfile, + expected_outfile, + shallow=True) + + out, err = capsys.readouterr() + + # Assert success message printed + assert 'Audio content written to file ' + outfile in out + + # Delete test file + os.remove(outfile) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt new file mode 100644 index 00000000000..29c4261a7cf --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -0,0 +1,3 @@ +google-cloud-translate==1.4.0 +google-cloud-vision==0.35.2 +google-cloud-texttospeech==0.4.0 \ No newline at end of file diff --git a/translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv b/translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv new file mode 100644 index 00000000000..99b45144552 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv @@ -0,0 +1,13 @@ +fr,en, +chevre,goat cheese, +Chevre,Goat cheese, +chèvre,goat cheese, +Chèvre,Goat cheese, +crème brulée,crème brulée, +Crème brulée,Crème brulée, +Crème Brulée,Crème Brulée, +bouillabaisse,fish stew, +Bouillabaisse,Fish stew, +steak frites,steak with french fries, +Steak frites,Steak with french fries, +Steak Frites,Steak with French Fries, diff --git a/translation/samples/snippets/hybrid_glossaries/resources/example.png b/translation/samples/snippets/hybrid_glossaries/resources/example.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ac25ab053bcf3e5216798ffd87987f093bfec7 GIT binary patch literal 11207 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 z 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 literal 0 HcmV?d00001 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 b/translation/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c731fbd787d3c1fd38d9bce749174d42097d8951 GIT binary patch literal 20160 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�dw@jIA}60uH}U512OV|r3bAc^ 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

  • 2_^)PyNj~VsxIk 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

    Iy%1l023^7IvM_Ot>326JD4 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 literal 0 HcmV?d00001 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt new file mode 100644 index 00000000000..8a6e3c113d1 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt @@ -0,0 +1,30 @@ +MENU +Google Cloud Bistro +SALADS +SANDWICHES +GCP Green Salad +Fresh Greens +$5 +Kubernetes Sandwich +ham and cheese sandwich +$10 +Cloud Caprese +Mozzarella, tomatoes, basil, +balsamic reduction +$8 +Dialogflow Panini +chicken, pesto, and +mozzarella panini +$10 +Firebase Fruit Salad +watermelon, honeydew melon, +and pineapple +Compute Engine Burger +quarter-pound burger with +cheddar cheese +$10 +$6 +BigQuery BLT +bacon, lettuce, and tomato +sandwich +$10 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg b/translation/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f985a540dad9ba06d43afcc60c691c895d5408a3 GIT binary patch literal 2226018 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

    NioS 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 z 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%0DGK{mD*ZsItHU`qRK$q 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 z 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 z‰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

    YjE;x=YVmt-AQiy?b@lvdMQLVh2i8eJW>699;= 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≠DSjMrCY*2vOA4 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�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�-<1^{7qEK^;iX)~Ye?2|JMso1e6&lnSqU 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

    BPX~^m*MfW;vG`FP){~*$rN*PH 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

    G)MW7&p+V8%Z3j#zI*A&`mWJg~la39-scYbdaDT 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

    vwx`Lc-5#5B zq1b8~M9|;v$y{zzf(h@`SC4ofNASmmFC^1N!1IUi8BPIo9fmQGy};>SkEUx^I;Eod zSqjK-5Xgu2$BaN#Xu^Ar+7hJIvKVb^d2E9s8dq5LMXhL%3n);v`N z_A(1ZU9v6%4tPC({dMQs6~>jO>S=tc1d17p`(W-P-?e<};2#%wgTzoKp=_pWL%0PC z$mbiF^}y+h^;=I0Yg)&cAj#YbQmirbKAE8>a^kG6RQQGQyHC4Gtn3&^<(;V#INT0< z^vTa(ZY!(!4X@t#+S2FyS|F)zK3P;`GZE0Pa=hoSU=Azh4-))6xv|&DL=4Z&k&}j3 zCj<_}5za}kvi=NsIes2!GaHE+#O>$0?%b(`$IE~_4to1jZ6QaORCU@yDM`SN=GMQkm`TTVxHwuwl<0pUS>_ z__N}b(e#lBZPQ3j(ZL@n9ea+wX+?GvVv{~x)4m~Uw%YmC^;c$gkg$vci5Q*%RqA^T z0&(@Ps^`_LEi@CTYUHZQzHiJj=*4rjLHw~_DSSSf$5-)mT8^o1Cb)saMu+BIz~DDM z*Qn#(zO3=&+INW(4Kbl)a5-+ApQd^1)~->uz|&h8UkG)rQ^fu~wzr6+P$OnvH#|qi z;ebHiM+4J2HTIW}J}haU3;a6r+bMTtD-cnZBm>vj4oTyt2Q~8-grd-X8tLZx?gH}M z9ihe<)q0;##Cd_>Ug;kIcJEv6F&JCL>%t})$CdCwdUwVYtm)S1Tr01?BF z+9Sq(Kk;paff3uqw3*b(Nh_YaPBP2L&v1F@E8cCi`#J3z{_aiT7j_BmIj@c`{0(d2 zyV$&Kqo|VhG;}+-3+5)$z-02HrfcdygL=KbyWzWQjc_9~C~K-zg22Ce)y*0qlo_@RE+Jh0mtKxq|-0F&r` zQ@|J){&nmgB=~pXdwctxej9X`?PTp$0i!@h4%Hk0dixW{YVqJ@@VsTMTkNS3+%_C4 z5J4W@x*w%zv^`+r=U$goJDlo24pusGy(uM+r^dNlt44nsYwvut7x^&dH7 z-?#v02l>~Tcr)T=o2ht~7<^SDJTiJ&-A02pi?D09amLjgM zIl=>$7#wb4kPqM2UGMF_9TB0G&`>do7kr*9FZ9v z4+jINBRp5A>zLcc&_g0 zZgd;*YN4|EiDY6u2IGOxv8NWgl{D|E={Eiax7MObScr%!q@ICtHy^G(@4b2F#y=l; zf54iJzk+-`u`|UQ$s&mfBRK_Gc?w7YxW`_V*I)RAxJ?O*&jGRQ-+-quiz`CW7Ce;3KnLlJ9-S-JJQ-(cqu4H=8V$$* z9COFgvt`*c&mz;~@b!nAe=7-OJAA&l^{)ukJW;G@nw<9#Hx4nIbulN@8 z#9E{-xrQ*NMmv5&GmI9;-p+W>Lz?q{7JNCZNa%a@HTnVY^WnyaYvHf9Z&NrVu-a9V)8;*WdSjX;wuC)2X!sl9RGvG( zw`ldtSBlYDm1LDjBq<<{c_$4yO~jTkQb>xKshFe!s}3ms>kI{p=I$$#$OR%z_!cfi-(XZ zJ7E?js$;NS1bRQO2>r$=V zq64sQJY?Y4PvVal=(G5F>?I^jq!0iY$3v5xjx*b}IK4+NdqSUp{xe%!>Tjnj{_%M# z+4+V$9{BD$^s1j6zAb-a=zng~uHGBTPGM0V@WpvxK_DuSah&9K2c>!c0D}A*pm>X1 zitM{Si*1jV6HQ@W74oM_y za3qcJ$e{HZ<-N`^Urp;iF4HtUAYJNHDBZwPdH(<-)|6W4HGR&j#M+jJp?Fy8cM?Sz zO#b=#U^zTs9Qq6ndUdZK)4XQBC5JXL;GBWj{*~gM2KbY!S$L{Q?NPqY#~xS!mTYZONd$loCmx+Dxm~O;WbS?4r+5QW zx^%w}kggkP9c#w^A%4vF5$Z{->34F^6xSbUEhaMtNoQ3f*P`Sfe}BGVNObKEC%sjT zqfo8i<^!6{yw$W9(@Zi4C0Lkrv_}772{3g|WQ{&r@5%|*XS*)OD@@@X^ z;n;D&MaQN{$31Cs>S=o|3fhN@wA)QUG!45SHbMDu^{m}zNz?u%OAOjnf=NLHfrGmT z2j(7~E5tu(n@fKM-P+3snz26gw2{e}kV5 zv`-B+#qOjP1h8;REEe`GFo1qxk0PasY>5NyE_}5bL zwafz3!xO%kTaiA+W*Fn;^8pwqsoHUlDJ5c5)sIQ|rQvBc{W(RJ6{5)m5(&-^KykYx zjw?$+j`Gt=N7Q35vZ(vm7{KYlH4dfX8SiuvEw{?SK;AM4J?p?VjdN6*-d#Gvc_o@* zuyW0e_s?!KT2r<4H0DX3iQ-=qTHToqh1Z`MQl%px?QWUf*F656E5QE%u{GcAMLSQF zSh~o^pdZ41x%970_;K*+@59=B*S;W`S(xP`LP$_Eg2eS>^!Dbj>DpGQuir@N69`rC zcYLE6;EdxSR#Hu9jbiS!Ixh}*nKXD(+Dyn}Ty0NY*c^1PER*6+zc-1*4Bl%`BBlo< z@&F1+1E;SQ>6bqbZhqdWr?6ezk~;qYp0$B5?Dwf_n)F(YwbDS*zVcfndz=oZKT4>} zOEM(wqdoS=OpfzQYnI873~}1NO!0q#yh|sDjM^NYcbLj>#|3!jZ%EJN04~eO4k>` z{{Zlc30heeFs$PW2pr%KPe6IadH2D8g(FSzIMk$s+uYB&naY;jKnmE;LRZs|%9q3c z01@uIVX6&5O0BfgeCr`0ljuH!@%?M=y%NsG-$b_6tdutNR!%xA0CA4ocA?v=FHeN^ zO%lq-PO=8$JK1m)0gRvJUoU)8_*Ex}9$WZ#xp_0RbUEk`la8F%8KnGP(XF&by47d% zXGlXyB!?Rb=%>{C3YkUR);!FQQI_iZW{L}cB?k(7k)HmX)xQYazL=BEs>s4LKPK#f zlixKKo8t>x<}YlbStcVJPC+O7SG-B#%MDAzYh!ev%JK7q!6(-pzgj(~E7XMu-0}Sf z#y%On*W%Evwws%fX6ItknEZb*1SK1(rmhVFo!F?mnGpjZSA{MGI_tXNYzE z63Pa&S>t(?cLW4v9B?bWOKQR^opf4kT6?_B4FJPofwd3~?y_f0EZ%e_hJ ztH~I^9=)r^JbB@*e@4~g@eB@r&XR2^Gr;Sd52y02S1F`dL(}|!@MgnUv5x-$L{dy+ z9$Z}HgOEV_a7RpHzP$aDd;=eZ{CA~lQ%mOF+Q%eilniZ=M(@iQ9G`y1zH9JjiEi#R zD{&l|%H_9k**xUq^{=UaXT2KtR`{Eu-U+wbK{GYXd-1(WFkCP30L5|-ZfVK4q3&h- zqxG`#WdIi$$o`zyEewlqGXTFU_pMD-%Vf%^PwvMD=~#bgmhUfiKA5h0k$2Ggs%h-V zrj3=%pLs~(PpxAKR%9X&Lj!`Rf-&n|D{UcAedGF8B(@C%rbir;&MR7S(#+Xdq!LcM zhCs(XsELtf%O9;>okAdBg>h7&1WAQl=e{a!*oL$lb#rcH5tkvyK~bpQLrMb=Q`a=s zw^W?D$0wW$mS$7{D9t4kN_!NpZG>@dgoDq1wV08iW7@7sBO*DIpd5GnsuYBqVJ!Fr z{{RmLhRo!eMJX*9F8%o+=Z|Wh9M2KBY$|kL@u$lJNfM0Y{{TT&*H2h2OjrsJZq-Y1 z#XA`nuN9;v*Dl8x0-?7O$&#y#3cVBxBtCb{xZ}MqHq0Z0a>tzZ6`ZAJ7qM1iVT*JJ zcXOJpD zj26Hrz6Npp=^9go_b8S+Q zkn2+uN>xr3S3iwXx}HMYP+*h#RaxMjSVI{qp!M}W^*zJ136~hh88q*plx(#qymL(G z(*_vn&OaKyqBe_ToR8M4Czmpf%uWtL^r@B}d+l1yLG>JMZ3V+hP6r(Tr(43?+9u&? zj;szK&O6eqnDx5pY_AI>cn|AEJEKcCp`~v; zpkS}v{cD-MN#1iSU}W=J(1~sHwYkSyqcCFao>=pfTJp849kjD5#S6gxU~FV}r(6dzlq`;U%#m&6isgpw>D$}!sUeOt z8)G|jlb`2Yp0VRyA52BN^HpPPjFJE>I*j`sE5iI&`%U;CNWGuJ@?EdmparG@*J`L6 zxnS4?4y)I#b>VWHRwG(bZ{%}J6BVSH^#HlExwm0#I(5$-Dv#Q%BV+Ro-h#g{{6qf$ z1r+#Or7+WU6}r?XWqcUaM;eiknRn}x=sI_=hkhjf)t?oiLfXkkK|H90o}C!_ z*PUyBw6DTl4n?xQ)~%9UIXfIUP>NWRS0H2qwW^JnV`0foizy@qDVpef*qmGMlf@n@yA;DTjFp06kFovp{XW;p(VbX z2b!!Wi3`k#-zfXUjK3;);=Uu$G+XgJYjqp%CqFWum)!nXuSK))7mU0^e3E!eMYz4Y zlM9$)c9p;&WDH|!@snR`l6XOt(Wt7_ypriHk3OdmS8B^cwbg%UAB>(M*C4p@4yP^D zwy0JlIEX5foZ&IgCzF%UTJxV4{9*A%k!kiA?$47x*v+2MV=#@`R&X}}2|NNb*R_4S zpnt(R{yBU`pHJ4c8Ew2iBZ$W}v$<)c-2VVNmQcv0K;ee(n~d;9eK)3m!6vj(;rrPW zR*^2H^9n;C47?4i6HT``ZcgP+3F*Mku{_s@uyf>df=jl)k(0w>>Z_}>@ms>0hMRk- z!jsC9-CQe41SJ0e%P@Xo0pkGw0F8dg{=s^$h;?6z7QP1X_MdSMo|dv++{)8Bp;Rb0 zg#ZURU(ais_yzv}1lsr=@MlpTBo^(g>Ov++<F~dXv~L3|9}ieXY$Q#r(V$i<*b)YDp5C?j=N$NrmpU_}g7>biwUP9>Mpsfcl|xSI zXyI`JlZE3xwQ|zj+(nLYRWAaw2{F%8in5n26l=ya+P|GHo4NJTb{1$A2F{r4?~11g zSkB0wZhGU=rh%62%*DP@)~rnm+$oI!3+O!sOyris_HFD`F}NjH^Y^LZf=J`sPD!T2 zAC>}3z#LUcWoKewCmexO9fqN0sNX(iEVm#$dHF!#k6hI7t+a8ljWEy1^uI1`jAM}C9+X*JCQ*6fQOG|pLs3I0Id&Lh_kD#j=_5b_42;nnK`o53jCy_* zcCgdxY(sk-f4opKc&KI6r;2dV42}WMpzFm}f)y5Fl2@;Kh~w+prJFiEYfPaSVAKh2!a*leI2fyi0xtFk(;)u< zI($+pDULCcX*QVU*r^SS@)IC9!L4PE-rhZuDK6O@)E3hM4$*=;cFj6@XUKLOQ_&)x z#c3`st>9_Di=DppmM-4m5#->G8nv24GK68CI(DWgj$|tu?L9f|Meak1N>FeN0OQ`R zLu|nB{ArRgR~G090ChgJ`897R_c5r-@t<0H^a&@_oXP;>wN@xxk^DH|_o;0Pb#a$- zo_b=9Mn5S2Zc)3O#c8pR84jER#|S!?_tV=kPo1*E%>GJ zLet@&hiBF`nS6v%fO?(Hz}llZIU|bvsrZBYXZX6?QWu&Mtj`MpGcXGOi!5jf-?v$D4`8#*@{bwvBghv+UC_R+WBS)Su{)r;>+^VEdZ={{RUcqF!6DWRXDx9soT#_4Tg2 z(}eLjD}7_Bo*y3?mr+Nq3;Q*-GqU~BfzR`->u(X;Ld_Q4`?`#DAJV+X$0Nk@_-<$L z^oAyhfo20FfuENihq)L&_4wWKTjEE?9V5gtTT89oE}*}Cqhf<=50?QjGF0Oj>Bnm5 z$hb~|r~Kf-b9u;>wLHuo298I>Y+c2z^Q zw*Yv-BRT0)YTi50^o=52YU<`F;EBXfAz(m}xC`Ht>0ircpEr#Sfw|H(>!^j&6r3Np z=y+j){{W7h@OkPhR?k}Ti|JA65b9SxU7WsZZ;`f%KfDHTTa0JZj+N-r@KL{tx8Pwe zCU2qrC4a*}cnVjIW7H#&7Db9;zj7C2g$UR@KGwyXmx1j2Fsr=7w-3WjZSL%J>ClTn#JjPKj1!EjuLR?#IOo#8o@Vg(jIA}; zY$CFfX>QkYlaUJocss`%k6~RU_13N6roFS(>|}9df#t&OVAqjm5~rH1+48)y zo0JotT=E7wAIBe@dhdo`OuL^$y|l&a+>+q*k8vca_xjiDd@;fpe7_9nQEjK(@N+C= zoRp91Q}%!V0D_eKF4uejnw;YOjk^dIIT2bxwMGMlVpAiWen+)^MQQtVcqhcxX5&YN z?P7;%^Co23A!C3uk+k4_-k|2cm#=`++}Nts@zw}->~wl?+<-OVc!p%oWs^vf0)7|(CzUx->yf<7~A_p-Ut zuI?7vHuEFCdhw&- z23rO1RB!G&f3@o~_uhZo8%NRfR@LKzS>|Qlv5YD)2LV}$1P=TI(!5i|-?vwcuWUxG zVPzGj8*Wj{fu7|VaBxRXGwolV_f7FS^G&wXt~9Hsj!+2^+sa8Jy5Udb+Pwop_$~31 z#a5E(nns-_7amxZT0FNr0_p(9IV?cugHun#?5dN!O}yCNZC*Mf+I3IcAL2}lHOv?C zHRP-rT~};aVgs*}_gCfQ5DpJcrm#ot0r5}7_jb_gx}!CuK$K;DrdDIs#&8Y^18xQ@ zAO0C5;^n>Q(IB()t|x%FoH1lp7zdODCdPgFXMn#UiQBq<1& z13h}~;P6PnuDN6x6*YMBefKe*VP0<6W?zkbb@2mI(u{FxQ~7W(kX!G{J~5r#=`xSg;9w%5lbsS$|WF@9D?_O7csGRO6 z<;OrWN$4x-KMH=rw)Z+oPZ3P91mG-jD`fTI+!8{!Ae9IC*CkBLD8a+{kzShqMMj-j zwWB{Wv@Z&sSVeCXl1}r+Tw#d_F`twkgFO5G70LV+*Ps3p?+|FyTFE`Omm)_S$)BHj zIUpaDFUygP=RK?U=GDdp#&3>HO z{4nswonaP_W2W21Z3^v;L`#6V&N_EI``4w~TCSGiowp2qewFeW&xrJ#R4}yu^R|Xh zDLd3><#&R=VhRSj| zH|J<#*gK9n$icwR8Ly{SUEs(#InSqBkWTT!e8O?*Um1$yd{o+Te7=XIvU+h{&SS$K z3ehw)jUbE^L9_$d4xIPJcXB)yu?2}v2Rv2`S93NYh!8zZY9k%tv!794Es4fds`=#g zI-!P9(IV0;u0zG2QU3tfsP6=Fg@WUrm;tUQCZrI0D>&;thi6TMA1XN{Jj=(yKQE8Wb389F=7V62#PMB=O%`S86wMFg+UUI{F-A%88_sTdSkU`i8jgQsKKdb zxDg;MyGc0BRCFRtYg;KBkn}wbB;YilM}-~pQ-cb{)bA$;=}^fA_6SDcI%BO4IvPh} z!m0!y4xMw}th?+)NJlu&(yT!Ucs4Ta09*#T$wy!o=dDZ%Y>iWvG%U45uH3UI57%nnlSRVynaDxf3b*g;{yZ zAyqtesphbg?jre4yEcI1y=P2Jl9tEHo}KBzIryLZiAjMg$%u@gx? z08hEpW~R75DgblFO-(rY7AV&QahlGaIT3^BJxIUS;AD51z1=Cqz?oHTtH42~-}WQJ(*^7YMU&1NMogKh2w z$jbt_;-`=-E}mX+M>T~V$nzNpKVI3Z&^)&gnO~yuTA)z2#J3^USI9UUyY}a&<5$YX zBX3ee4%JpAQro0C+teC!`GLbP1oRX*woORsp{H!0XODD*f=Q~E6S2Gja!{|$nxD(e zD$+I&TzY+KoYE^vnAeY7RXAB#N;+yZ?v775E<06~iU%85<9DZOjnY&>kbSAn=<*_` zVaTkyl^bknwY)+lT=uSiRl55iEX)+I-5#}aYl$UI(dTG5%~jMQj##|e21w?&QAr9) z%;x8wIlq46G7g6o(Ar+@vR7EaU@%DF^XpV3v`wfKWluGi9qi4iCZ7@$89y=h$9m2y zTa_Id(`nJ0%ao1qtK5#*s~Uk@Yk(K#BZF2gt>MFj!hkCd;qC31U>46)SxGXMGDhHow{}1#qk<@>kzN%ko~62h_|)^s6ii@IoE!=uo%I*9yU@#f zX=J)*MBJmHt3v7HwsRTWSFx)B<+uIZd}q`8)vH+T#BB;Me3E@?`5xozsmw;6au%KT zu;+uwHCE9Ds+mFEl5_t6*RGcG3x6;O$IM4ORa0z4eLzvxoKp*RDamrH5FlsTq_Vq_ zNqB};$A8wX+Udw;GNH)FPfDqM6ssoKP5|puW}Vnx%)X9cUzieGpdaU@Kyr<^p1m>J znG6$1>bERFBlM)bw{%Z6PXPUCrVV#2>|+p#i6{K?RWPmswsZa!Ew#%_Zc*}1I{Q*Y zz^D=*yTGWoQ$-z$8q%C~ zDMsvu(q?H|QS)Ptohlot*3{=8Gj%nv=@e>+gKm3PB;qt*K7W|!0ehdqn$W2&3Rcr2 zW>&}|t)OQ|cF509r9~15muOrA(?8ayj9l8O$q%1X{uL^EiW0crEGi5S#;U@BW_G;J z(m3?1keNg7lfG#~nIvc#eqNx`a$6#j)GgVJD6zIxI2C5-=2eIg!?i0I%zIPi+uoyy zL%du+EWCaOixJAUD#?j$N}wqDBR%-<_|s7B658TAxE5u_$_ zmF!PiafQVeg%igT5ibnK{Pe59#H*4ram6+4mgf;4m!7`WT4;CMx0RLKkUe0_ zB#i1Xs#~BATL7`+kIt>Ksa#4rb3;ltZG#GXW|CT(MizRG@}##SH_jJ>j+IV*qjxwb zrVVIGdm#cMGI7cGtP6yBr&x!{-`nX^B#5ftL1voiq7QM6%0Bl&O|-j>p#hsMz{vHc z{e`ZsJgb0qCnKJsmQ3c7-x_x zf%2*C-lR$G+8_=`)Dg{7lQy=NAc|B~^CV21)#GXmB1~hxDxA@zNx2VNh6S1A3hW4@ z)P{{iu~2LnHDXE4&cOpKxgcP-2i#U} zu5F-SF^5huSL~wNxo&+iT;YqWaoieavO(IRzjtR zP&!wS=vUWJUHNkjg^wBUiuQDlSYci_9tl0FqbuxlxpX9Snn*xazz3Xn`qU3D&PFnO zRM4Sx+}RD9nQatE9hZYenBwfmY>mqF4b=M8hO~{JYcb?!6yXw?OJg9@+vRZnyb5tC zZa|S3B6wdLc|O0LDoGMSyQ${^stG<`qj3k3RBoa-5{!ZZjxqifROhXjMxwohjYP9~ zv0^eh0nk;Qz~$KP0#4vZrR#F@{eCiwvfqg zdT>o&M2<8kAZDR^*n!yi;*$tNxY+J(GEj`Sap_fVr;vc~41IZ~!y3TmN5EF^S0uL* zsoDtoRmLN5>}L5_44b7Te;@PtRl_-03Y84!?)D#!Donhpti)h+2BVQyHrpWQu@#io zqk=2h7E~#EtItq6RKy{WNTYyr_*Gk^WL1#zqpb^c;yfqK=qR;`o9<}eNF=saKg0a0 zoL4C9V~dVC#Z$F(VwWzw@Mx zr{Ctd-<*tlRjur!cm#2SQ6si^67%&+fGg%Q!sH41XpD6v)o_`va8RsqK4%F|Z%1@zo zHC2@F=iK(IuOb-s=PG-O$N|=7M+JfEYeEZlf*?S`ElVZXNL$K~#K(r@R9ADd;SlH7 zBehQ>A1Fx6kMOFG6xSTWLXSc-k^cbKtmMq3`i>|5;F=iXX zeiWO!6|}LZ3W%;2M>|k;`cz_kPb1I!#6NV7oYP)Z3$?#mifNpnh%X(6Dd>%<*q$hX zZVu3U`c`JEc`P!Ec!+bd& z0vHZR_M%hJQ+)<*XOjSNj8mPZWOW@Ap!ca5LLtToBj2quGEsQ>LmYlJqDsQlg<4CL zFtEXk@Z-8Gjz_<( zXo*pxNa0_boy7F^Bm5~LMRxu1DnHNZSjIYzRw}QV3ZIjM-j*a*atO$&q#%u%C3|{Q zUQ4>GBVYrQ$6nRZ7+Y{f$zyezEraeHkbCFWygT-Sk5+#H>bjPU?6+37)A>rL=G@V+ zQoIq7^sjG`XF?kU*Oh!uxVW|O&F%HF;z%NS6$!@Tsz?Nk^&=fBd6mve%G;mMpN64^ z!tN^x-~reG>_<2Nb*?MN9uiAW5=p7)(X4U10=rLBjI$6s=DoIW3|+PL&CSauBzABC z=osWL;at~_bX{3=FZ4W@!5fEFEOdRwg!;&LZc=x>Oz(I&Pqh(Z&XLiqR>P@Dui>xx-OEyD{jIhrqkLljI z%MS)=-US)9c_f>oO5TUC#{qhOTAeLpjiZI}U&KVy=U8;`Qg&j?8*%cEGJ29ndiAX< z#`o8HJX1&et;?Jq?~a)3jP|c6vG{YM_}j!+GDQ%U>pP{CNH?A^3Fodc+P&Mu`YxH_ zT@7qxjNKGMppXok^PK05066+$lbTA#aGTWm(@gk(;x7|@u=wWTp5j*CB@OdM+=zmJ zHuuL&{RMKm4}oRT{7d!=dwFg`I>M5SJ2poy&5!`cT;rPe`^YYJtwA){7E5^-jo8Zb z+auI}I_f+n;j7IO`L!lF8TplgCvJXh4(HO7sO$;fbDHr1@lV6;COfMn59Z3LybSy8 zIOwDU^M71dRK6hbXO3gE^6pGCTW{FJ-C*`OR$6N;H+{KAtOu%Bc?#lV_y~gIPp%a;;$LJ@lFv;W#tW=F$4tw_G9Vz_OD~s zY|_(N8ui;Wl7X>7Cjj=xr8Op)oK82y^60uW#bSvfnf_%^0NgwA(*wRbel_MX>$;Aw zs>2y(C8Pm1gS9;|{x!MdN#WP^BGNv|V;e$_xjjhsuFK(Xg0u?@c-s2lwc9yz$F4K- zf!hPP#(AXMYeB^0ekNLKiDLv8Q+d#yNM1s}uTM(jd_5o7Ri=pyIZ{g~ zf5I$u$v|)nl5WT(2OM%b`u->BUXSBVe_ONF1aQNcaf0M=oM#^Y09tDN#(b#xE8@q9 z^-mINfAEj#kw~(!1>;!G^2^Bpo`8D(wT-5Dzf)3YmaDJWCk+lmfCP|JMI4f3dPa9DQ~TKgK2?$+%Vi%=1@jk1L@z_=}_-`G;K|- znmK;}Y92P#{6wB6gtfi8F<6}wAd!&S$Rh)hlixM&UlcWu5O|+UdwUE!v}Ac>?uY*P z#yRJwXNrF6dvJOyiYug&61Z!YnnQ4=z+AUWs`rnnVww-A3^O<$-*R5yNd50|WpG=b*(Z zsmU2lyIlGo#PIlQM7D!eya@?_9lePIoM3W!>F-#UI;Vy_VF8m;*)_Ha+TV2G9=*r- z*Pi(AR<+jrPWG2Yz$m_0=cYOXj+N({osPYtc{bVvPGG!mESU1n4{R^@Mlw&J=KxlA z=*f3%(vL#$PloSiztYUoFQ4)&HbQ5z@tvdnqEEeaTHcSXYL>$8*4j&kl`@e<*?oP; zJlC!KIq(*cW49WXF6M}4R*^vt#BxgV2eo|-1UhD!3Z|O^#KYy_V0}G>Hpy{!vpyA* z!QLaV(NQ%r*7C@i13ZsFdk)#JpLBH8{4?Uqn|bEMcbi^7>^FRzjCz1cuhU&p+-mpU zP0?M52xJHR=Dt+@p+9Ha?;QA+!&C4)f(W3sNLCeKj;^l7r3J7uL0sgVq$MAo58LmQP(lE9Twi|>b;ZKaIYej7n=8vxG>=M3YG!*@ByZuqW`;g7>T zZ$i+mVetr$?aDDBg|{dmU=qY~Naec&$GvL!>hcc{pjqS_oZ)vI5=UMra(A*bjBPE? zj=Vjl%@2>>-&wylh-ES?C_@PkU93pLudYT&^y^<)czfYpobx8P=NV;9%p4uc!Pgr{ zs;}^o{Huer@IHm(`>Rh71_ zM^L>v?OHz(_3al-yL)RHMAA&#P{w=bsq`N8=eAm{{+FjoD*VK5%Q-(UUbzRJoYRaN z+?d+>9(!-_Vr?75V^FY^3ssd}41g8@bHD=x1I2sKh_#74KjCRE?p&@AE;E2h0PH{$ zzdnTbu5-bf+v{B5eub*~^70sdAElw1>){6QG6r93QrGvKcevR=BnP0=3(wtsgW z#!um2HTWOl7mIHe7}hy6CeRg>?F@5=Cx8`4eAiuV@IS^+HlcN^HO0O5!US?QV{?E( zjkAJ2gRdQhRY@l8ak!|R&avWe1Ncs3;!GAp^TtY^80768#z*<@TV4_Wo&;I?m_zV_~O2*weSaqbgu=; zq{X=%QE)-!--2*EE_+dKQ8=xSEQRLOJ|QQG5@{m=r1IiWO0pb<-RXt*>t2QNLjGwq zc;awGgaT9^NFDK5+8>9c(e9T}p5qM*50!=h2adVmn)Mw%`omq4E2$xl;?-Yk7GIf9 zOknoG=~}JP5~k9+K7P^ed@+Bg{eta-O^h;}f-~EW+*ePe>FT~6y3_Qz9}G@FA2v<~ z0Qy(bo+kKh;GIvyEqP^OX=N;AFt`w`QfGG~aKXc5j&s_)r%KSG(&zguIVjD>JON%~bKsj+)RR+)Zve_bJPcEOS@5$=@o@gpTe#A7n|#Rc z`>>>E85#MrkHGyaxA0ejtZwe+xVep*NkBrft~|9ol094B@UFARzXk8Lj}41I2g)sO zJlLNxkh_AnLRjEuJf67v0Y|jd%*ybMhL31t@co_qS8xR0HsBTZ13cjOt|!ELwzsGF zl-n)7Rx-*i6z>8t*@iw|4s+X@`Nvh4#(o*`#m(lSzfFrzc8)_X6}-X57X*h^!TFSx zBiM}k?|^-t8WD7Dt3XFCg!L1n<{ zpRZw7ruc{UeLbdzK(IRjyo~KWgFdzNZ^X|Gcy3J+CuNOffO%+C0z&5{2^`>mJXg>9 zCx>k#pZg&rQxutPjmSQn9`%f!#j!nxzo}{gn$|{Q{O-vECcI1Hhr*3^!rb_yMltZE z-K1@tjz$3PPZ%6@74Fu45ZC-Cs?9y9+hZXcBO`=7a-bZNPILAAlj0OQmaC&nrz443 zm*h;4bC5<&6sZJEM$cRm{UIq@sRN%1RAPZT6*u(X0gNeb>k3)75)z#pxCpS02H z7BL&UV-a;33^^Z_d>!G>+5Z4pm&TAjuo`_fM&C5n`~;L7>>+?46Wnpfy?whLp=)T- z>Fpsg!UFP35EpcL$#tfj{}s)r_!}xfmZFMyp%e} zgS-%N$6h~`M5lO?q_tkKTeZ z*cs=5atC2vdE);7hq`XQiDe8MTZh#pDgYmvEUqc_Ul_dA<#eJ zB)W`U?N6Kcj7iIO{{ZV(uy{M+kAnO@iFo#i@(A_>##Ef-IVY0bo_{Waz6NeKvuDfB z=~&+I)y1xxr9}b)i_YNV1z7g}wez>c--h=e5Ow=$?ye+;&fVFBKmwrWhso-3o;p{y z>;4qhuEJYscaIoW=Wfn$c&}6p#r_jAe@TAOrVv(D$V%=n!{$ zn?4e=&@`PV>{=C^R>ZCyVu(hkCnSYYj!sV=_2^y@(X`0px%)h86Uh6VE(S{g2|oM^ z=Pc#6(mXoXmym5_2j;-Z=Zg87{{Z7|r={vQ7BWF1I`lD&=dmOn!>)7dLz`G_TX6eAy2!aa;1F4GI_DqGyjRA0#=CK+{{X@{p}R$HPwyRZ^8wrG^u>Bt zfVD>PUX5;b7G}7?Dsl)adK~oW)4#7du5;qIiF_mA%>qg0mNdA90T~}5QgPIO7hpX) z;0j6Uu?s`SygOlcr)m;Ss89Q}>yz@2OlG||#C{3z*NQY3f?cvtA_tCqg38@N2EK9d zw~22)AYEKVXDCEd${&^4dW>_(2d#S4qgK#hUC+Klgk8ss0sSg{rL;(>H+vI!H{jNp zr`#>vfNxh0N{*-KbNJ)*t3D>PxUkk9=Eet}MqUwA?FD;|xE`jve}dYD?}~gt)-%Q# zE$}3AP7^sC4(EbBg?&rnofE@aex421(I(xhGlRz*0&`7C^&LssADcS0=Dn_5rkkpa zZuu2dV=wEHPEIrUSG?$63~S8}-%h(gaDht`*Nj)BMd5u88=J`s5Npw#2IyO4Rz zym84LIXV2zeYGEsM7BUj9$Suoon=w9Ox>M~op5Y@%oT$5BbxKsTH5~WIKqykis<#f z5y2Auofr3xd+-T0%R^&6}e2KgFvpUs{LkFfd^ba-`rAIRxXLImb2Sz6yJd z3OAcnmvN1kVQ;+Kvz+$%ag6?TtZbI1)Tz5%-41FMwA#1SlN`f5x-54~d!w_K~)o)j~ed-2p%Tvs3to!g`;H zZN{~wqV6LCM!@-d{vTRSZ(^fp?t3$QU(_|5w9~Y`<|3iD0gMoFf`6dv_*bd;c1=e9 z2Yaldg(sd4K=iMiehFyWwwIudZ(faKxR)-GuOKgC-EdD|U*tZ3@b`=Dyg_j-khYdD zFYij_b}=272S1ppgVa-ZvF08&zm|LCf(F<+5>5ttfAzZ8PvG5uSkq@%FW4L(kgju& zbKbsr`17wnhqdCmTlv3tY6Hp~0@)o#bCI68K9%NP0r3H4^vZ%o7oQy9hu-ueAM z&S*lC7=Sja}E0+0HRCNcxP6vF~lKeyXP4O#H*I=~MiyMgM`&1Ilr1F2ly)MV&uC=af>tkUWL1!F!5~HzlV4~RA3v&SI;xfnPfTz0QG@im^GsX{zGdPJ8}ow#95b@zTVTNZ;wwUk_5NfB-sWC6h^sN%S>@ltI%R*vDk#)#nL9GrGP zmul8FNLpCyycgk_yauf+jo?2HPF>3!az3XVSJ0yIH5gLf_=Xt3Q`{vFniqi(v@ zykb&{Tq_7^(VilYWB-Jy&zttoM?gA{J0!`mD5GxEj}Gn z`%tJ^SwPC;7zaMby$+^@%5CU-LDwHvw(>?9Bm>9qc1z1QC&t3Bd1PoEM%Pi@oXQyfqZ@3Dgb{qDF3-dBF510lR$@cHXdxpE? zPYvqYgnk}@gUFc3&H&x*>t7Ujo5Wflfu}cGa|?Kzfc*f^@MqNHI2G+51w1XMc&MVG|ZcKRiZK5UZAHuhc>uvnggxnBzW z0M^q`hT=!^6cBdBj-!*1JAHnKwn#m0H2vdy#hx==64_^Xh>3@PUe(U{TjGM=CBz6p zHs_Tcc^MV$J~{YIb)6*J&w~3%C9{FYTzz_1=cL{rzW8G$qIa-k$?xc zQcquM`6I=CI*QHXu+j5|=>Gt&HvUylOYt??yM{ZWN7@`OrZdKUhdj|_v?^;;yZDd$ zM8Rj`J4;<2Rhcdvf(8_oU%cvhdso1k z{{X^GR!@j=-`HF$Ln9dpBMz)jPMF({r#bYmyFLwGwvQL~VRSxF7%DdVXY;2yMMmhp zb)rXS;NRK9!hRCg+r%bGCwF4P-M0BEj4`yXIUw>61a$iQD{42E7k_4g6GHi(quIzsIIT`8&Q22qM_{+qO zBZmI~>{e1lqT)2;p~=AH9^Lx>bx!EoHd5U6{eC-dids7P3MC4J+Q#Pr9QQcR3C0QZ zuQ1ZTWeBw^JCox{o<|4Fw~pPgnFFhqQhN3Sr*LbF@PEY54)_~cx6pLE#=KaS18;4o z0O6Rk3}tyF0bisV7l~|qS){a@O9zF)DnRI`p&9iY^sOe^(GF6!jQJnR(EH;-fH%-Sa~uG6&VgI&2;^K$6k{#$>!i^IO;lQ(z)LSc$(M7@y`TO{Py?_ zkWUSq5%>e|T@QqOBd7RqOKP)jX8B`ABXCYJ-=F@yH4(Jdr*#GNO9Dj!0apqE?d@28 zDe(Lknsnc3O`D=1FvlElaDOpgN%41Iy!d|<7f3wMw8&%YfVf@VJCj)+5csUxpNAd| zNzBrzINiu9c^&hf-~OuJD%zXVi*{$4-T01u2sWJ*xGD(A9F-o`_Mhw(b>kgl;;p{7 zs?2}0>`~*6HUUdJDamd#+;g6z0=@vh*YpSRJIi+yJfLp!$iio^&u{Us&|lcQ;!cly z<2W?^CK7?J6&@jt$8t7Xz7!G9OylvVR$3n31zJ`|?N$BKJN)UB>FHebvB-?hiHcSsQF=@`{3J+F2B2l|!B?!%8KOaN`|lxoM*^MJ4x2PaP?IxL#3~ z3z5>LoP=}*avP;ngxN`S#orPy@Sjgn>-biCYBreI;$txk_yF;Wzjbhm2bgd%OyVVG zMFbA@PDGA!2pk_;xDJ{oh82}Wv2(_1E13+Ea52YIQ%<5K0xy&w%Rfrbc^yfRwsF*U zqHkLbr1l`5SmMfqoch&Rqac~4$p)d3Vz>j#B1O)9YTQAmZ?dZom#C;o5TVdhY#Jdd zACw*stw(b!M*GBhQaEq%qUmP0Lj)%)-|JcCJEyitTRC3-wWDLPPUdDu+)vBbG>LF7 zBJ&46hOJF+BZgVmE7Ff9C}LQ`;S}_#O|dt95nYj_hhgjKOD()G#2(|<9D53LNf2`y z_3Ub{r12%NS&3p#>UinvL~pTF)rzo6TuoYlEt@}m&r_pQJm+GrDp^SIZ@D5 zN!b+j(27McN+R;keS1~JwVo)9jB%dc#;DF_mQ@SFgZfq7valg}7^SK+PPM|yiUAy;83yjl-m;SHTobtxMDa(qKuHHb{OJcgNAe^a0VmK_ zcZRhHZuH33+!aDHI3usu`PSRz7UlFXbEITed=`=4}x^y08zUW(#oxVL}1)PIPq$UJkWdG8g& zj6`;v^#?wcv@mj#(HYMYm66#)%w^bg=~(wJOb&$OHRreA7kn>cbuF=+6A@*RNMVAf zp4j|NuA9F0;@(3Wz^KaGzr3tKMnR59ZhL06hDVB=lwk($a@5Tz z$Kq$$aok&JmgS}+r#Y@-^TifEaELfwG66W^zaBh8`*nO!*X`}Cbl70iqKUR$$+vpk zsBTIJ<~3#G9Jg@Q@<)q*YEO*k#TP&Dj_PyTSv0JCzcr*HGtoid4mywl_u{`v$^0Y7 z*Nc@#qL*{$>hU!@+6VLr;=hf42k>r~`i8x#MQI(dEaN+g7|$x1BaWW6^Zx*ge{Ii% zIt&rXE#tg*Xj(Q^8C3&2i1a6c-yr80ufbhm^`94Ol4>s_++EyeS)NBEwsL-UCzI)( zPfFF(d@-o&6GNv2canLPOE)=pIR60k{&n{`Z-iJ#Nqc&ieQo|{1%4u~^nyQ3d{O@Z z1v%2b&bD6AoI*!hacj zeXK_6E_a9BLIAf2ecHaOsp2psq0B=hy(>TW}WkGHJ|r5>_ppZ%+fm%5()k@JQB z0L4FyH~t*dbi1u~<{KGf0!H11^3NDO@Oc0O&*7S@@cT$I&%_T1d^c@+ z<~=V!)9y7Hagt$)oc{phpn`st^*4e)VZV$XIf6|_2p3J$!)yZRv~rRF$=XIwx#^w< zx9)z8@TbArLPolNmuqOq6n~>cu#P#v35*Q(>0Xxv5Zj=E5N%O_E8%f|EGSC&YF{~j zk=aXy+tza2{1eju0N|EBJk;cUPsBbUw-F9;I#_B0C8bczwgzQP$3m;yc#t#O+RT5c0w9HKy*jJ7)GAjGu3vyA;52bjR z&ls~wu2{7nMgC`PJ`tdu+CDDOKVlz-+6J1Cc$(VU`sN|C%#AUj=~73sY0}OC!W@!R9)NSZTT6k|FEFLf` zCOe4oRFAG}=O*N~J0VWm8c8DKa^vY$ZZA+N0F3%oX|6U(s}~vkYB`0ntHuUNInSkG zCv~Z`MDtc=RL0hR^>X$ikb?XUoK;kr0o7xIfW)IBOG94Qos^FoD8V% zO}J!KW{h%r;-=jgog+D$bc7N2d(&o_Ty2k{^{7(z-UMTKHty+;oK-J8wCJ`&a!7jm zd(}zUsK&_HvYAAGyvqgX4O6^g(jemmWO~+#f(Sy!TXF7s15|FHiKH8W!0suhrNU9U zG&Vr09=ng>Q^J;yi)B*9PEJMzCAXTV3&N=CX~N(@PXK4Xy$uwjWuUI8Wn&tXv~y7; zzydblj&toqX63=#@++K{=~QL8ktO>(axyx16kAIIiMmWn5ZXy5vzeV7v|||@16DGt z5ZbxV=~<>riDZ%@q$+o;Y|%1SFWa z`HDm>^8wo#P--BJBZYR(-sZYndrJ#g{PP-@VfV4mHJKzaH0>;ZQae{YNXX9Go`3NN zz?y%K^eHrLMm3f<7%IveIO)_Lhmr4I9iaZpT0%u{qk>Y+TP=_ovIkNRQcqK#diuO> zGKkmntCsV%o2(J;e%p!3{{R~H^8Eh*5ru<=8Ce{auyCBOBz`x1P5%IbX?V-xC&n}5 z)8d5Fbjv42ir(HfM~ucY%@Yt*W=yyQV3X}%P<%h|XN^1)c6TA)&aaJo7lrawJY;#8i2z(-GnjN^) z8p3=@9?~})9l-mJy=&r+9e&1E-YxMZ?}=|OUMAFL6B3yD6ewRTE)N_62*-Xn758c& zjx|_#z^!XR=iw#iZ$fEcGy2#%zSj=y#fiYGtCgRX8VCFnmOG77;k-?%3yTTI%8Hv^ z4jVZg%JGKC1mu;*1#emZ0KqbT99!C*KH~OCZDoD($YD=EaK}4=#!fjP4lp`({W|+d zR}i4~$F(|nC4i)RNe$`HSJHpPRL$4JQr{$b{{ZU67PUv^U5ES=Kfu=3_dnVi#pJIc zD{QKX6mcNv8AeMIdFn7Y#~H1!3V*>fz8C3QovyL1UR__T5E$mSd@M4|!va8~=0Lqd z?rwYIiv20SGM87A?*5fh4MC)xqh6W7KjThbDCbgERju+sxMK|lu8)(G_A~f9YV2D< zvwLuXO6)71nFj}DZ*E8ds)>^vqH+dc#`464%e`iku!lr!^#w#?HKyauSt~gSgvJ{ST zK;-gjJtOvV_J34*}vg^i~`*}KW3`GbfiEKdV&b#FzkAY__y}l{f>MC;y;G>9w_ks zjb&$jr?XyMN)=-BRYpE%<%|CSbw}RG2ep2yNpWz@R%6qjTJt}Qo*IM3{tmhD-k}_G z+ui_@q>H^q2xV=(%CH1`itNa^*BwU{3bUy6Yj@D(&2nl}r0kF8W5Ksx8t`t9=4vjc zMPam@7U!a<9fmls+)vq8;ns`dp8~tXVCfFs}7?sStIl~{66rl0)?N<-*G-`=_o)Cj-z^XEL$C=lm-lY~JNMD%z2< zB09^#RXhX8A4<5h{h~kJ@DE=~&BU-E$?L`{))5BOUcQwwsO_NDB)S&>AOHx>QDA0v zotqfP28V{{&d*`S4OEjbkR0)l3HK+D*0T1p*to$yh3`Lp10S2Pr%HxJG1WFij^McY z_`vq7BhLUn+=IdPtlZIVF4ifFl8msYEPpS?tXxNM>40!Zsn!_$!2A>GPn-?}Uw96N zi-oMUE?dLp+hNBdvpm@a$YtjhrY__VZ6FsNas28#R(P077v&?;wYqu>%+QF50dAXm z)ot(znrVJwcmVYJ)pIMUagGNym2q%~7ewJ{Nf|cnV_M0LqKw;}yw{mZo$_dR!FH}3UwJC{ApX&35AB_ud91sh1=N$)eQpFTd zlJO2lCY4`&s>N~ZPn6OrncSBEWSX;mYI2~Q?ZN!&)SH*?3=!*9US@6_(kqo(%v8il z^DZzt(#3Zwq4Jk=8nV#ufG|5jsBP^TqGF^dT%LNLT4`O_xLU*_>i+8e81kWBYyn9jl&KxTKAl%u!-R&pnM~Tu6~RgkD>oYD7y_hpNYJ!olho5rPb?FITx$#Eq00+Wi$%!Dey z2j1)SHHvrGQCgGb-9m$$_NE=HlKIHS1u_(9VJHqUQNt5T+vX&L>03qUDug$ek$K5u zf*AbS$8Y|E>v)~(1OH$5=Jf%sI`$RL{&DI3oOALmLE*20DC$S0gzuaY?= zW~$mvxCiz2Vf$2Aw!sIzK)vr3^CY7bsGs&h)QNAO5vd`%IHJn&St!#aNyXJ@;p4twR)x87QmweSe*E^%mQg z;*i`ScHk+hcT!Izeqt_1U}_s#?%Goua;LDXmtcspq>ZPb;}O-x5mq#&UlOr))DXoTZBZa64r8tCriEU5cl1{{T6uQnuyqu=`QCks&;s^u=EL zBvL2udJfsEQCos={{VWbUPP+#$Xg4Z)Z+UW7SO|T(_l!r#XX{eP#MSF=xU^4rDl@{ z1EonMyVM0d4z-h;y@E}m%eAyos^dK5)k$A)4$46l1d|&nSGu=D*O61+Nj_FJ7|(yL zJ3ERSSry<`k=!!?KZFj{q7`)q1asD`#)2Q*%Ya;QR#MogShsEjf+~81Q4>VYm}Bye zf}0}wXcvw}UAoQ!V;e}n?LSE)&C3;zJC<25Xn`+Tt{@R7!NrGny5DD2=V z#Y%BD8cufd4r-w@Hy*^B*<}%@13c%jrp+W~LjtyV=hzy|n(g8&Mhbz+2C99a#}}Fb zWl?TwgZOycMIXN|DS{5EtXK?H7Rb`TB#9@Kl{f$V^BbD5kL>U|m)y!mN%cOJ zpBpv6ED+>orW2NR$j{cV+vT!~G2e=&Hm*gd$r^%}E0*L`qSRWEI6IV+_)r4ES&I8s zYv0agF(Tx4<20?HqZ0DnNfML_SRc--#tMd$7(SHn@uGlNoadTkn0Ww*j%Z0-w-IKw zoUC(WJB}(#gk-HS94TVFoZ_j*#&b-qEU1j8PB1ZwSs33U5;m0> zHC63qnovmT&JSvspR+FbhFh@hQl(;Jwxq1^*h8>CJpeV6aKOT3lwn_?^{Y3RQ7mK4 zPEQ9FYTa$_tyQB^0O$_`>-fIOM4- z^}(yqNRmQ2kOvtwn_}cw)O;o-ZM}_C)Y4x$O}k(Yw2bVB%sdmtHc3Ebjz;;2%@LZl zi;X==kjrlnDb)JaOSRNI(>Q$a4&K1h$kQAu~{)jzHj=vu>7XjAa>i1HDB}9gwV$>D6SEAQ?v)_8!#8_rWehmk0QJQET?!q-ims5$Lb;l76MH=Rav z)`t?gthE_37RMO}@}?k(7v&pBIOd*?UAZ_0vaZ)`o?$0yo`?F>wC|vtk$+Q&UFq!) zT#PrZJ4&;T+Rv)Sn-16ng(sh- zUXnQHk)k|0jN+nHRe+qRJpeSCTNI#*5^s)Ov6IDXCg@@kyKvn_OKoOljf|Z@;;B4L zNQ4}d+LV%75h)~B1R2i8%KB7d+zA?0I3uM?Y-ltn~vVu7Su%WFqE(tPN z{KE+I4o|PIy-Ve_%s^xAoc{pz=^V5U5Do~)$g45TWCkQ0sLdyII*BE*8xpD!`KX*m zj8HBl{vV}J4AK_|Zd89dg6e&@25qD>aqUgXSmxdPr76jGQdf`VO^!C5@~wcUr9Nq# zI>v+V4Cm0&u#(2yF4DyI9nZO>?PF-ep&ax1M{GbG@rqP=;tTKB9Wr>Rk|8v~+-)bR zt8tb`WK)cEp)0KklzI-9+2bHF`2l(uuZsC98_7^yBPrWq(JW2LyT~9=~K4F zY!2OxR_KYvy^5|I0gv6Lq-?WpJdw}}mDWSKUApi9^zZrAW)dWuSAZ!?MPYK-Y^G*? z@&k&Apf0{j9(v-W^GKg>uX9x znovGYnLd>ume$+k+DJLUHKbZda*8Erf<>|s)00T0vLkK*?fj~%YS?@@+6`5n_(>|g znZ`LJ)w#5V2%2uv`Gr()qP(Nx)RCVHT)e;P{Ik3U+Io8Mc_*ZM{lHDIpmNvI>wYOyQdk#7d+4irOekuGmi(2uW_079^g)Suz6CCd*LU$>~ zK=!TZ?`<>)$Jk(w-|WZ`Dx4_q^LzW6>y{ZLnemv0xsmDKFVU>@p#CGU8I^Dtsp!4< z_OB<@f3`et{)4961ZjrCfRC9ohB!Wgx#RI2yhCLrl$QXBvWgUEx2LDqt#O_bgT?w^ zi4mkl2@KhZh8bJsU&m=n7@~{9_q&POz=FZC*!-%0z0U_ds<{$Z zD(P-(Sa?rWn^Ji-w@B7TB{p(fp*S314B%I$_=mxM8`QiuZJeVv!4pF2Fnews@O%4l z(zr;qW$`tnQr;<9V>v*-bRM9C*1F?=8MX<2?6VRW$iwCO53XtHv2@x@^Pda+B(m^T zs?Vn%GBS5aBs-X};4nRprYq8HBGYv!_TEH3LRD49Pp@9p4!7bv?Gs3sQ`1sOUNmCi z2IUa|cYLFg#B>8a>yP+d1)+D#Q+?h8bLBb?;b3Yj(-1x|OvrgxV$c zsV=eSc~1EK+8x3&pbiJuf-X|S!IOiUfG2ED(cBSzLPSf?MG`%u6GpEe%2LO6< ze?Lmi(>!nDuMzm!bi2dlT7k3x+%U#Q@9XJW+NXo8WVlUI+TB&+Y?3)*J^JyUqPTw% zYPuGT>2~5laW_z)=Zp`Ro`Rw6a#}rWP_-InqaD?%Z^0}`=uUVXcE)Ry@$ZanZtaD& z++`&UFp6`5+~?cUx!W%hYMRG~o()MbSmX|I*Mg_%Tz;XZ>lcq4al~XToMV&6d~$PI zLVoc(YIhnBj&z$ilG@%DxRj6?PskUJPI=GLzMIg8g|05`^@$oNS<_&C6CwWqyf_&= za(V4vE9ib1u+pLPHDUoLlKgEyPt%&**EI&!G`rEH%Cdc!1t^#}IO9J3>CaLmyB@pZ z=&j|}HZj* zVkCz$762Uf&tdIeA))wd#24_(cO}?Van!HOFg-d|uMOOIhr@cxMW_bar!6QM486$h zlj&I}ZA=upqw3!YYBOm%gz(GqhxOwh%Dp}fax1%HRd)pF!;*c^{{ULPXz>=isb6Tr z`vx{^nG|f1lwotwvYvD8Ua#<*Le^x_V~50ZBit1%=ZcdH(=8uRQT@iu_^W`4(ubh4Vl^c;|9(+^VTjh9f<_a87I1b#rM3t~AS6Aytl9 zK+2KF8RH(l-7Bn3D&4fxad99j@sct|annCv>sYIjr*&iGZw`LY`uB(S+xVMHGs0LQ zc-_3=lZHD;<$%u}`f=8~FN!`N*Zg~N2Cw1N32%WJFT*G&A&Bh5JuAq5DEOzsei_w; zn?}tdo$f&EgNzS+AGTJztA-Y@u#;|)^&-&Ku;y}X7rWsskh$s^3@ z0o&8BabBU~-xg@`q*l79Sp=+EK|Mw`k`JiQZpNv2PeSnbhUJ=n3@nV7U_0(|`-sUN zodM#iJ&fh1j5U7^SvAsK$i!SA9DP5fc#p*o6Y5slX}Qp#XSGETIaS6abAgh5&j!7h zQSjca;ydxEPR|@ndofe^Mw?W3=;a{`dv2NBe?_Z0yywzE6RxoA(#WtC!YBg+7V6T_S=%ml zLQdVS*eG0p0PH%^Ide3NZ(E&oKM*YZJ+IBC+Ca|~PqIake4!ez2h0BO>Onkuaa}FX zigZi)BGqJ+JWfu<&&)cJ!1VMr^D6k-&&BuZQHxC=!pKH)6lCYGL69?DWv+*LsHc}` z#WtPlN$ZX}b^J#aPCAvy>~tDtv*Faez0{(Y&BTo(yua&rXRB~Cz~|Gq73w}2lEcJM z8=GJq9CXfdNcQPp1AIccyVG>(?lcU%u1cN5Dsi52GmgAh)8DgI&bxD@L#0TYX0!#S zU~;X$EE72DxgADv`PI00WX)KQ#-9m1RiWol(Qg&u!7psU?rp^2Zt3#-52rQN{0-A* zu+!e##F9-Z^EV>N!pGC6at;Smk3n9W;;ZdqSPXa3h_uj(+Gpxb~}qyEB|!?vG*dw~e%76H2n1 zeEnZ&`?%;1eSNFMd`+lo_OL;yM1{7=j7AGdx4+6VNXJ^k)I2MwzOFS3LeCth0Q0zG zulxj8b)sJ0THmdXuL~miWGsYyrybPy6`bK@X-(bO^)Cx+(q8FEk=m8xJ5O(8o^$VB zG~OfCH7^uiL#SJ<8)YFv0s$H0BiC*T^{r12cn-G`MXWy^eRy=>=x5C|fU)Hp3Z^P3(7KmFViuq9?BPRzgWFzhlm>otzsBXL`KZI{! zxU-e+8yvCVlicI5`jcNpYF11Am@YLFDx|=wXCxLK`g)J0ah5ikHRiD$mE_)IoZw`V z2Yln9rOxhETVBTp7KeG_>_w>|h@64HBaf$lt$QDYJ|E~_8xY&rg^glXAZIMavPsD& zJd^(b)~t^n=$CL=@6&Dtngzm0e}S?#spltmfBwC3dPc3{on?{+ltnDKK+i&6GDRhhHqr*HF$-1}X{v@u&= z{O+r`w@i{T#X&S0mCAYck|@tbCmecaqRlHLHBU`XDA#;RHkYT$@y@Zjj0G6!kPZR# z6{}<7X|6Qnv$DAJV*nlGe9jN3HOBm4@bR$GlUzT$iU3-2ys%&QdCxwd;a?8v{{R*I zSs#y~wb5pf>G4Um9eDE;Oq)LCALsd!C~|txKX_YMPdT7Nc^C?K<#;ZNOp1;BZClA)twKIRua@!uHyYk~2C>3$~Hzu_6Ma`NvfCzz)(;O!^2NayhO zuOPDUrO(1I6v*1t4?DueQbb*w&M~<+9AI@BIO$p_rJ+>m-{E@nKmXVE-w)~XUtB|K zC;tFfz%R)IJuB4peJ{k9u)U_Abg(>e0F2 za2%2c%n0hFXWG4E{t{mh9dg~`iKLDrwbgN)9yb7bkQ=3bdnC0-&EgYMvGiAmbbUg{ zMuYoiWt!kFB#}nYN$=QnsI@;3Sa@)V?-;UV@z-y!O53#)ww)cl>NW_@2*ykESmyn;I9AJdxhEgQi4AB#16 zokgWHg#kf0+!W-67{|)LpRIGg2h*=E9E(6z9Btd%jNl)qHSZn{@LG6!?WKXd$t5JQ z832>lkHCHcpF6h2a#>uLMbe@0&9~UJsC=c3dYp`d*B-w0<-Zxe7e(T43ynigaFeTH zV>~N{2PBiwt};D)*SGk(W1?wtO>ru#a#UxyuMW2OfftC~G~0&YJ{!xj7zhBSo?RUeeExeX)fmq-l!}?c6r!R-R zJ!~e^po}vvdUy2akywd+bE;m+a+xgW1oOwBAN^{@&9`4U`@Z~P_-C%&K_B+}#YvSz};eUv{N8)p&K!SVXNQ-9#cPxD|p1ZeND} z7t_p>ZMzVIbC(DAj7u=-&>oolYnSmKj;`$QT{Y6b+3A7Q=Q#j%;~jf-?^Khvh6*-L z#m@rk`j(v>>m#z8f0sBU?Z@8wn#$CCa&E33?)Wsj9}BpUc;FMBoK!P>Q1DOon)r6z z!pkMOor?V5C?P_#bO)U6Cnu-}2EKgp?~U&5HDtN9x6P1!(rpC0CO`xZIqS#fM>U5c z8>a1J>}yXG>9($}WeKEL5yAH~Je^?wLm7=~nMiB-o^IqCep@myblFYWwvqx(H& zc&*hL%OOGYbO$}pr~d$6zJqT8N2*$;)C{=63<2ZPnpS!imZ!m<3WEOtOS=1OF)GBi_F9_;uowtJ*;Y(L*aJ-m2S_H*uQD@vp)?Gf(hh%Vxsb<=6lsQPll9eQV{h zuIj%EtaE6=s*rZAveQkXc1OY(`Vdz+I9qaC3rk z#PjqO>OLp&SBZb&6S#}RHump1j7A!BfQkVd)Q+$9`ukVH-WK?dz9aENJfO@VaFcnD zxQAdEzB=a|^Vh9?72)rR8efU^>3js1^E8o%ZNx8^B1Q)07&!x+4nJC@1$NARp1KwM zEob6QXHRC<;t;bhI3R+@ImR=Q@A_AT{8#vI;(G%enoY?`_Ane}a^9ca$Q^n1udDSx z5a~W2wn$?n6*vgIkOyDDSIgfLek{j*ts847oTMrhnZ8^%Il$*M;+Dp#%EuA#@8IUN z=^gKhWQyuFA*74u$>%sNfyW(24Sm1i>2&L>N3&oNPz6;318C>~^zC0hd?D7Zb?dnn zL~pZ%#`BSf&rEdvYv^q%!%K?n%Os&Wz$3ZzscCgH9x1{0IJxIA?C{VU)65n~62 zBYUqBUP7xQ1zhdIoZ&z{K|Y_QdY*?Smwl|8duH9V=iahSAxY_>&-g#V_Zl=pU4)k- z@fGa%x?Q7a#!H3~1sVB{I)9#(YgoLn(RAOoUO0(k0OiO7+PvRT@dx}QR*Ef1F}V3p zQT3#($fp-;oTbN#baZoNC7Rp-PS-hv2elBu6KC%VZ4xn5@>->@)+q&4REQZ1L0A&=h8GOnJn$*3>_opUAY@_ zLCDW_#zrgKyc6QBYfRBCwLAC(?S88+;CNMa1Oh!s{HmV7soQg=njNnbC`b~m?ag1$ZKwt+#duF}U!?8tq=iCAj5qBPNMtw8ZxogS%9eZ;m%ZMNKY6da5(-{}I~p|Xa=!)sB5E3sfvj#Pd2Y6^mFCJ> zoJd$hZ zJ6{Ir`%HR{BtkjC>Fy~>po>>Lo5LOyj^|KaTGl+3QdPTpaq4P^#a(Y#(&o3b(;PsO zu=5|Q5#4zQ0QWs>>B~dmZ6?7jG~gkLFr&=E^Y5MpO?^Vv;qMngp=rNhfxp(Dn>_G%1KfRiuF^ZHbzMA55^gdK1sno> zE9AcwKCbT_j*u7^$IO}CpKMpR{2bMMWvF>Ds?Q{wvxxm!r*NZlOfk+Wp7BAFX`l;ft$%8t?5FmkYcfn8>Qv_=fDcl0jMvrzIIVFbFcRYoqp=-F;a{E_7lABR<_EmF8}_c(+k(A09OrR8 z4R#(q_@UxI0lXSEj^1>#s;qu?;&zjTJayz8^y^wi+lBRK+B%KmU0FO4{LFm~d?)b- z!J0kpxi#y+t90xGx`GRBzy$h`1_3>*=sO)+`808PIV-(GdxMWt?_OILsi*2!vs_=y z7^%oD!N;X2wYv-SJp07H9PqB6;W+OdK)fug8!!VP^%?Z9HSnrje`-s3v8zP_>?(R> z^xNywy04E{7Wcj#w`&AxU1Ta1RKE-kTL5+JJu_Ty!4&Z#N_6Yxc*V4UpqUBT+=d-N zJ-1ONtZx-%bE#Ph-&`%sZycwQ!72gl4@!TAb=%Ji_=#>A)#7rYg91-Ha0hz&55%^X zx7v7j8IYWw-;ny(mw0!;+KiXK+8Vq{RwI-@sQjxQZsn+Jc6|?V;wx*IHn}BF-Qzg? ztByVihs7GaazabU=L@j+{Q7#*_#xoCxMD>S)GtbqjCE_>l%IJTHKeb<;I(*RXD=}a1j1nF_9n;ntLvmS=j(-AUp# z$4s8p%=m-Cw{k%9>A`m|ARf3KF<3g4w!5i#Lgv!&GC5K<=LF-PF^)L@01BvGy+q>M z)bu|Xc-K$Ag{FwK$f!x$rvUT7Jr5$j3-M=(bw3kp>!j%L@4B7DXq*C0af6;SoDO)e zd+@mN5V0`M8W5ua8=(IH>(@KrFA3_JSBNf=d39aOcK-l+MSiMBsUx11ZD=V;rhC`J z{XX|V@P?nK>elIPedP}}IEY}ZPjWhw#&MCJgp5@8J{0jx8pQq}o-^fS6aeRM9S666 z#^Y+`|Qz7{?v+@5N%$dNFF& zr^4S7wd>Cp{7xDq_aTfdA;}H0BaSDs-c!M_V_G+2z9l)`pB0{p4docHFJ zOw&9)smA)LwGBMSb3Onifyg=QpRGT_{v@BrI#jawU=~GrAPU$YypOJNo&oA>WRF5J zwXAtp#P0`KT3gGgST<$cK2F;?-JZEVodtRy{1g8GK-W+06>om_j`nW@+J_k%B$Esq z9Ap5eccSOiQ?x$<>vy;BABx!sEyBms*Msl=eQWD4+42n|z~2)zzb@D^d7BWiBg>Kg zP~eWN+1t)@pT@D4x*oO;UiPQ#qD0oV;yfRe0s2;4+odK(01;c)D<_l-f~Nz5ITg)Z zBca+2N)Hj4}+I z_p1x?w$;y}r+Hyip&dGU(B+{@S{X7*fPmv5bj?KT3rUg+=B<=Sq&tRj&ox3vVsHl? z1x?e?SLj_-!|ag!qmfmg%kw<7&*SS$FlgZqjt6R@@<{hTKMS;A;~f2H=CUbBivC|R zLknjrKb=uB?_Vj07~~&%w{;tq+sPuTTtOqSz}vT}6C%ajW*%~IK9uEsk&UMq=-faHTxTTSLR!^Sv1 zwH3ooIF2#UIyko60If;k{KQBEhyMu9*$qL+HRK8uZVkTTDsg2Xr zw2Zj#k{k9%95DHPed*5aBkssm&04y*g-DVl85~w@=U@O1Pg>GaR})Ke>cVDI9!MUw zpP4Ns^7`O?^VX!eym1!Q7#-_8NiEO{z^KP+!d7ghEeN%F;+tZDz{Wnl^@pn8Tj;u5 z-rdT!=rNfbfT}*Ej=d|QKV(K&pXOz+oWE)ztk3Yi?$1eZhGKld{9anCG27cbemwp3JA>O8`5m^c6d zo~%0U893=*uOIMEzuC`T_*3xu@5CN6W;*wXt_9WLVyucWgb})d!CY@0m}8s@{)W!- z3>H_FIj8Sh%gvuZ8C0oK$o)CeqFG`M7~7H0psQ>VQwlOvo=r;)zu95?KJ0`3MGXi~ zm53ho{O?vbdLKnkL}mF9O2SFF+ISVB5+J)@?vF~MiLkIIAajx`+-inB?%f6esI;~z zp^@7ov6L>+(SDxw<=+rR#l57mTI9qM|TV?puCc-aj9%|KDj&&roOK5 zr~DG@$CtVb>K-cAo;_%1%eIa+`#PKgGcm~{)Tr%&lV7#I74VLc;kyxUVQ&mEjC`@8 zs*GnC01sN}&ZJ_H+pa?6(}P~_W8$tME?f#xUEZfP4jJoJpP60}{ee6w;e7$TJ>tb0 z(YR%i>Tn3LtkQf@sK`IgWjd`t#D^$1d)PpI#hutGSS&upDdt`L3p)`A2Ik&kXzoJsz~65?NHv%*H<6E zlOBL~`qvVhxzwqotR$DaW)Vhx$;~W8$MX_NZa}JO6lQTV<%deX>EuWx2N>t+S1Yk5 zEN-{2d>UcfPSzu?68NoFT+DNd3gmS$*R#T+d)R8P}Ha18wqrGlGk?HXP z0m(guW6q4W=^oNa_3A0`TFE3O#DE;*t|`VT7`J0luV;~rQe%$e`qXyJs!Wo6-&(G= z>jN2PZO5U<>57av93aB`(^4{J)G^&k%^<+WF;<1WvZ*_{tmveT2pzkc*0_QMk9v*| zApL12sZqK_4-Km*jBon%=9~7W(}0K}!RSXkdsKJxBpV=6oB)41sKLsDdY;~uoUMII zjMHVgSh9&*fa8pRI?K6;Ou{!LcOQjah3*3Eb=*1+O1@$RS>(WMaa9{K`ERj}7gu<2+5F&3|Yu;d2?t&$bSIt4Btf-%D8ST}v_m4;jsC zG;%ZTkmU8r@0xy{VzFKM^P%0_nu)8u1APk`lUc~fBjAyodV3n7ay+RLA)a|PqkV2B zxoD$YU}rU-0V=+9$DzRbd(f4%1iB)2Vv_uzs?`Z1l2#ec53Nu3mN{nRgT`r&>vH=K zZbxhyq`C{CD=28Zg(s2EJu0k;Y$Ov7dwx{=gtmn?%1X$3oc{oxwHZVw%#3m0HJqKD zjNGniMLNj)v48;mDJP#U$`_AnueUNGQH&005-sGE&%SAIscKg#u#Kf5ILBXFvuS>i zsg(vjs#a8pgbCNFsp7P@!Rynnr6;*o)RxhbXc}qT4W0#M-%f62RU?HTpVqF0w-K@e zeZ4BAXp!KLnCCT3q)JxUiU{G23(7J@OfOP*3)oesg*I*@KA=`kl#!*}lHLM2&fde= zR&vmnHg(d=D_X{}jjBlJ&{lQS@g`zS{Js5Z38nL=5!(~AbfUy$wTT^37+ob~SDrX%)nUbAz0Ul(jlzp>`nmkcedYk3*W8dvr*I zG7RUbrfICvG_JWMgSS1YiE|{#?=Z<63fGw}%+xN)N7r&nW66bD8^r<4Y4{7Jz^3BdMQO+i3ouj-Es>eI|}sZh1tbl1%IT*eNaR}=dv(zlI09%tW`+`i!Q2=+9w z8KjiTqiOCt3i0299zSo09uyk9WA|IOCRj1R0|z6hJ&$_!h=y?(;DKMxImQX$Ys!?j zO`l_gnv_%M$re8`mCNL*&OK?4wZWiuk4I+$g>x|X*Htz;A^ZM3ho1{ox@=vF|OiC0AI47EV4QxY(mPU<^ z0{5wGX|MbC3Xh@uH1IV_?mzfd3FrvAA7Yk z?JFu3Omo0$QCgI@7Ti3SBWjWlanM$xTC63VzHQZ7IR4ELg->oss}A=D4Zv+azSLMv zbRbBgR%YdS&)45IIFeYD4E(3HMI6(&%-AcA206_&rN{}5t?yHJYl37cA(7d_93CpM zWtQIp9juRl4{_`5SL7EhAC(RUJ!-7m&;ii*t&_SjnqZKTDVz*30Asfw{<^g#w$LB% zW}5EH0Fp7dkGN5S%`I?6NU@<%*Ua#j?dVmTuV zYQA=I2Q^eHoNR6n=}IJ$;sN%AD9V34cdFsfoC&8Dpp@){5uNOijFIcouEA<;56(9+ zA9Qr3j4F`J_lKoRzGE+#F` zMg$*fl=UqpjC(EH*t2kW&0a@tR0@LC6=QhUJawyf(h$8mRjc$1bRd!?+l+kOX;Km7 z5>w_6T zFZHbpp&T(7!tMlgr(&FL&T=TyU9%|KPp@j&3$?^=(YjSNiKSiTaNWJBWN?Ns0m^=6 zl#+Xs9>}>M7-+!54wXt}R8^du5_t#t)$6VI3$ih>m~cm9>rlsUHNXoyZgI;WU%*yw z8icnSb2v8MKwJjK4MAyb95J#>kXxl|Uch!MAjwYOO025058n(E(yc+KaVC>2!ELnz z$krR>>Q^B=?vdnWK+Bm859MB`%Ez)hs931}ug>7G5z{s-3 zIVbM=Rv*~`pU%ce&)_{OIo15o;2orXR5aG(No-n%MxJc+LD-5eXMZyho}EDSsZ|r~ z_}odZE>`Yb6N5!hlOIm zbtj6JtU^nvYGdX|BOHO$)RG;aFzr;Eg`HALjaf6)H z?$|9DY%%FcBE>T28wjf6FD@|Sw*sX*JxYgSNZLu0{VWaRrYcEsYN}7nBpCqvRane` zoN`Ar=39qvGF9u+i|cZs8*W)yM3G@~4mdQiMAGLV5IWUGc@_BJ3f0>bY5?VrC({*c zQBP8{X4D#X5qJXJJHJ4tfwC4b)K4tpsR3BNj+*=EhHvFIaI3?Y*bzdC$OsK zNn&mfY!OLbROIy<>h|&`ORVK4L90Cw=0g7t!mLNxB!0hzid`j=b1F2R1=Q1kfj%GM?*6Gm7+}G zo_#4Mv{L|Vnp+Vp1fBjVnZ?^!l9Dq1J)cY~^QHaMw!StlLkHLDSZ#i=ERl zZXne%#V!R(}nHiv!)w%VoYnPEXBregO#C5EQ zZmwSBmUbh63E-cu1sBr9RCYTL^^tj>{<_4uL=0VX&r|7Iu`9GpK_H$!hN??%0xGFE zV^JjbE|+2pX)*Hj$7m!@EwGoF}UeZlLA0yPyyzuHO!Mq`_cd%D_5!}?J-0a?t`}rW-q^{#X|G$e*(@|k{^{&dTjMZ2thh6x_E6%3nq zu(wyaM1x@*)h{@z?TGzFYfCJ10J*>wlF19oLhw%&qK<(jsM(rHq)5Qddebf!?z1l| zkPq~!2GD^MhEw`ee$OuK5uBd1TF7cosOu#lg4?t=sfTX{?9rMLsxwnm?R*Zr;CbNvvo2)STaf+0*(9Utv%!cimWBt~4u;ouf z_*GPfSW#31w2Twen%RkBl19%PdQ>jyw`e^&3erez-B_b;SxE&+#Z4ltq^c;#dXZ)e zmyJf=Yi`6V<;O6SZ$9-5*1v0gyS9wf-c*0`)A)Gis?4ntw~>SEp0uL-652NcjXoSl zhsPar`qwDZI!wzkB)e`N)vpOHp0Moh~vPDTC zX`%T^L;ddcJ-!dhPu;6i89cJ*l>;~xU1MC2lz>J_r!DSh%cwQ1YZp_I$Tbs5AV5`e zx#q9GlmJ#GXbS0tU%Q@Yx+Zh6p0_HpfI$nKZtg1JWDHDsVeTD0Mrg*FhO8BEwv#ke2Fz9OpP0 zKU3*c=8+K!73QeRej7bh4usYexAzy%zC6*+i1v->Y+PJGk%wMfbq1LP=`;pL03N{B zG|a5w2spo>CkVGtFZg z=9*Tt?mGVfI;gz|7EbSY+sXRmrV|v8@~{ zaI47YkC^nYDfrWOYh&>1S=DVF#MTz_e9`^nVhXDagPb-G@~>5jB#f$ON zJ{#W4tNE)lJhthB3UeOQj;GXpE55e&=zL{s^F0ks55oF4g)I)H4ZqqZ+IC9ZV6gP) zKA?Ma;<|qVUu#!7@tXD$u$Rs;pOg;A>t9!RL%}*mpQGEGsFG=2H?NqWl_Yf;$jHg& zyuZe}ov()Vm$!{P){Jf>3;@J*t{GIehAm3W>F;lq>_D~$%?AKuS^g3FAm0DB)(=xfisd+}dVi(MAB)_Y;{hmmnE za@)G?P(JS-y=a6wvJ^Gc`&Ym|CGhl~97{L1`y}v!88;R~j&g+a$o?N%^KF0PUxej( zG|h8*IAgFf7RRRprbn%KhlD&+stdb$uiUE1$CjXDaqc^eeQVi#N${}vr$t{FX|hC3 zvNKHV;R*%$wy+~5&lnY);_snK5w*^?|%?&hq9k ztg2C5fZ03|&r_Q6&kT5i<4V#_sj7n%G2`VJ`B6vS&m^9?9^4Azyh-r~Pct^Fq)q2E zhbYo75$A$eBd^nn&8F6dP6yByI{ulUY6kLoSj6CfhlS?3ZAU@Uq`9A1(~Cf7T(Y70 zdF#i&*0^mN@jOMMBP;o?qvhN%d*?ruYCfuT`(Lu$J{dS=U-SH_BolW>&;B9TH5*M@ z<`jH9xLgsOfsxI93Gjo&7pG2LJ~!I2h1(xy1C8AJb6#cR4+kcfUzersXc!_xy^Vdjs7NU7uPnBX(TbZ1xX<8UU(xN zhdpy%<=~xqO-sY8W2|#=8e!A|5P&%6BXK7=#y<+mRO~jDwJ)?feyJQfZG?#ovK%6o z*nJ7)k81QMveLXKr^jb>!|i|)Ne7ZTfq};d1J=G5)-E;eH^ogRuPL4sV}M%5NX!-dKtTWsn#veaVq@M75k$g@s2>JO>1UFnm&T~mlem0ELPt`N6!n# z$ounjK5 z{&cdlFeHqH>6JdC1Y`Nvr}#(XQ|o%HJ1v8uB@`(t=OY`Ae(pQdn$WigV|T@RSBJbG z;+wnMV3D-4ZU~Ejy>L$-d9$BN*YIS~Uzu5Dd1mF9F!@v-2R`*n;!lQV@kOup=AOU3 zjBaEt*Z?N=F3VU+G^6CPl0#CH0RN=u&) z={jDS4aT58a>0?h5?7)8>*)Ug3wT3C(Jmo^_z575fs_oL$G;il>0X24?}T0z@qdOd zEUcA`e>Aa8#^~L71aJVr-4Ux z!%%B$Z!Egu*%&)x&UY~P9@Y85Y2(io_&efek`ftavWj@x;So1UIW5FtjzWTZj=lR= z>doG(qg>cqO&LXREC-D8Rfyytq2oT)Y9T8v4>G* zqmAX}LmGuLu;oK@o-$7+uv*I2ChFEl$bSnw2y~4_rPY)%RUl;JVd;Xt{j2FqYkOyc zM2$j7gJ>(k$Jeh~%+sGw)U@fXp>2{f7AzNnSE%)_6Tte$v#S{)izy^HAfJ?x+!4s@ zj`hJHjO>KA;=B#)a!)?Pr=a4# zW$};2?Po#PCYIvCo?CSb5h1*;SO+e^e7tl${{ULV@txO+_01yY{%9s>Y&^ptL6A@J z5uTuOPCIi|9dt3P7Pmf{@vn`18RH8zlH8dW2WpoggAV0Xk_LF^t$1hrAU+oH5m&zt z_N8IIMc|RxW0A*h;=GT*k=$E&HtWSKjHt1^su-3ssshE308dVX1e0Ec@V#{XYgtbd z+nJbz4+)W3Htqy4D8P0kVTM7Z?Dl6dZaoqTuk z3&A?=kBEl33(0kCSRkH3mWc97E<1JP`uo@Eu9tqn%ov6jJj=P6$I#pi{YdThoX$`AMx-bsrBN!*AO7wjv&eav> zfNn__sqgM8XJ*OvdYlHit^7t-O*_L@qVZNuq_c>?^c%Y5eL1gQ@V=p}Yg!C&>kw_Y zR>vfh^6`>Bzo#|s-w(7)dtEL&sUcGMJ4sQI+b8^L?aY22v($rHM6o&o3XA}A$4_d) zQnrZ6X>`w<^*w(}u)LQ`nnV{7j4&hu2>|r#-n?hTUl{a14&TM5-LVSpR%Zl^1JHqw zn;r3==Z|9ek?_{%#J(n%#1``Hk=1;)MHm4TC*o$9}b~G*vyXBeoV7Hd=H(C$_z9Lda%SlVdL6gpyltMHuG*16@R(FtG8AP@fDu z6J9a`$+!}|30DIoA4=NzQ{hRq{{V)1zJaex_+P$FcZx#IsLq(a9di1fc-r40Y$f zG}ji|ma>-moP|~}SQ2ocj(~d;Tufd&@V>WvTf%4NB)fdO1NURkf7ZLZ7SXkNqPn+q z0f5fu1CMTb=ChNt(_$1_XGLk?%_0fp@c_$AIvo6wl(zGbPY6a?iN5-Y;JR(l;obL1A)_}eFvr4XoVKyNVc{x zyM{>iuaj?VG^>qN+-dMM5i2XS>N(uJh8~~f*VPbf`hSRB8r%r{)dfaJe#CbAR*v0B zyIPQ6tUPH%=)Cf9duN*Y+v4BDzYu9Rr&Y530L*K7zc*#C|JXdd5alsF*B(bzF0d{*_XvW+tTdK2Pz~elnlo z@v!jq)$|fdgLTx!WH7K8kpebAQZfT$J;n`X{?7x%w*Fs-@9x(6O*d&KaznmJ!mjUnZCWew3+7A_W4)!F-~2zQ_+tJaF7da`IoP1}UNScvo^m?+*UXmdrOyPqb-V^v zn4S|mzFtcn_yA_D_$+Cf1;n3Z%!=-jyr+%aoG|Oc=bz5BduSGEo|gxJG+Tcb&3OU_ zc^RGNWd)qKEu3`Z=N`4mc;~`4GkCOJc#7sBV5l=B+qNm_2g(WTGmO{Kz8cYGXl0&8 zSs^&`r0(Mx&(pVF)xdbyO|g5|vy%MXKQQ%O`QIHrO zs;$)Lp1{|yYyK|Ld?~gV?h)lu7s=1f&#$FHAL*J0gl+8g5M-WpS#CEGl#!HW2Hr5e20uJvxhD1r!bx1f z@iwtD_)cRQv2&F?^Ml6(gM;tdyc6K;w^|OXD805%F^CCp6?d^;?>AFlZEKnqnwnX% zw2TCB7ir{U@$X(;Vc}gHPSiIyG84F{=sWbNcj#vsyK0U{#rhTIy)tSd=2)hTA1y%} zdCq@7=qti}S>e^zNA@+|8dVr**a8a?!5>Qd8^m{79fpw6&by_?5D#A8t$cs3UR@n) z`)>3+Yj2g0BMMJaRQJzLYo?U#xKej^JmEeV>h_BTy`wJaB_C+d@TW#A*pb_sv*Mo% z=$dAu9G1x=VRnYym&amw#(nW!9=q{&1d2^NPyNKRe7MUROVj_S}7r z>7|n5Fb9~*4*Yjwpa4%^03VfYDXys6ad)yly7*Ndo2BSt+SWfTeeQ9%li9wN*lXS@ zmqxYwLPS^sI#ibe=O%f2h(uOH8@YJ^IcB_38jXwTozsOiQl?)_TdK=7um1+q3> zu&sge@_PM!E0ET{9QZ55bI4?XM6diqA(x!7ToK9jG;`_7X-#X&eEs`AdOOCno(hrF1IJAB`TO^a{v1c7_+aX`rZ{d& zVb)#-JAvxngV&126F0*3OnOAfKmRzLoLkihMh-XdW57*WkEy`!>?J8IneJ0aa83)SCHs#2zyE zj|m!QitXA7U*(M?A)GGnmm7Fv_36{;q&IdSD(ZSn(rXdQma8m`o7sjK-~rzU_4?P* z-wu8!L*Yr4^~;psDEW7D!1N=WR~z7;2;6GATz5LWMlI^BGr`6?gWomM>VFCJE8E1@ zV<8?q zhT?XPzW5mKz6E%W<5Bo?V{>}mZOIHBx^Nin&%WGO%ewBD4u^Fl{vdxk0{;N&@sLJv z0Q@?N_sp{~avWrVbdwJ9x1^)n6zLa!Cw`kcO(SIey#+!A0ZyQY3(Y(G|f?3Lp z?NB)+^cb&;^&NM_z9rY?(KRnR(1#J7i??}vjlFTl*Es86p}GdSqQ|AQ)+v{Ny^);p z^{+U&@ZOU8&-U%sOM|%(oGN?q-}I*MxT6=j^OlA1a{mCs`pjB`x-txw2ZjgfjDEH0 zTHVLlZ3fOr!1nwrs_`|xrLO6+UuokpL`F&w4tir9d)5YtVRfwOuNCr`+9QmSf_?d? z;C`($>Tyy(lRW+D>^U)52rtsdtHyiZwTocCBC0x2@uAE1n2II z1|FYJ=}Hpi2tMb)egM<{BWQYco{=S_kt(*=Mqz=Tt}t*p>M}E5T<8|oR+cY5sNp0y z11GL~^{kCf^4bki?O;)aI6aRByffm)zvFFc{tpXy77!%3A|WJ$Ip=}~4+NYX^sJ>M z-OX9<7P{VmHQ^L;M(n)p+%kQ52RP|o({JK!E$jkD%O1t&Bn$!Tn*8C=ydUu&LcW%L zO3@&B+^nQ9&h*IO_g_ZfAEpgq$Kwl)ddBV@I_0Mp(!4T&TZc?;9^)T};wxyvEn4DM zTc1gMT=8FtUEa$_kgn2C13vumjz7Yw{4lT{Ay>Nb1lw+9aEKopiN;HH&RCP5rE=d0 zZ*ROyqs^&m=<-G-Xk8?1{J;WE4^9ZI$yVOu#iv&A)UL4Fz9K4kBn&ZA&l%1Sam`DT zwSsf(eM1++OX%;0r)xMd#K57>2qPHv&ph#7@1ts3KASK%gBJyGzP$ecjd<6EHLX!> zAcFov!1r#ruST}9veb15t{s9jCwOj$9+jK8YPUKc9KM-x;rTE1H`tM6XRjxqBkNxk z-)JygYRhqG%Ww(Xv@pRr>N0zE{43hNF5cbT+daLW@QeGxLt%0{WOP5{UnF=c&&0a# z#Fp1}E%4jgPQjN{mINh@w>nr~C|55l@TS!q!~nZO)m^NRU5<0X~t zp1Ca1gCYhj4<{bk73!9s6D{=Xm9xCL*mrCh&m@osJw1hOc*(4?PHJ9-3#x_0CDxHmD?`*qvjum z7g~<7;ug2PfzjYo8@r9F7-J!G*Pi~B+W5lHMO)9cUPPwhNCILq%eN$8_Qp@&cD@xxxpe0io`Lo-K)g-nyerIKK@ry;c zv0n~b%Ck<#WI{ZV$5O|(I_9{YPTO*Qq6rH#FeEQipH8{QrE)$J_&2KAYPVPVmBf&s zmtbwDE(3Mvu^fz7)!G+>v@1)s`!F(+hpF5uWj3@6FS2$X5%6w{;$12$yEO?kaP8bW zjo2puo_Qbss_@-jd3+1vgDuz%0}>>_!($`>PC2hq)cjo!!&_grWW@wuGd4N_*YUuw z&+m&rAMCy)>#n{Xh`~3Q#icG)fpj2(G6Bfv2dAYRsqAS^_qETMz7QW1 zUc~nA1cC$^XO$Uqj+n^CdFj`^eGzZ)toXiVlTw_;96!QG-p{8v6nsqa295Cg#xrzA z>Cn2A0WH>VvXe&U-fMvKY3TEQPAX)Pik!|9klG0 zr|2cUhM(cKO)|}PBx7jp)BK9!yi4MJFHF2^okn#~qZ@jkz;`FwsNZ;j{9|I5c8&;e z31vM`)3+UuKgztrU+_+^s$WHMJei6vTh}48gVP^|YCWP?NSdBUt@wY&aNgNTG>fnT zaI8Ts>GT!k9zFQ2HKfMFNsJyybA}}kVY{I|wb)r{+GWWw!24th6s~x0udmjikKr5Y z2`}3KiaB%aPaGVK;|8vsOKQz2saW$*hyMT&;qeUe*7S?NS)UiYaj5ufNRn88cv>*g z#UI{sPSU)dc|4K89cq;Cu~J$d-yg=EH&4~qP14|!b!QRpk82=33G4TL4|DBaovQeH z9~WrmNf&5h7!o}WbI*G4Pla9zxEc+vr>qqh7m=il6Bt6nB|!v&0X=K!qdYbme%Xi$ ztI&6(;)z-<51%|k;vWup8$!H-?fj-#+BornnHUhD4|ePAlU(=g?WkJmdR6R&Hs(;_ zx#X1_xIMW402=Z?jUEN@7mxf(FMJheH09=4g}iF=2%86V#fK`q7GeMjLG`|VQQNhB zkMJ|$bXq5eWAKlNCKt>B{o!4$&ro)r-3K_vGet?oB$3e>X>+&mmG+C{9ZT$%#59OQ zV>oZG>CJl&hI~J!*?eBmY`n>4fZT_5P6;XVChoXhz;5ZsL(OwO8TdtE;JsR1V@i;a z>JejZNKu2!9!bdS`g;3s!|OM=@%Ec6X&K)zSMxKCy-qRT9W%ypSw`&i@Q&>x^j7L= z+5DcM0rPsFrE^ZslChXzlg2Bdy8i%2jaiOQ8LY64BW@#d^~EK<&$FjCm5h0OC_Hsb^j~J>^wt|w=LX2@VS&~jc>57!^ox>o(9AoM0P<^II$|=q&(@wEBn1?y0 z;h}Wmwli*R8JsixyL$W7Mi9V+?anIY%#Si|Vf3uEl1R%J=m+8}Hw_7vgurcAj!C!nVk^k3i%4d&nadxMvT#RED#Sa;Yl6E${OQsK7&5NnIl-&t9W+GYgeZHqhzH_vGA=DvEYU(m4%A9~W6yn=7Zlv_8vq8FG+prh4ZOdhGxapwOyWHSH2n)?N;%(V> z<+{~(M2VQL6p@OCRB^%$#CGXe1U$s^C1w{Jum*BJ#+i2vyA{}g4{DwWj9|#)tu|X( zWM-6}JN4TFghv@03S-yj0TKOPb@RVRgqtRnB?s^#cwQadXZ77HqzSc!Vpn+MEA}u z-~tv5LFwH(b6B-yhYr$7P6 zK~(Q9CXeM_-KvxlvgD4x)}w2QE*J}v4nGQa>}a6PODsI2k!V z(xJK9w<~Oe=jjzO}r3! zJYb5}_7aV>H_#6(nHK}LD=zHG=cJLJm%b_+TbUl;Y==9!29e~D#tQPl^!A~o)qz6f zpKq2)GlSBv+D5-CVD9(nSQEUFfNio*`ORIER2FQJOu%mKSfu)sC|gseX5P4y_`ScK zS+lfOY)IcPxvT`#^xL*5A0%*8o-ox2<{{27P%u1$^zVw~ zq5ZEu6OCZ#Z>gl0gQ`XQ!PuOU(*XYfI#J89l9i)PzmcM=3vPXDI*+|60FIfeQZbzQ zQ4hO}o|Rug@dt-|U8h5-=~pRp41?up&PVz0^sTtIq^3Mz1A&U>ZS5iNu%TtQV3Be< zjMA;G-Ns)86Iy047&M1&DtPq>t>brL^J9Q1t%~(IskGauqh()}m>d(^-kTJ5*0Ah^ z9D+|LJ$m)68=Jv$yIkP=cC6sAqI{z!ns(f2_6Zq+i5m)6l0AK@+q|AwBflV1q!E|` z5DCU>K1O)ZKS7_yu20?2zJV>s;5g~j)!1$rkCll%iKuktYq`rvFraafkFQ#}dg!m@ zLyfD?6q9xcv1Qa?wTV*Tjqk$esl`|Fn({m=aJ{ivl02qQ_G-iZrdUF9tNg_^BBGjl z3{Xn!82NpB(-vupZbiWyRXdpRDuiqi>HTW_Zpmz2hai1vq=%SoKU$dRYf3@GJe*&MQ%7bj)D% z^r|+h$!23G&O?%txyF3b!=REOD%0DzAFl61uY@alXYA zw77~xG@~n?J*!~J2#e$x`qc!Pof!cjRCcPRi^;%TpRH{e^&Bbp9-y+B6M_#z=|#Qd z&`#Sy0f^2%l?;WBGBN2>D#^QRe7LExEm_$X%*!YY{5MK-UbMEtC5)(E27A>J^IfX9 zE0RdZTCqN)o@d!e{{UCeeQPx(aW=$_j2MuPMtar8)Q6S{Opt#H%XXe~_J$i!ao3ah zQrjesh8E|Z4Jk_M$P}z|KM@7B&x18MHA``I1EExH+%mhvL_U?LHU$ zOVxZ6tnWqB=kla=0EOP6!h$%+2dA}vX){{OdzcF4K%k=Ck?J#F(Ov>(wCQ4Jg_HQ#;*XHx3Kwc<`hWfj@B2*K z_=d+#_JYXIH=qvW((!jJx0O^dMTK-o50AUXv>31GI z(>zC@N>bNNpX{%kC}w5C?m_cyEsl5xvBiH=J{i^*P}41!E4`x(N|3;l=tpYu{AS_! z;jyZ{D7#Nr>(tjE#J3ktT@Bb|T(_8`2yiJ~qG#bo54AwWq+t?|a%(c~TZl;{cgGd@ zlGkJCqfor?Y?uXB+3G2iN`-^Qy*L$e-r%H2>^bjCG~mnfrUzZrwl%q&&@6v6`BpW0 z2K^0v?Gy_&pyU6#HOm9%O9NMXypF@`s-03A)00&GgXM~)$MTDJB>PV zMc%}5%jR3gSAu%+Npn8z9mHd`E3cJ|kOfnniHt~z!9S4or8xwdBZv7G7us{ksa7;e zgGtH963F#-la92{1VhjNp$68iNSbGM-U zYbw}@CCdifIUbm)A`;widJeU6$wuZ5*iTP-yOSq!RGu4og7KF1^{XkiDOzbq812%t zW-)!Ch~-z2>zas7aj{H;hUtS+)ys=}7X{QSalZ!ws;e!_<+}Byx)#gjG=Q-u9CrHq zR7tW+hQPoSNhD~uE({dg(+8TPbttxSigUE>J4Qgytt61m=luB!!x*cPS_?1qL`;7b zC9cMDo9I`H%I@{!bOljPTQ#KKU9%K!N2jGuw{C%Ae1+~ur8?%`24VJNxB-*(t4hdJ z<*khScw>#)c06_+^Yx}(&m+1rwn*viR%OH^besytSmL?;;x~Q(skvOv_AW%v8vN&L z1KzDniFATzf4X@0s*%AGl9w6YgZ%ZWt-_{q+4jdum@(b;Ei~*UM8_zrmDj)waMGl{{XK}u~_9?9!F4f-lT!;iQA4qsiTf0 zZMn!C@l(!3BXd7cMuE1kUb&{&h^`|OI_Dho*wojn9E`5tOjTr#6A1`T(at`UY7(+G z;kLLTrCtE*nudG9<}3wwDIA|nQbBVhk!>tO9>@CBQpLD%!#?#pf^Nb{R72&k;;Q_} z3dg|pG=?{F1fO+B>r9P7b0cHg817H4MC~$6 z(5hfJ@p{xUO0lj9!w+7Sn^$A=86tHcZ3CJkh|Mb8NAl!yJ8|Bkk)>qEVNw$C+km{b zIu5m5wpSI418al3f(s3E`$9Nbcu6tGZgqYq=Mlp{{kwPUhylM|7v}tZMtY})p6t@0ra>U}S%Wl@`oxp}2Dvq5DkTy^2 zOMi2T!YRoeX+_us5+%C%(w@CD#aEK!ax5s_a((HJvQIjKN0vW4)#Wy6%MKH{sLQ_jp^o}BcF5DKV ze$@8ra57ILHBGKUsV$Pr+t#2}lJXBXeioWfsdrW{HNa;Z`ks{wA%k>nmLO)Mjr^n| z86e}I=T2zaZd^0%GGBCFf1Y4Q)cdC4^rk6@b8%y9>J zR&Ak29rND?l^A)#XBj=IUu(<9Kq`Z=W%FUk0kQR^8{BI`+|mGWM(%1hw`*nEA9?C{ zsbfM^Gl8F4m;;`f1KNgE5_&ScEgsJ?iQS%+HQM>R5=F=zGyLl@rExPWo}H;=Gh85N zJ4*1Jb4hM#(7K9kQMRr}0+7Ik!9YiPn$AW8dvitg{F{}P2Tz#MR!YS4BCW!kL;@3% zPau+cKU!lSHXk(o;SLua#X!WM2s$6ivT+NdrOa(Cfm`U)CoFsd0D z<;Y{x6`Gfgxz;5im$MGFvZHGGxXB%{=}|&sxI$TWusqV#Qf5`-Tu1;_ITdQ&JVFfI zpHE7eoITwBAtGgKW zrpb6By!$$lf%()cC#c+el;cSfQplLW`ev`Y05^c8+JQ<-=*QsEDsz~k4_w2k*C z+4VCfvh!R!oM))5Egl%7m4kDE(ECv(vYAoNc5N?Gs~89y9Tr)NZUN~+L*UcyFI@fldrB#DvHLt2&z#D>57U~ zdG;Va{{T;|SargD)j>?jCJ#BGtCP#E$>aed3aRrBt?NtVB0=Y(e9iZ>RZ9`LJ79FF ziI!;msN3aH*Vo#J!=VmBBBLhr*ZET&&fr<_2RIdC3^Vymybiw9`{<)wBz+B1ea95r z)U3f0FE9<+KhM^(U=q)89H|MOD{xGf$*?Zm^#1@o>W##$7+EolHz&|iZI-8LSg`KV z7KMfh>^gpQCjsK>I?$|A)tU`)=gv`AC^{ODkc75y2TICI zhmi?Uf+}QXb>}$)G*pAJ61rt~xoI8pIUby5nw!}HkmDzcSxIrZR|BO|Xl?_fj8DjO zk7|h8`VymaPi(QaS#UcaN{NuE6Gk&uy#3JPOpcryg&s)G*Wh*h>gCxKsf?Rrki~FM z@YGUSJG4^_sfh9T@m5+O*Bkn-IH$DbVJHqW(w&u!G(~v?kj?U+%B!@&BRTuc_|
    hT2k(`^F3h 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
    9m>$^Co)P(l)g$tai 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

    UPo_gqpL-< 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≫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

    (ZtL4{tp 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¨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 WzB%!~gf&kC-OYEo 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 Z_@#@@P;v(+j(U36r-q>tB_x}%|Jk^+z3>14 literal 0 HcmV?d00001 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt b/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt new file mode 100644 index 00000000000..d91d49e8680 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt @@ -0,0 +1,2 @@ +This is +a test! From 629e511196545a3cd65b04328e4c2540e67381bb Mon Sep 17 00:00:00 2001 From: Elizabeth Crowdus Date: Wed, 4 Sep 2019 12:04:50 -0500 Subject: [PATCH 046/270] fix: refactored MP3 file creation test for Hybrid glossaries samples [(#2379)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2379) * fix: refactored MP3 file creation test * fix: lint --- .../snippets/hybrid_glossaries/hybrid_tutorial_tests.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py index bdd8251ba86..87e8420a295 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import filecmp import os import sys @@ -97,7 +96,6 @@ def test_translate_glossary(): def test_tts_standard(capsys): outfile = 'resources/test_standard_text.mp3' - expected_outfile = 'resources/expected_standard_text.mp3' textfile = 'resources/standard_format.txt' with open(textfile, 'r') as f: @@ -107,12 +105,6 @@ def test_tts_standard(capsys): # Assert audio file generated assert os.path.isfile(outfile) - - # Assert audio file generated correctly - assert filecmp.cmp(outfile, - expected_outfile, - shallow=True) - out, err = capsys.readouterr() # Assert success message printed From 7f237dfd87bbac6c128ae26172cbb8a5a876859c Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Mon, 16 Sep 2019 11:31:27 -0600 Subject: [PATCH 047/270] Fix variable names in comments [(#2400)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2400) --- .../samples/snippets/hybrid_glossaries/hybrid_tutorial.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index be73960f64f..5ed55458246 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -126,8 +126,8 @@ def translate_text(text, source_language_code, target_language_code, ARGS text: String of text to translate - prev_lang: language of input text - new_lang: language of output text + source_language_code: language of input text + target_language_code: language of output text project_id: GCP project id glossary_name: name you gave your project's glossary resource when you created it From 237e75ccf76256819a69620f1f1d8b5ebf5727bd Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 7 Oct 2019 15:45:22 -0700 Subject: [PATCH 048/270] Adds updates for samples profiler ... vision [(#2439)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2439) --- translation/samples/snippets/beta_snippets_test.py | 2 -- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 265fb986710..6f6f2959cce 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -99,7 +99,6 @@ def test_create_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) out, _ = capsys.readouterr() assert 'Created' in out - assert PROJECT_ID in out assert unique_glossary_id in out assert 'gs://cloud-samples-data/translation/glossary.csv' in out @@ -129,6 +128,5 @@ def test_delete_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) beta_snippets.delete_glossary(PROJECT_ID, unique_glossary_id) out, _ = capsys.readouterr() - assert PROJECT_ID in out assert 'us-central1' in out assert unique_glossary_id in out diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 29c4261a7cf..7a4a32b396e 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==1.4.0 -google-cloud-vision==0.35.2 -google-cloud-texttospeech==0.4.0 \ No newline at end of file +google-cloud-translate==1.6.0 +google-cloud-vision==0.39.0 +google-cloud-texttospeech==0.5.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 318e3485aa0..a8bc353fd11 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-translate==1.4.0 -google-cloud-storage==1.14.0 +google-cloud-translate==1.6.0 +google-cloud-storage==1.19.1 From b389f5562881eaec2856fcb0f506419fb9ea8bfb Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Mon, 28 Oct 2019 08:40:15 -0600 Subject: [PATCH 049/270] Update v2 samples to explicitly use v2 library [(#2498)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2498) --- translation/samples/snippets/quickstart.py | 2 +- translation/samples/snippets/requirements.txt | 2 +- translation/samples/snippets/snippets.py | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index c84ea892eda..888b6691c40 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -18,7 +18,7 @@ def run_quickstart(): # [START translate_quickstart] # Imports the Google Cloud client library - from google.cloud import translate + from google.cloud import translate_v2 as translate # Instantiates a client translate_client = translate.Client() diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index a8bc353fd11..f8a1e7fe5e6 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-translate==1.6.0 +google-cloud-translate==2.0.0 google-cloud-storage==1.19.1 diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index b5719d23212..2d5232e6fdd 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -23,13 +23,13 @@ import argparse -from google.cloud import translate import six def detect_language(text): # [START translate_detect_language] """Detects the text's language.""" + from google.cloud import translate_v2 as translate translate_client = translate.Client() # Text can also be a sequence of strings, in which case this method @@ -45,6 +45,7 @@ def detect_language(text): def list_languages(): # [START translate_list_codes] """Lists all available languages.""" + from google.cloud import translate_v2 as translate translate_client = translate.Client() results = translate_client.get_languages() @@ -61,6 +62,7 @@ def list_languages_with_target(target): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ + from google.cloud import translate_v2 as translate translate_client = translate.Client() results = translate_client.get_languages(target_language=target) @@ -70,7 +72,7 @@ def list_languages_with_target(target): # [END translate_list_language_names] -def translate_text_with_model(target, text, model=translate.NMT): +def translate_text_with_model(target, text, model='nmt'): # [START translate_text_with_model] """Translates text into the target language. @@ -79,6 +81,7 @@ def translate_text_with_model(target, text, model=translate.NMT): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ + from google.cloud import translate_v2 as translate translate_client = translate.Client() if isinstance(text, six.binary_type): @@ -103,6 +106,7 @@ def translate_text(target, text): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ + from google.cloud import translate_v2 as translate translate_client = translate.Client() if isinstance(text, six.binary_type): From d909a9d7a36794e4bb1336fe355a5c068147529e Mon Sep 17 00:00:00 2001 From: "Leah E. Cole" <6719667+leahecole@users.noreply.github.com> Date: Mon, 6 Jan 2020 14:34:15 -0800 Subject: [PATCH 050/270] fix: translate test [(#2671)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2671) * fix: translate test * Add unicode formatting --- translation/samples/snippets/beta_snippets.py | 39 ++++++++++--------- .../samples/snippets/beta_snippets_test.py | 5 ++- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 0f8a423c39e..530932779a9 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -34,7 +35,7 @@ def translate_text(project_id, text): target_language_code='sr-Latn') for translation in response.translations: - print('Translated Text: {}'.format(translation)) + print(u'Translated Text: {}'.format(translation)) # [END translate_translate_text_beta] @@ -71,8 +72,8 @@ def batch_translate_text(project_id, input_uri, output_uri): result = operation.result(90) - print('Total Characters: {}'.format(result.total_characters)) - print('Translated Characters: {}'.format(result.translated_characters)) + print(u'Total Characters: {}'.format(result.total_characters)) + print(u'Translated Characters: {}'.format(result.translated_characters)) # [END translate_batch_translate_text_beta] @@ -93,7 +94,7 @@ def detect_language(project_id, text): mime_type='text/plain') # mime types: text/plain, text/html for language in response.languages: - print('Language Code: {} (Confidence: {})'.format( + print(u'Language Code: {} (Confidence: {})'.format( language.language_code, language.confidence)) # [END translate_detect_language_beta] @@ -113,7 +114,7 @@ def list_languages(project_id): print('Supported Languages:') for language in response.languages: - print('Language Code: {}'.format(language.language_code)) + print(u'Language Code: {}'.format(language.language_code)) # [END translate_list_codes_beta] @@ -134,8 +135,8 @@ def list_languages_with_target(project_id, display_language_code): print('Supported Languages:') for language in response.languages: - print('Language Code: {}'.format(language.language_code)) - print('Display Name: {}\n'.format(language.display_name)) + print(u'Language Code: {}'.format(language.language_code)) + print(u'Display Name: {}\n'.format(language.display_name)) # [END translate_list_language_names_beta] @@ -172,8 +173,8 @@ def create_glossary(project_id, glossary_id): operation = client.create_glossary(parent=parent, glossary=glossary) result = operation.result(timeout=90) - print('Created: {}'.format(result.name)) - print('Input Uri: {}'.format(result.input_config.gcs_source.input_uri)) + print(u'Created: {}'.format(result.name)) + print(u'Input Uri: {}'.format(result.input_config.gcs_source.input_uri)) # [END translate_create_glossary_beta] @@ -188,12 +189,12 @@ def list_glossaries(project_id): parent = client.location_path(project_id, location) for glossary in client.list_glossaries(parent): - print('Name: {}'.format(glossary.name)) - print('Entry count: {}'.format(glossary.entry_count)) - print('Input uri: {}'.format( + print(u'Name: {}'.format(glossary.name)) + print(u'Entry count: {}'.format(glossary.entry_count)) + print(u'Input uri: {}'.format( glossary.input_config.gcs_source.input_uri)) for language_code in glossary.language_codes_set.language_codes: - print('Language code: {}'.format(language_code)) + print(u'Language code: {}'.format(language_code)) # [END translate_list_glossary_beta] @@ -211,13 +212,13 @@ def get_glossary(project_id, glossary_id): glossary_id) response = client.get_glossary(parent) - print('Name: {}'.format(response.name)) - print('Language Pair:') - print('\tSource Language Code: {}'.format( + print(u'Name: {}'.format(response.name)) + print(u'Language Pair:') + print(u'\tSource Language Code: {}'.format( response.language_pair.source_language_code)) - print('\tTarget Language Code: {}'.format( + print(u'\tTarget Language Code: {}'.format( response.language_pair.target_language_code)) - print('Input Uri: {}'.format( + print(u'Input Uri: {}'.format( response.input_config.gcs_source.input_uri)) # [END translate_get_glossary_beta] @@ -237,7 +238,7 @@ def delete_glossary(project_id, glossary_id): operation = client.delete_glossary(parent) result = operation.result(timeout=90) - print('Deleted: {}'.format(result.name)) + print(u'Deleted: {}'.format(result.name)) # [END translate_delete_glossary_beta] diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 6f6f2959cce..10a30c80073 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -63,7 +64,7 @@ def unique_glossary_id(): def test_translate_text(capsys): beta_snippets.translate_text(PROJECT_ID, 'Hello world') out, _ = capsys.readouterr() - assert 'Zdravo svet' in out or 'Pozdrav svijetu' in out + assert 'Zdravo svijete' in out or 'Pozdrav svijetu' in out def test_batch_translate_text(capsys, bucket): @@ -77,7 +78,7 @@ def test_batch_translate_text(capsys, bucket): def test_detect_language(capsys): - beta_snippets.detect_language(PROJECT_ID, 'Hæ sæta') + beta_snippets.detect_language(PROJECT_ID, u'Hæ sæta') out, _ = capsys.readouterr() assert 'is' in out From 4c7db157e7b3c49ac9f226cd8605ddd97ac41b60 Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Tue, 7 Jan 2020 11:12:01 -0700 Subject: [PATCH 051/270] automl: add natural language sentiment analysis ga samples [(#2677)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2677) * automl: add natural language sentiment analysis ga samples * Add links to documentation * Update tests to use centralized project * Fix environment variable, make translate test less flaky --- translation/samples/snippets/beta_snippets_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 10a30c80073..4d65c3c2cd6 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -64,7 +64,7 @@ def unique_glossary_id(): def test_translate_text(capsys): beta_snippets.translate_text(PROJECT_ID, 'Hello world') out, _ = capsys.readouterr() - assert 'Zdravo svijete' in out or 'Pozdrav svijetu' in out + assert 'Translated Text:' in out def test_batch_translate_text(capsys, bucket): From e0f3482f05d1185f410a445e6825910d20740867 Mon Sep 17 00:00:00 2001 From: "Leah E. Cole" <6719667+leahecole@users.noreply.github.com> Date: Tue, 21 Jan 2020 15:22:35 -0800 Subject: [PATCH 052/270] fix region tag typo [(#2731)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2731) --- .../samples/snippets/hybrid_glossaries/hybrid_tutorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index 5ed55458246..42f854eb147 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -242,7 +242,7 @@ def main(): PROJECT_ID, glossary_name) # translated text -> synthetic audio text_to_speech(text_to_speak, outfile) - # [END transalte_hybrid_integration] + # [END translate_hybrid_integration] if __name__ == '__main__': From 99f37b2bc743aff80401d2e58dc4cfa0ec6f2b39 Mon Sep 17 00:00:00 2001 From: Michelle Casbon Date: Fri, 31 Jan 2020 14:25:43 -0800 Subject: [PATCH 053/270] Migrate published samples [(#2759)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2759) Migrate from tmp-generated-samples branch 615c08e Remove boilerplate Update copyright date Blacken Remove unused imports Shorten docstrings Remove CLI Set defaults in function definition Add link to supported types guide Inline function arguments Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> --- .../snippets/translate_v3_translate_text.py | 40 +++++++++++++++++++ .../translate_v3_translate_text_test.py | 24 +++++++++++ 2 files changed, 64 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_translate_text.py create mode 100644 translation/samples/snippets/translate_v3_translate_text_test.py diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py new file mode 100644 index 00000000000..b6820aaffee --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -0,0 +1,40 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_translate_text] +from google.cloud import translate + + +def sample_translate_text(project_id="[Google Cloud Project ID]"): + """Translating Text.""" + + client = translate.TranslationServiceClient() + + parent = client.location_path(project_id, "global") + + # Detail on supported types can be found here: + # https://cloud.google.com/translate/docs/supported-formats + response = client.translate_text( + parent=parent, + contents=["Hello, world!"], + mime_type="text/plain", # mime types: text/plain, text/html + source_language_code="en-US", + target_language_code="fr", + ) + # Display the translation for each input text provided + for translation in response.translations: + print(u"Translated text: {}".format(translation.translated_text)) + + +# [END translate_v3_translate_text] diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py new file mode 100644 index 00000000000..e4f8acfb14a --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -0,0 +1,24 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_translate_text + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] + + +def test_translate_text(capsys): + translate_v3_translate_text.sample_translate_text(PROJECT_ID) + out, _ = capsys.readouterr() + assert "Bonjour le monde" in out From d7c311aea9c02698c105e59d030607834f6971b8 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Tue, 4 Feb 2020 11:42:28 -0800 Subject: [PATCH 054/270] translate v3 snippets [(#2745)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2745) * translate text v3 * added translate text with glossary snippets * finished glossary tests * removed overlapping files * added encoding tag * added more descriptive docs and broke down tests * Update translate/cloud-client/translate_v3_create_glossary.py Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> * Update translate/cloud-client/translate_v3_create_glossary.py Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> * fixed test for translate with glossary * fixed lint Co-authored-by: Michelle Casbon Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> --- .../snippets/translate_v3_create_glossary.py | 59 +++++++++++++++++++ .../translate_v3_create_glossary_test.py | 38 ++++++++++++ .../snippets/translate_v3_delete_glossary.py | 32 ++++++++++ .../translate_v3_delete_glossary_test.py | 34 +++++++++++ .../snippets/translate_v3_get_glossary.py | 32 ++++++++++ .../translate_v3_get_glossary_test.py | 45 ++++++++++++++ .../snippets/translate_v3_translate_text.py | 2 +- ...anslate_v3_translate_text_with_glossary.py | 51 ++++++++++++++++ ...te_v3_translate_text_with_glossary_test.py | 48 +++++++++++++++ 9 files changed, 340 insertions(+), 1 deletion(-) create mode 100644 translation/samples/snippets/translate_v3_create_glossary.py create mode 100644 translation/samples/snippets/translate_v3_create_glossary_test.py create mode 100644 translation/samples/snippets/translate_v3_delete_glossary.py create mode 100644 translation/samples/snippets/translate_v3_delete_glossary_test.py create mode 100644 translation/samples/snippets/translate_v3_get_glossary.py create mode 100644 translation/samples/snippets/translate_v3_get_glossary_test.py create mode 100644 translation/samples/snippets/translate_v3_translate_text_with_glossary.py create mode 100644 translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translation/samples/snippets/translate_v3_create_glossary.py new file mode 100644 index 00000000000..b42d33c8e96 --- /dev/null +++ b/translation/samples/snippets/translate_v3_create_glossary.py @@ -0,0 +1,59 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_create_glossary] +from google.cloud import translate_v3 as translate + + +def create_glossary( + project_id="YOUR_PROJECT_ID", + input_uri="YOUR_INPUT_URI", + glossary_id="YOUR_GLOSSARY_ID", +): + """ + Create a equivalent term sets glossary. Glossary can be words or + short phrases (usually fewer than five words). + https://cloud.google.com/translate/docs/advanced/glossary#format-glossary + """ + client = translate.TranslationServiceClient() + + # Supported language codes: https://cloud.google.com/translate/docs/languages + source_lang_code = "en" + target_lang_code = "ja" + location = "us-central1" # The location of the glossary + + name = client.glossary_path(project_id, location, glossary_id) + language_codes_set = translate.types.Glossary.LanguageCodesSet( + language_codes=[source_lang_code, target_lang_code] + ) + + gcs_source = translate.types.GcsSource(input_uri=input_uri) + + input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source) + + glossary = translate.types.Glossary( + name=name, language_codes_set=language_codes_set, input_config=input_config + ) + + parent = client.location_path(project_id, location) + # glossary is a custom dictionary Translation API uses + # to translate the domain-specific terminology. + operation = client.create_glossary(parent=parent, glossary=glossary) + + result = operation.result(timeout=90) + print("Created: {}".format(result.name)) + print("Input Uri: {}".format(result.input_config.gcs_source.input_uri)) + + +# [END translate_v3_create_glossary] diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py new file mode 100644 index 00000000000..bf9f08cb951 --- /dev/null +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -0,0 +1,38 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_create_glossary +import translate_v3_delete_glossary +import uuid + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +def test_create_glossary(capsys): + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + out, _ = capsys.readouterr() + # assert + assert "Created:" in out + assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out + + # clean up after use + try: + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py new file mode 100644 index 00000000000..da1acb40c7b --- /dev/null +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -0,0 +1,32 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_delete_glossary] +from google.cloud import translate_v3 as translate + + +def delete_glossary( + project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID" +): + """Delete a specific glossary based on the glossary ID.""" + client = translate.TranslationServiceClient() + + parent = client.glossary_path(project_id, "us-central1", glossary_id) + + operation = client.delete_glossary(parent) + result = operation.result(timeout=90) + print("Deleted: {}".format(result.name)) + + +# [END translate_v3_delete_glossary] diff --git a/translation/samples/snippets/translate_v3_delete_glossary_test.py b/translation/samples/snippets/translate_v3_delete_glossary_test.py new file mode 100644 index 00000000000..1c1fb2da52b --- /dev/null +++ b/translation/samples/snippets/translate_v3_delete_glossary_test.py @@ -0,0 +1,34 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_create_glossary +import translate_v3_delete_glossary +import uuid + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +def test_delete_glossary(capsys): + # setup + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + + # assert + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + out, _ = capsys.readouterr() + assert "Deleted:" in out diff --git a/translation/samples/snippets/translate_v3_get_glossary.py b/translation/samples/snippets/translate_v3_get_glossary.py new file mode 100644 index 00000000000..99753136c5b --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_glossary.py @@ -0,0 +1,32 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_get_glossary] +from google.cloud import translate_v3 as translate + + +def get_glossary(project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID"): + """Get a particular glossary based on the glossary ID.""" + + client = translate.TranslationServiceClient() + + name = client.glossary_path(project_id, "us-central1", glossary_id) + + response = client.get_glossary(name) + print(u"Glossary name: {}".format(response.name)) + print(u"Entry count: {}".format(response.entry_count)) + print(u"Input URI: {}".format(response.input_config.gcs_source.input_uri)) + + +# [END translate_v3_get_glossary] diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py new file mode 100644 index 00000000000..7a4aa167cea --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -0,0 +1,45 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import translate_v3_create_glossary +import translate_v3_delete_glossary +import translate_v3_get_glossary +import uuid + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +@pytest.fixture(scope="session") +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + + yield glossary_id + + try: + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +def test_get_glossary(capsys, glossary): + translate_v3_get_glossary.get_glossary(PROJECT_ID, glossary) + out, _ = capsys.readouterr() + assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index b6820aaffee..c5034c94e84 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_translate_text(project_id="[Google Cloud Project ID]"): +def sample_translate_text(project_id="YOUR_PROJECT_ID"): """Translating Text.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py new file mode 100644 index 00000000000..cc4da00576e --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py @@ -0,0 +1,51 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_translate_text_with_glossary] + +from google.cloud import translate_v3 + + +def translate_text_with_glossary( + text="YOUR_TEXT_TO_TRANSLATE", + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID" +): + """Translates a given text using a glossary.""" + + client = translate_v3.TranslationServiceClient() + + contents = [text] + parent = client.location_path(project_id, "us-central1") + + glossary = client.glossary_path( + project_id, "us-central1", glossary_id # The location of the glossary + ) + + glossary_config = translate_v3.types.TranslateTextGlossaryConfig(glossary=glossary) + + # Supported language codes: https://cloud.google.com/translate/docs/languages + response = client.translate_text( + contents, + target_language_code="ja", + source_language_code="en", + parent=parent, + glossary_config=glossary_config, + ) + print("Translated text: \n") + for translation in response.glossary_translations: + print(u"\t {}".format(translation.translated_text)) + + +# [END translate_v3_translate_text_with_glossary] diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py new file mode 100644 index 00000000000..72f9d64e2f8 --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -0,0 +1,48 @@ +# -*- encoding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import translate_v3_create_glossary +import translate_v3_delete_glossary +import translate_v3_translate_text_with_glossary +import uuid + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +@pytest.fixture(scope="session") +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + + yield glossary_id + + try: + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +def test_translate_text_with_glossary(capsys, glossary): + translate_v3_translate_text_with_glossary.translate_text_with_glossary( + "account", PROJECT_ID, glossary + ) + out, _ = capsys.readouterr() + assert "アカウント" or "口座" in out From ad3cc09dd2f9301eb5874fd4f6f4c612779d5895 Mon Sep 17 00:00:00 2001 From: Michelle Casbon Date: Tue, 4 Feb 2020 15:01:15 -0800 Subject: [PATCH 055/270] Translate: migrate published samples [(#2768)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2768) Migrate from tmp-generated-samples branch 615c08e Remove boilerplate Update copyright date Blacken Remove unused imports --- .../snippets/translate_v3_detect_language.py | 43 +++++++++++++++++++ .../translate_v3_detect_language_test.py | 24 +++++++++++ .../translate_v3_get_supported_languages.py | 34 +++++++++++++++ ...anslate_v3_get_supported_languages_test.py | 24 +++++++++++ 4 files changed, 125 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_detect_language.py create mode 100644 translation/samples/snippets/translate_v3_detect_language_test.py create mode 100644 translation/samples/snippets/translate_v3_get_supported_languages.py create mode 100644 translation/samples/snippets/translate_v3_get_supported_languages_test.py diff --git a/translation/samples/snippets/translate_v3_detect_language.py b/translation/samples/snippets/translate_v3_detect_language.py new file mode 100644 index 00000000000..9b92853cfca --- /dev/null +++ b/translation/samples/snippets/translate_v3_detect_language.py @@ -0,0 +1,43 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_detect_language] +from google.cloud import translate + + +def sample_detect_language(project_id="YOUR_PROJECT_ID"): + """Detecting the language of a text string.""" + + client = translate.TranslationServiceClient() + + parent = client.location_path(project_id, "global") + + # Detail on supported types can be found here: + # https://cloud.google.com/translate/docs/supported-formats + response = client.detect_language( + content="Hello, world!", + parent=parent, + mime_type="text/plain", # mime types: text/plain, text/html + ) + + # Display list of detected languages sorted by detection confidence. + # The most probable language is first. + for language in response.languages: + # The language detected + print(u"Language code: {}".format(language.language_code)) + # Confidence of detection result for this language + print(u"Confidence: {}".format(language.confidence)) + + +# [END translate_v3_detect_language] diff --git a/translation/samples/snippets/translate_v3_detect_language_test.py b/translation/samples/snippets/translate_v3_detect_language_test.py new file mode 100644 index 00000000000..82620bc550c --- /dev/null +++ b/translation/samples/snippets/translate_v3_detect_language_test.py @@ -0,0 +1,24 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_detect_language + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] + + +def test_detect_language(capsys): + translate_v3_detect_language.sample_detect_language(PROJECT_ID) + out, _ = capsys.readouterr() + assert "en" in out diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translation/samples/snippets/translate_v3_get_supported_languages.py new file mode 100644 index 00000000000..9a2df58dacc --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_supported_languages.py @@ -0,0 +1,34 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_get_supported_languages] +from google.cloud import translate + + +def sample_get_supported_languages(project_id="YOUR_PROJECT_ID"): + """Getting a list of supported language codes.""" + + client = translate.TranslationServiceClient() + + parent = client.location_path(project_id, "global") + + response = client.get_supported_languages(parent=parent) + + # List language codes of supported languages. + print("Supported Languages:") + for language in response.languages: + print(u"Language Code: {}".format(language.language_code)) + + +# [END translate_v3_get_supported_languages] diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_test.py new file mode 100644 index 00000000000..b4ba4cd22b3 --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_supported_languages_test.py @@ -0,0 +1,24 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_get_supported_languages + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] + + +def test_list_languages(capsys): + translate_v3_get_supported_languages.sample_get_supported_languages(PROJECT_ID) + out, _ = capsys.readouterr() + assert "zh-CN" in out From 3652d3c38056d6ec152510de48cd6a19938f4348 Mon Sep 17 00:00:00 2001 From: Michelle Casbon Date: Tue, 4 Feb 2020 15:23:11 -0800 Subject: [PATCH 056/270] Translate: migrate published glossaries samples [(#2769)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2769) Migrate from tmp-generated-samples branch fef998b Remove boilerplate Update copyright date Blacken Remove unused imports Shorten docstrings Remove CLI --- .../snippets/translate_v3_list_glossary.py | 40 ++++++++++++++++ .../translate_v3_list_glossary_test.py | 46 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_list_glossary.py create mode 100644 translation/samples/snippets/translate_v3_list_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_list_glossary.py b/translation/samples/snippets/translate_v3_list_glossary.py new file mode 100644 index 00000000000..e52d6b260ed --- /dev/null +++ b/translation/samples/snippets/translate_v3_list_glossary.py @@ -0,0 +1,40 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_list_glossary] +from google.cloud import translate + + +def sample_list_glossaries(project_id="YOUR_PROJECT_ID"): + """List Glossaries.""" + + client = translate.TranslationServiceClient() + + parent = client.location_path(project_id, "us-central1") + + # Iterate over all results + for glossary in client.list_glossaries(parent): + print("Name: {}".format(glossary.name)) + print("Entry count: {}".format(glossary.entry_count)) + print("Input uri: {}".format(glossary.input_config.gcs_source.input_uri)) + + # Note: You can create a glossary using one of two modes: + # language_code_set or language_pair. When listing the information for + # a glossary, you can only get information for the mode you used + # when creating the glossary. + for language_code in glossary.language_codes_set.language_codes: + print("Language code: {}".format(language_code)) + + +# [END translate_v3_list_glossary] diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py new file mode 100644 index 00000000000..de77daba802 --- /dev/null +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -0,0 +1,46 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import translate_v3_create_glossary +import translate_v3_delete_glossary +import translate_v3_list_glossary +import uuid + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +@pytest.fixture(scope="session") +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + + yield glossary_id + + try: + translate_v3_delete_glossary.sample_delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +def test_list_glossary(capsys, glossary): + translate_v3_list_glossary.sample_list_glossaries(PROJECT_ID) + out, _ = capsys.readouterr() + assert glossary in out + assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out From d9987944156dd70429186bed29a6963c06348b3c Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Thu, 20 Feb 2020 14:47:23 -0700 Subject: [PATCH 057/270] translate: increase timeout [(#2937)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2937) --- translation/samples/snippets/beta_snippets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 530932779a9..08ee5b72fe6 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -70,7 +70,7 @@ def batch_translate_text(project_id, input_uri, output_uri): input_configs=[input_config], output_config=output_config) - result = operation.result(90) + result = operation.result(180) print(u'Total Characters: {}'.format(result.total_characters)) print(u'Translated Characters: {}'.format(result.translated_characters)) From bafe1611049b76dddf7b469bdaaf9cf624fb993e Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Mon, 2 Mar 2020 15:29:23 -0800 Subject: [PATCH 058/270] Translate: migrate published v3 translate batch samples [(#2914)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2914) * Translate: migrate published b v3 tch samples * added missing requirements * extended wait time * inlined some vals and specified input and output * added link to supported file types & modified default values of input uri * fixed small nit --- .../translate_v3_batch_translate_text.py | 55 ++++++++++++++ .../translate_v3_batch_translate_text_test.py | 43 +++++++++++ ...e_v3_batch_translate_text_with_glossary.py | 74 +++++++++++++++++++ ...batch_translate_text_with_glossary_test.py | 64 ++++++++++++++++ 4 files changed, 236 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text.py create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_test.py create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py new file mode 100644 index 00000000000..b4650e054b2 --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -0,0 +1,55 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_batch_translate_text] +from google.cloud import translate + + +def batch_translate_text( + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID" +): + """Translates a batch of texts on GCS and stores the result in a GCS location.""" + + client = translate.TranslationServiceClient() + + location = "us-central1" + # Supported file types: https://cloud.google.com/translate/docs/supported-formats + gcs_source = {"input_uri": input_uri} + + input_configs_element = { + "gcs_source": gcs_source, + "mime_type": "text/plain" # Can be "text/plain" or "text/html". + } + gcs_destination = {"output_uri_prefix": output_uri} + output_config = {"gcs_destination": gcs_destination} + parent = client.location_path(project_id, location) + + # Supported language codes: https://cloud.google.com/translate/docs/language + operation = client.batch_translate_text( + parent=parent, + source_language_code="en", + target_language_codes=["ja"], # Up to 10 language codes here. + input_configs=[input_configs_element], + output_config=output_config) + + print(u"Waiting for operation to complete...") + response = operation.result(90) + + print(u"Total Characters: {}".format(response.total_characters)) + print(u"Translated Characters: {}".format(response.translated_characters)) + + +# [END translate_v3_batch_translate_text] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py new file mode 100644 index 00000000000..c6e1e6e352e --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -0,0 +1,43 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import translate_v3_batch_translate_text +import uuid +from google.cloud import storage + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] + + +@pytest.fixture(scope="function") +def bucket(): + """Create a temporary bucket to store annotation output.""" + bucket_name = str(uuid.uuid1()) + storage_client = storage.Client() + bucket = storage_client.create_bucket(bucket_name) + + yield bucket + + bucket.delete(force=True) + + +def test_batch_translate_text(capsys, bucket): + translate_v3_batch_translate_text.batch_translate_text( + "gs://cloud-samples-data/translation/text.txt", + "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + PROJECT_ID, + ) + out, _ = capsys.readouterr() + assert "Total Characters" in out diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py new file mode 100644 index 00000000000..fa08d641b5e --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -0,0 +1,74 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# [START translate_v3_batch_translate_text_with_glossary] +from google.cloud import translate + + +def batch_translate_text_with_glossary( + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID", +): + """Translates a batch of texts on GCS and stores the result in a GCS location. + Glossary is applied for translation.""" + + client = translate.TranslationServiceClient() + + # Supported language codes: https://cloud.google.com/translate/docs/languages + location = "us-central1" + + # Supported file types: https://cloud.google.com/translate/docs/supported-formats + gcs_source = {"input_uri": input_uri} + + input_configs_element = { + "gcs_source": gcs_source, + "mime_type": "text/plain" # Can be "text/plain" or "text/html". + } + gcs_destination = {"output_uri_prefix": output_uri} + output_config = {"gcs_destination": gcs_destination} + + parent = client.location_path(project_id, location) + + # glossary is a custom dictionary Translation API uses + # to translate the domain-specific terminology. + glossary_path = client.glossary_path( + project_id, "us-central1", glossary_id # The location of the glossary + ) + + glossary_config = translate.types.TranslateTextGlossaryConfig( + glossary=glossary_path + ) + + glossaries = {"ja": glossary_config} # target lang as key + + operation = client.batch_translate_text( + parent=parent, + source_language_code="en", + target_language_codes=["ja"], # Up to 10 language codes here. + input_configs=[input_configs_element], + glossaries=glossaries, + output_config=output_config, + ) + + print(u"Waiting for operation to complete...") + response = operation.result(120) + + print(u"Total Characters: {}".format(response.total_characters)) + print(u"Translated Characters: {}".format(response.translated_characters)) + + +# [END translate_v3_batch_translate_text_with_glossary] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py new file mode 100644 index 00000000000..87d97b73c04 --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -0,0 +1,64 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import uuid +import translate_v3_batch_translate_text_with_glossary +import translate_v3_create_glossary +import translate_v3_delete_glossary +from google.cloud import storage + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" + + +@pytest.fixture(scope="session") +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + + yield glossary_id + + try: + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + + +@pytest.fixture(scope="function") +def bucket(): + """Create a temporary bucket to store annotation output.""" + bucket_name = str(uuid.uuid1()) + storage_client = storage.Client() + bucket = storage_client.create_bucket(bucket_name) + + yield bucket + + bucket.delete(force=True) + + +def test_batch_translate_text_with_glossary(capsys, bucket, glossary): + translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( + "gs://cloud-samples-data/translation/text_with_glossary.txt", + "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + PROJECT_ID, + glossary, + ) + + out, _ = capsys.readouterr() + assert "Total Characters: 9" in out From 4136aee55a185544d76f9c97928748ee1e34f91f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 9 Mar 2020 18:29:59 +0100 Subject: [PATCH 059/270] chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3046) * chore(deps): update dependency google-cloud-storage to v1.26.0 * chore(deps): specify dependencies by python version * chore: up other deps to try to remove errors Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Co-authored-by: Leah Cole --- translation/samples/snippets/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index f8a1e7fe5e6..cd0aee0597c 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-translate==2.0.0 -google-cloud-storage==1.19.1 +google-cloud-translate==2.0.1 +google-cloud-storage==1.26.0 From bce98f5e74ad3da2457ea980dce616cf45231b77 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 11 Mar 2020 18:04:03 +0100 Subject: [PATCH 060/270] chore(deps): update dependency google-cloud-translate to v1.7.0 [(#3084)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3084) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | minor | `==1.6.0` -> `==1.7.0` | --- ### Release Notes

    googleapis/python-translate ### [`v1.7.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​170) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v1.6.0...v1.7.0) 10-07-2019 14:57 PDT ##### Implementation Changes - Update docstrings, client confg (via synth). ([#​9411](https://togithub.com/googleapis/google-cloud-python/pull/9411)) - Remove send / receive message size limit (via synth). ([#​8974](https://togithub.com/googleapis/google-cloud-python/pull/8974)) ##### New Features - Add support for V3 of the API. ([#​9020](https://togithub.com/googleapis/google-cloud-python/pull/9020)) - Make `parent` argument required for all client methods in v3beta1; add `labels` argument (via synth). ([#​9354](https://togithub.com/googleapis/google-cloud-python/pull/9354)) - Add client options to translate_v2. ([#​8737](https://togithub.com/googleapis/google-cloud-python/pull/8737)) ##### Dependencies - Bump minimum version for google-api-core to 1.14.0. ([#​8709](https://togithub.com/googleapis/google-cloud-python/pull/8709)) ##### Documentation - Fix links to reference documentation. ([#​8884](https://togithub.com/googleapis/google-cloud-python/pull/8884)) - Link to googleapis.dev documentation in READMEs. ([#​8705](https://togithub.com/googleapis/google-cloud-python/pull/8705)) ##### Internal / Testing Changes - Update `ListGlossaries` method annotation (via synth) ([#​9385](https://togithub.com/googleapis/google-cloud-python/pull/9385)) - Fix intersphinx reference to requests ([#​9294](https://togithub.com/googleapis/google-cloud-python/pull/9294)) - Remove CI for gh-pages, use googleapis.dev for api_core refs. ([#​9085](https://togithub.com/googleapis/google-cloud-python/pull/9085)) - Update intersphinx mapping for requests. ([#​8805](https://togithub.com/googleapis/google-cloud-python/pull/8805))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 7a4a32b396e..8620e46bac4 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==1.6.0 +google-cloud-translate==1.7.0 google-cloud-vision==0.39.0 google-cloud-texttospeech==0.5.0 From 4c0e7761c514a93bf752163484c15f1946fba6e7 Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Thu, 12 Mar 2020 10:08:04 -0600 Subject: [PATCH 061/270] translate: fix tests [(#3087)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3087) Fix: https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3018 --- .../hybrid_glossaries/resources/example.mp3 | Bin 0 -> 32064 bytes .../translate_v3_batch_translate_text.py | 2 +- .../translate_v3_batch_translate_text_test.py | 2 +- ...ate_v3_batch_translate_text_with_glossary.py | 2 +- ...3_batch_translate_text_with_glossary_test.py | 2 +- .../snippets/translate_v3_create_glossary.py | 2 +- .../translate_v3_create_glossary_test.py | 2 +- .../snippets/translate_v3_delete_glossary.py | 2 +- .../translate_v3_delete_glossary_test.py | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 translation/samples/snippets/hybrid_glossaries/resources/example.mp3 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/example.mp3 b/translation/samples/snippets/hybrid_glossaries/resources/example.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5b5f02512dcbb94f13bb62b5bc14f4986cd24109 GIT binary patch literal 32064 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 IpU2n!FPf=&EC2ui literal 0 HcmV?d00001 diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py index b4650e054b2..6c67d2c22dc 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -46,7 +46,7 @@ def batch_translate_text( output_config=output_config) print(u"Waiting for operation to complete...") - response = operation.result(90) + response = operation.result(180) print(u"Total Characters: {}".format(response.total_characters)) print(u"Translated Characters: {}".format(response.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index c6e1e6e352e..2474f60d56a 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -24,7 +24,7 @@ @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = str(uuid.uuid1()) + bucket_name = "test-{}".format(uuid.uuid4()) storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py index fa08d641b5e..d72c31860b8 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -65,7 +65,7 @@ def batch_translate_text_with_glossary( ) print(u"Waiting for operation to complete...") - response = operation.result(120) + response = operation.result(180) print(u"Total Characters: {}".format(response.total_characters)) print(u"Translated Characters: {}".format(response.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 87d97b73c04..0e79bf9b869 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -27,7 +27,7 @@ @pytest.fixture(scope="session") def glossary(): """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + glossary_id = "test-{}".format(uuid.uuid4()) translate_v3_create_glossary.create_glossary( PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id ) diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translation/samples/snippets/translate_v3_create_glossary.py index b42d33c8e96..a94e488eb4a 100644 --- a/translation/samples/snippets/translate_v3_create_glossary.py +++ b/translation/samples/snippets/translate_v3_create_glossary.py @@ -51,7 +51,7 @@ def create_glossary( # to translate the domain-specific terminology. operation = client.create_glossary(parent=parent, glossary=glossary) - result = operation.result(timeout=90) + result = operation.result(timeout=180) print("Created: {}".format(result.name)) print("Input Uri: {}".format(result.input_config.gcs_source.input_uri)) diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index bf9f08cb951..77a2cf1435c 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -22,7 +22,7 @@ def test_create_glossary(capsys): - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + glossary_id = "test-{}".format(uuid.uuid4()) translate_v3_create_glossary.create_glossary( PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id ) diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py index da1acb40c7b..f3f89753214 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary.py +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -25,7 +25,7 @@ def delete_glossary( parent = client.glossary_path(project_id, "us-central1", glossary_id) operation = client.delete_glossary(parent) - result = operation.result(timeout=90) + result = operation.result(timeout=180) print("Deleted: {}".format(result.name)) diff --git a/translation/samples/snippets/translate_v3_delete_glossary_test.py b/translation/samples/snippets/translate_v3_delete_glossary_test.py index 1c1fb2da52b..8d7fb2d9245 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary_test.py +++ b/translation/samples/snippets/translate_v3_delete_glossary_test.py @@ -23,7 +23,7 @@ def test_delete_glossary(capsys): # setup - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + glossary_id = "test-{}".format(uuid.uuid4()) translate_v3_create_glossary.create_glossary( PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id ) From 4590d8c2d4206b7f694976725ae6c2b9e4a704da Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Mon, 16 Mar 2020 12:14:19 -0700 Subject: [PATCH 062/270] translate-v3: samples [(#3034)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3034) * translate with custom model, get supported langs * inlined small nit * added encoding to model test * added missing region tags and link to supported langs * inlined text-to-translate * directly inlined contents * revert text-translate vars * reversed inlined text params * small nit Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> --- .../translate_v3_get_supported_languages.py | 1 + ..._v3_get_supported_languages_with_target.py | 35 ++++++++++++++ ...et_supported_languages_with_target_test.py | 27 +++++++++++ .../snippets/translate_v3_translate_text.py | 4 +- .../translate_v3_translate_text_test.py | 3 +- ...anslate_v3_translate_text_with_glossary.py | 9 ++-- .../translate_v3_translate_text_with_model.py | 48 +++++++++++++++++++ ...slate_v3_translate_text_with_model_test.py | 28 +++++++++++ 8 files changed, 147 insertions(+), 8 deletions(-) create mode 100644 translation/samples/snippets/translate_v3_get_supported_languages_with_target.py create mode 100644 translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py create mode 100644 translation/samples/snippets/translate_v3_translate_text_with_model.py create mode 100644 translation/samples/snippets/translate_v3_translate_text_with_model_test.py diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translation/samples/snippets/translate_v3_get_supported_languages.py index 9a2df58dacc..eb7d83666a4 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages.py @@ -23,6 +23,7 @@ def sample_get_supported_languages(project_id="YOUR_PROJECT_ID"): parent = client.location_path(project_id, "global") + # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.get_supported_languages(parent=parent) # List language codes of supported languages. diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py new file mode 100644 index 00000000000..f71138b533e --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py @@ -0,0 +1,35 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_get_supported_languages_for_target] +from google.cloud import translate + + +def get_supported_languages_with_target(project_id="YOUR_PROJECT_ID"): + """Listing supported languages with target language name.""" + + client = translate.TranslationServiceClient() + parent = client.location_path(project_id, "global") + + # Supported language codes: https://cloud.google.com/translate/docs/languages + response = client.get_supported_languages( + display_language_code="is", # target language code + parent=parent + ) + # List language codes of supported languages + for language in response.languages: + print(u"Language Code: {}".format(language.language_code)) + print(u"Display Name: {}".format(language.display_name)) + +# [END translate_v3_get_supported_languages_for_target] diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py new file mode 100644 index 00000000000..aa40efe4bb7 --- /dev/null +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py @@ -0,0 +1,27 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_get_supported_languages_with_target as get_supported_langs + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] + + +def test_list_languages_with_target(capsys): + get_supported_langs.get_supported_languages_with_target( + PROJECT_ID + ) + out, _ = capsys.readouterr() + assert u"Language Code: sq" in out + assert u"Display Name: albanska" in out diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index c5034c94e84..77fcec26dee 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_translate_text(project_id="YOUR_PROJECT_ID"): +def sample_translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): """Translating Text.""" client = translate.TranslationServiceClient() @@ -27,7 +27,7 @@ def sample_translate_text(project_id="YOUR_PROJECT_ID"): # https://cloud.google.com/translate/docs/supported-formats response = client.translate_text( parent=parent, - contents=["Hello, world!"], + contents=[text], mime_type="text/plain", # mime types: text/plain, text/html source_language_code="en-US", target_language_code="fr", diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py index e4f8acfb14a..a6319019781 100644 --- a/translation/samples/snippets/translate_v3_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -19,6 +19,7 @@ def test_translate_text(capsys): - translate_v3_translate_text.sample_translate_text(PROJECT_ID) + translate_v3_translate_text.sample_translate_text( + "Hello World!", PROJECT_ID) out, _ = capsys.readouterr() assert "Bonjour le monde" in out diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py index cc4da00576e..ca0eeaccced 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py @@ -20,24 +20,23 @@ def translate_text_with_glossary( text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID", - glossary_id="YOUR_GLOSSARY_ID" + glossary_id="YOUR_GLOSSARY_ID", ): """Translates a given text using a glossary.""" client = translate_v3.TranslationServiceClient() - - contents = [text] parent = client.location_path(project_id, "us-central1") glossary = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary ) - glossary_config = translate_v3.types.TranslateTextGlossaryConfig(glossary=glossary) + glossary_config = translate_v3.types.TranslateTextGlossaryConfig( + glossary=glossary) # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.translate_text( - contents, + contents=[text], target_language_code="ja", source_language_code="en", parent=parent, diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model.py b/translation/samples/snippets/translate_v3_translate_text_with_model.py new file mode 100644 index 00000000000..8a0b0bb7825 --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text_with_model.py @@ -0,0 +1,48 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START translate_v3_translate_text_with_model] + +from google.cloud import translate + + +def translate_text_with_model( + text="YOUR_TEXT_TO_TRANSLATE", + project_id="YOUR_PROJECT_ID", + model_id="YOUR_MODEL_ID", +): + """Translates a given text using Translation custom model.""" + + client = translate.TranslationServiceClient() + + parent = client.location_path(project_id, "us-central1") + model_path = "projects/{}/locations/{}/models/{}".format( + project_id, "us-central1", model_id + ) + + # Supported language codes: https://cloud.google.com/translate/docs/languages + response = client.translate_text( + contents=[text], + target_language_code="ja", + model=model_path, + source_language_code="en", + parent=parent, + mime_type="text/plain", # mime types: text/plain, text/html + ) + # Display the translation for each input text provided + for translation in response.translations: + print(u"Translated text: {}".format(translation.translated_text)) + + +# [END translate_v3_translate_text_with_model] diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py new file mode 100644 index 00000000000..6e6ab37eee1 --- /dev/null +++ b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py @@ -0,0 +1,28 @@ +# -*- encoding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import translate_v3_translate_text_with_model + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +MODEL_ID = "TRL3128559826197068699" + + +def test_translate_text_with_model(capsys): + translate_v3_translate_text_with_model.translate_text_with_model( + "That' il do it.", PROJECT_ID, MODEL_ID + ) + out, _ = capsys.readouterr() + assert "それはそうだ" or "それじゃあ" in out From 66bea45e1e92f13a5ffe1765923a7ead79e70b27 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 27 Mar 2020 22:15:56 +0100 Subject: [PATCH 063/270] chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3170) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 8620e46bac4..c06bb812257 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==1.7.0 -google-cloud-vision==0.39.0 +google-cloud-vision==0.42.0 google-cloud-texttospeech==0.5.0 From 94469b8ab3db7702b9b29d7bc5364497e55b7d0c Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sun, 29 Mar 2020 07:03:27 +0200 Subject: [PATCH 064/270] chore(deps): update dependency google-cloud-texttospeech to v1 [(#3210)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3210) Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index c06bb812257..1af4cbc59f0 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==1.7.0 google-cloud-vision==0.42.0 -google-cloud-texttospeech==0.5.0 +google-cloud-texttospeech==1.0.1 From 0b62ec91ae1b0a9f0176fd168275b8ee16fe2359 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 30 Mar 2020 21:52:15 +0200 Subject: [PATCH 065/270] chore(deps): update dependency google-cloud-translate to v2 [(#3211)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3211) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | major | `==1.7.0` -> `==2.0.1` | --- ### Release Notes
    googleapis/python-translate ### [`v2.0.1`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​201-httpswwwgithubcomgoogleapispython-translatecomparev200v201-2020-01-31) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v2.0.0...v2.0.1) ### [`v2.0.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​200) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v1.7.0...v2.0.0) 10-23-2019 11:13 PDT ##### New Features - Make v3 the default client. ([#​9498](https://togithub.com/googleapis/google-cloud-python/pull/9498)) ##### Internal / Testing Changes - Add VPC-SC system tests. ([#​9272](https://togithub.com/googleapis/google-cloud-python/pull/9272))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 1af4cbc59f0..ef2f7918c9d 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==1.7.0 +google-cloud-translate==2.0.1 google-cloud-vision==0.42.0 google-cloud-texttospeech==1.0.1 From 4c8804c4c2ee7322a24673fd1d0c92125d9ac2b8 Mon Sep 17 00:00:00 2001 From: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Date: Wed, 1 Apr 2020 19:11:50 -0700 Subject: [PATCH 066/270] Simplify noxfile setup. [(#2806)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2806) * chore(deps): update dependency requests to v2.23.0 * Simplify noxfile and add version control. * Configure appengine/standard to only test Python 2.7. * Update Kokokro configs to match noxfile. * Add requirements-test to each folder. * Remove Py2 versions from everything execept appengine/standard. * Remove conftest.py. * Remove appengine/standard/conftest.py * Remove 'no-sucess-flaky-report' from pytest.ini. * Add GAE SDK back to appengine/standard tests. * Fix typo. * Roll pytest to python 2 version. * Add a bunch of testing requirements. * Remove typo. * Add appengine lib directory back in. * Add some additional requirements. * Fix issue with flake8 args. * Even more requirements. * Readd appengine conftest.py. * Add a few more requirements. * Even more Appengine requirements. * Add webtest for appengine/standard/mailgun. * Add some additional requirements. * Add workaround for issue with mailjet-rest. * Add responses for appengine/standard/mailjet. Co-authored-by: Renovate Bot --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 1 + translation/samples/snippets/requirements-test.txt | 1 + 2 files changed, 2 insertions(+) create mode 100644 translation/samples/snippets/hybrid_glossaries/requirements-test.txt create mode 100644 translation/samples/snippets/requirements-test.txt diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt new file mode 100644 index 00000000000..781d4326c94 --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -0,0 +1 @@ +pytest==5.3.2 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt new file mode 100644 index 00000000000..781d4326c94 --- /dev/null +++ b/translation/samples/snippets/requirements-test.txt @@ -0,0 +1 @@ +pytest==5.3.2 From 0d58bb3c63d6ea5b84df5540598e63a22c1adef7 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 2 Apr 2020 19:36:05 +0200 Subject: [PATCH 067/270] Update dependency google-cloud-vision to v1 [(#3227)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3227) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-vision](https://togithub.com/googleapis/python-vision) | major | `==0.42.0` -> `==1.0.0` | --- ### Release Notes
    googleapis/python-vision ### [`v1.0.0`](https://togithub.com/googleapis/python-vision/blob/master/CHANGELOG.md#​100-httpswwwgithubcomgoogleapispython-visioncomparev0420v100-2020-02-28) [Compare Source](https://togithub.com/googleapis/python-vision/compare/v0.42.0...v1.0.0) ##### Features - bump release status to GA ([#​11](https://www.github.com/googleapis/python-vision/issues/11)) ([2129bde](https://www.github.com/googleapis/python-vision/commit/2129bdedfa0dca85c5adc5350bff10d4a485df77))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index ef2f7918c9d..d13c5f7d808 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==2.0.1 -google-cloud-vision==0.42.0 +google-cloud-vision==1.0.0 google-cloud-texttospeech==1.0.1 From 31c44cf73d7b8e97082abc6a33deeafaacd44f77 Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Tue, 14 Apr 2020 15:24:08 -0600 Subject: [PATCH 068/270] translate: make test generic [(#3386)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3386) Fix: https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3381 --- translation/samples/snippets/quickstart_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py index 4018daa060f..8def7f3e9ac 100644 --- a/translation/samples/snippets/quickstart_test.py +++ b/translation/samples/snippets/quickstart_test.py @@ -20,4 +20,4 @@ def test_quickstart(capsys): quickstart.run_quickstart() out, _ = capsys.readouterr() - assert u'Привет, мир!' in out + assert u'Translation' in out From ff6e0f511c12c2893be0c64870d84c9b6c2eb6f3 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Fri, 24 Apr 2020 14:49:15 -0700 Subject: [PATCH 069/270] [translate] fix: mark some tests as flaky [(#3495)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3495) tests which involve LRO. fixes #2875 --- translation/samples/snippets/beta_snippets_test.py | 3 +++ translation/samples/snippets/requirements-test.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 4d65c3c2cd6..ada9e348ba3 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -67,6 +67,7 @@ def test_translate_text(capsys): assert 'Translated Text:' in out +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_batch_translate_text(capsys, bucket): beta_snippets.batch_translate_text( PROJECT_ID, @@ -96,6 +97,7 @@ def test_list_languages_with_target(capsys): assert u'Display Name: albanska' in out +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_create_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) out, _ = capsys.readouterr() @@ -125,6 +127,7 @@ def test_translate_text_with_glossary(capsys, glossary): assert 'cuenta' in out +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_delete_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) beta_snippets.delete_glossary(PROJECT_ID, unique_glossary_id) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 781d4326c94..c6f9b64965a 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1 +1,2 @@ +flaky==3.6.1 pytest==5.3.2 From 36906ee2c53deab87cdbc313b2788557c882cd8d Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Fri, 24 Apr 2020 17:02:09 -0700 Subject: [PATCH 070/270] testing: replace @flaky with @pytest.mark.flaky [(#3496)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3496) * testing: replace @flaky with @pytest.mark.flaky * lint * mark few tests as flaky that involves LRO polling. * lint --- .../translate_v3_batch_translate_text_test.py | 1 + ...batch_translate_text_with_glossary_test.py | 1 + .../translate_v3_create_glossary_test.py | 34 +++++++++++-------- .../translate_v3_delete_glossary_test.py | 6 +++- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index 2474f60d56a..9dda7c04789 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -33,6 +33,7 @@ def bucket(): bucket.delete(force=True) +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_batch_translate_text(capsys, bucket): translate_v3_batch_translate_text.batch_translate_text( "gs://cloud-samples-data/translation/text.txt", diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 0e79bf9b869..e5010521189 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -52,6 +52,7 @@ def bucket(): bucket.delete(force=True) +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_batch_translate_text_with_glossary(capsys, bucket, glossary): translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( "gs://cloud-samples-data/translation/text_with_glossary.txt", diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index 77a2cf1435c..b24488c8089 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -13,26 +13,32 @@ # limitations under the License. import os +import uuid + +import pytest + import translate_v3_create_glossary import translate_v3_delete_glossary -import uuid PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_create_glossary(capsys): - glossary_id = "test-{}".format(uuid.uuid4()) - translate_v3_create_glossary.create_glossary( - PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id - ) - out, _ = capsys.readouterr() - # assert - assert "Created:" in out - assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out - - # clean up after use try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + glossary_id = "test-{}".format(uuid.uuid4()) + translate_v3_create_glossary.create_glossary( + PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id + ) + out, _ = capsys.readouterr() + # assert + assert "Created:" in out + assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out + finally: + # clean up after use + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except Exception: + pass diff --git a/translation/samples/snippets/translate_v3_delete_glossary_test.py b/translation/samples/snippets/translate_v3_delete_glossary_test.py index 8d7fb2d9245..4309ca01b95 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary_test.py +++ b/translation/samples/snippets/translate_v3_delete_glossary_test.py @@ -13,14 +13,18 @@ # limitations under the License. import os +import uuid + +import pytest + import translate_v3_create_glossary import translate_v3_delete_glossary -import uuid PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" +@pytest.mark.flaky(max_runs=3, min_passes=1) def test_delete_glossary(capsys): # setup glossary_id = "test-{}".format(uuid.uuid4()) From fc116ef05c2c45530866b4792d4cd437dbd90929 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 29 Apr 2020 07:26:36 +0200 Subject: [PATCH 071/270] chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260) Co-authored-by: Takashi Matsuo --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index cd0aee0597c..5fb0a1e6a69 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ google-cloud-translate==2.0.1 -google-cloud-storage==1.26.0 +google-cloud-storage==1.28.0 From 69a0970057ef30972ff7b0d4ad75f8ed107c5a0b Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 30 Apr 2020 17:53:21 -0700 Subject: [PATCH 072/270] translate: fix glossary leak issue [(#3572)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3572) * fix glossary leak issue * removed try/catch from teardown methods, removed sample_ prefix from all other methods * added specific exceptions to tests, added backoff tags to tests * fixed the lint issues * reordered imports * moved backoff inside methd and removed Retry * corrected import nit --- .../samples/snippets/requirements-test.txt | 3 ++- .../translate_v3_batch_translate_text_test.py | 8 ++++-- ...batch_translate_text_with_glossary_test.py | 27 ++++++++++++++----- .../translate_v3_create_glossary_test.py | 23 +++++++++++----- .../snippets/translate_v3_detect_language.py | 2 +- .../translate_v3_detect_language_test.py | 2 +- .../translate_v3_get_glossary_test.py | 25 +++++++++++++---- .../translate_v3_get_supported_languages.py | 2 +- ...anslate_v3_get_supported_languages_test.py | 2 +- .../snippets/translate_v3_list_glossary.py | 2 +- .../translate_v3_list_glossary_test.py | 27 ++++++++++++++----- .../snippets/translate_v3_translate_text.py | 2 +- .../translate_v3_translate_text_test.py | 2 +- ...te_v3_translate_text_with_glossary_test.py | 25 +++++++++++++---- 14 files changed, 114 insertions(+), 38 deletions(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index c6f9b64965a..1fccf2dd32e 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,2 +1,3 @@ +backoff==1.10.0 flaky==3.6.1 -pytest==5.3.2 +pytest==5.3.2 \ No newline at end of file diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index 9dda7c04789..4fa8626a736 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -13,11 +13,15 @@ # limitations under the License. import os -import pytest -import translate_v3_batch_translate_text import uuid + +import pytest + from google.cloud import storage +import translate_v3_batch_translate_text + + PROJECT_ID = os.environ["GCLOUD_PROJECT"] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index e5010521189..9af648f758a 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -13,12 +13,19 @@ # limitations under the License. import os -import pytest import uuid + +import backoff +import pytest + +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError +from google.cloud.exceptions import NotFound +from google.cloud import storage + import translate_v3_batch_translate_text_with_glossary import translate_v3_create_glossary import translate_v3_delete_glossary -from google.cloud import storage + PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" @@ -34,10 +41,18 @@ def glossary(): yield glossary_id - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + # cleanup + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() @pytest.fixture(scope="function") diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index b24488c8089..4b1e08ed640 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -15,11 +15,16 @@ import os import uuid +import backoff import pytest +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError +from google.cloud.exceptions import NotFound + import translate_v3_create_glossary import translate_v3_delete_glossary + PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" @@ -36,9 +41,15 @@ def test_create_glossary(capsys): assert "Created:" in out assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out finally: - # clean up after use - try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) - except Exception: - pass + # cleanup + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() diff --git a/translation/samples/snippets/translate_v3_detect_language.py b/translation/samples/snippets/translate_v3_detect_language.py index 9b92853cfca..759eb41a4d3 100644 --- a/translation/samples/snippets/translate_v3_detect_language.py +++ b/translation/samples/snippets/translate_v3_detect_language.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_detect_language(project_id="YOUR_PROJECT_ID"): +def detect_language(project_id="YOUR_PROJECT_ID"): """Detecting the language of a text string.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_detect_language_test.py b/translation/samples/snippets/translate_v3_detect_language_test.py index 82620bc550c..a538fc68aa6 100644 --- a/translation/samples/snippets/translate_v3_detect_language_test.py +++ b/translation/samples/snippets/translate_v3_detect_language_test.py @@ -19,6 +19,6 @@ def test_detect_language(capsys): - translate_v3_detect_language.sample_detect_language(PROJECT_ID) + translate_v3_detect_language.detect_language(PROJECT_ID) out, _ = capsys.readouterr() assert "en" in out diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py index 7a4aa167cea..8880bf6de5d 100644 --- a/translation/samples/snippets/translate_v3_get_glossary_test.py +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -13,11 +13,18 @@ # limitations under the License. import os +import uuid + +import backoff import pytest + +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError +from google.cloud.exceptions import NotFound + import translate_v3_create_glossary import translate_v3_delete_glossary import translate_v3_get_glossary -import uuid + PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" @@ -33,10 +40,18 @@ def glossary(): yield glossary_id - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + # cleanup + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() def test_get_glossary(capsys, glossary): diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translation/samples/snippets/translate_v3_get_supported_languages.py index eb7d83666a4..6e15458d9cc 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_get_supported_languages(project_id="YOUR_PROJECT_ID"): +def get_supported_languages(project_id="YOUR_PROJECT_ID"): """Getting a list of supported language codes.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_test.py index b4ba4cd22b3..cd4e44a445c 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_test.py @@ -19,6 +19,6 @@ def test_list_languages(capsys): - translate_v3_get_supported_languages.sample_get_supported_languages(PROJECT_ID) + translate_v3_get_supported_languages.get_supported_languages(PROJECT_ID) out, _ = capsys.readouterr() assert "zh-CN" in out diff --git a/translation/samples/snippets/translate_v3_list_glossary.py b/translation/samples/snippets/translate_v3_list_glossary.py index e52d6b260ed..53e51d85447 100644 --- a/translation/samples/snippets/translate_v3_list_glossary.py +++ b/translation/samples/snippets/translate_v3_list_glossary.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_list_glossaries(project_id="YOUR_PROJECT_ID"): +def list_glossaries(project_id="YOUR_PROJECT_ID"): """List Glossaries.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py index de77daba802..d0d38cde985 100644 --- a/translation/samples/snippets/translate_v3_list_glossary_test.py +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -13,11 +13,18 @@ # limitations under the License. import os +import uuid + +import backoff import pytest + +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError +from google.cloud.exceptions import NotFound + import translate_v3_create_glossary import translate_v3_delete_glossary import translate_v3_list_glossary -import uuid + PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" @@ -33,14 +40,22 @@ def glossary(): yield glossary_id - try: - translate_v3_delete_glossary.sample_delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + # clean up + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() def test_list_glossary(capsys, glossary): - translate_v3_list_glossary.sample_list_glossaries(PROJECT_ID) + translate_v3_list_glossary.list_glossaries(PROJECT_ID) out, _ = capsys.readouterr() assert glossary in out assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index 77fcec26dee..086f775a37f 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -16,7 +16,7 @@ from google.cloud import translate -def sample_translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): +def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): """Translating Text.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py index a6319019781..096b8dd847f 100644 --- a/translation/samples/snippets/translate_v3_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -19,7 +19,7 @@ def test_translate_text(capsys): - translate_v3_translate_text.sample_translate_text( + translate_v3_translate_text.translate_text( "Hello World!", PROJECT_ID) out, _ = capsys.readouterr() assert "Bonjour le monde" in out diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py index 72f9d64e2f8..adf66836fde 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -14,11 +14,18 @@ # limitations under the License. import os +import uuid + +import backoff import pytest + +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError +from google.cloud.exceptions import NotFound + import translate_v3_create_glossary import translate_v3_delete_glossary import translate_v3_translate_text_with_glossary -import uuid + PROJECT_ID = os.environ["GCLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" @@ -34,10 +41,18 @@ def glossary(): yield glossary_id - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + # cleanup + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary( + PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() def test_translate_text_with_glossary(capsys, glossary): From 732e1bfe05d8e54cab2ed58c4bddca319cde9cc2 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Tue, 12 May 2020 21:38:39 -0700 Subject: [PATCH 073/270] chore: some lint fixes [(#3751)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3751) * chore: some lint fixes * longer timeout, more retries * disable detect_test.py::test_async_detect_document --- translation/samples/snippets/beta_snippets_test.py | 7 +++++-- .../samples/snippets/hybrid_glossaries/hybrid_tutorial.py | 4 ++-- .../snippets/hybrid_glossaries/hybrid_tutorial_tests.py | 4 ++-- .../snippets/translate_v3_batch_translate_text_test.py | 3 +-- ...translate_v3_batch_translate_text_with_glossary_test.py | 5 ++--- .../samples/snippets/translate_v3_create_glossary_test.py | 3 +-- .../samples/snippets/translate_v3_detect_language_test.py | 2 ++ .../samples/snippets/translate_v3_get_glossary_test.py | 3 +-- .../snippets/translate_v3_get_supported_languages_test.py | 2 ++ ...ranslate_v3_get_supported_languages_with_target_test.py | 2 ++ .../samples/snippets/translate_v3_list_glossary_test.py | 3 +-- .../samples/snippets/translate_v3_translate_text_test.py | 2 ++ .../translate_v3_translate_text_with_glossary_test.py | 3 +-- .../translate_v3_translate_text_with_model_test.py | 2 ++ 14 files changed, 26 insertions(+), 19 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index ada9e348ba3..4852168567a 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -14,10 +14,13 @@ # limitations under the License. import os -import pytest import uuid -import beta_snippets + from google.cloud import storage +import pytest + +import beta_snippets + PROJECT_ID = os.environ['GCLOUD_PROJECT'] diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index 42f854eb147..0da84b72207 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -14,15 +14,15 @@ # [START translate_hybrid_imports] +import html import io import os -import html # Imports the Google Cloud client libraries from google.api_core.exceptions import AlreadyExists +from google.cloud import texttospeech from google.cloud import translate_v3beta1 as translate from google.cloud import vision -from google.cloud import texttospeech # [END translate_hybrid_imports] diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py index 87e8420a295..5224ca524a9 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py @@ -15,10 +15,10 @@ import os import sys -from hybrid_tutorial import pic_to_text from hybrid_tutorial import create_glossary -from hybrid_tutorial import translate_text +from hybrid_tutorial import pic_to_text from hybrid_tutorial import text_to_speech +from hybrid_tutorial import translate_text PROJECT_ID = os.environ['GCLOUD_PROJECT'] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index 4fa8626a736..85d03e0b7d5 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -15,9 +15,8 @@ import os import uuid -import pytest - from google.cloud import storage +import pytest import translate_v3_batch_translate_text diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 9af648f758a..dd2e688786a 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -16,11 +16,10 @@ import uuid import backoff -import pytest - from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError -from google.cloud.exceptions import NotFound from google.cloud import storage +from google.cloud.exceptions import NotFound +import pytest import translate_v3_batch_translate_text_with_glossary import translate_v3_create_glossary diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index 4b1e08ed640..e133fd3ff4c 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -16,10 +16,9 @@ import uuid import backoff -import pytest - from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud.exceptions import NotFound +import pytest import translate_v3_create_glossary import translate_v3_delete_glossary diff --git a/translation/samples/snippets/translate_v3_detect_language_test.py b/translation/samples/snippets/translate_v3_detect_language_test.py index a538fc68aa6..2e9df86721c 100644 --- a/translation/samples/snippets/translate_v3_detect_language_test.py +++ b/translation/samples/snippets/translate_v3_detect_language_test.py @@ -13,8 +13,10 @@ # limitations under the License. import os + import translate_v3_detect_language + PROJECT_ID = os.environ["GCLOUD_PROJECT"] diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py index 8880bf6de5d..a2df0a4ba45 100644 --- a/translation/samples/snippets/translate_v3_get_glossary_test.py +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -16,10 +16,9 @@ import uuid import backoff -import pytest - from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud.exceptions import NotFound +import pytest import translate_v3_create_glossary import translate_v3_delete_glossary diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_test.py index cd4e44a445c..57ceeb203e8 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_test.py @@ -13,8 +13,10 @@ # limitations under the License. import os + import translate_v3_get_supported_languages + PROJECT_ID = os.environ["GCLOUD_PROJECT"] diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py index aa40efe4bb7..3b123d9f5c1 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py @@ -13,8 +13,10 @@ # limitations under the License. import os + import translate_v3_get_supported_languages_with_target as get_supported_langs + PROJECT_ID = os.environ["GCLOUD_PROJECT"] diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py index d0d38cde985..04e93470e40 100644 --- a/translation/samples/snippets/translate_v3_list_glossary_test.py +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -16,10 +16,9 @@ import uuid import backoff -import pytest - from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud.exceptions import NotFound +import pytest import translate_v3_create_glossary import translate_v3_delete_glossary diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py index 096b8dd847f..8897b9b527f 100644 --- a/translation/samples/snippets/translate_v3_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -13,8 +13,10 @@ # limitations under the License. import os + import translate_v3_translate_text + PROJECT_ID = os.environ["GCLOUD_PROJECT"] diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py index adf66836fde..bc5403c681b 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -17,10 +17,9 @@ import uuid import backoff -import pytest - from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud.exceptions import NotFound +import pytest import translate_v3_create_glossary import translate_v3_delete_glossary diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py index 6e6ab37eee1..16a5fc03db9 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py @@ -14,8 +14,10 @@ # limitations under the License. import os + import translate_v3_translate_text_with_model + PROJECT_ID = os.environ["GCLOUD_PROJECT"] MODEL_ID = "TRL3128559826197068699" From 334da6166f9b5b82edecd9350d733e3db255796b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 19 May 2020 04:18:01 +0200 Subject: [PATCH 074/270] chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3785) * chore(deps): update dependency google-cloud-storage to v1.28.1 * [asset] testing: use uuid instead of time Co-authored-by: Takashi Matsuo --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 5fb0a1e6a69..78de2e470ba 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ google-cloud-translate==2.0.1 -google-cloud-storage==1.28.0 +google-cloud-storage==1.28.1 From 3be0b8ff457b8982d8cdb6d6ff1bd8a6fe7aa98f Mon Sep 17 00:00:00 2001 From: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Date: Wed, 3 Jun 2020 15:15:59 -0700 Subject: [PATCH 075/270] [translate] fix hybrid glossaries tests [(#3936)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3936) --- .../hybrid_glossaries/hybrid_tutorial.py | 19 +++++++++++++------ ...orial_tests.py => hybrid_tutorial_test.py} | 10 ++++------ .../hybrid_glossaries/requirements.txt | 2 +- .../resources/non_standard_format.txt | 2 +- translation/samples/snippets/pytest.ini | 3 +++ 5 files changed, 22 insertions(+), 14 deletions(-) rename translation/samples/snippets/hybrid_glossaries/{hybrid_tutorial_tests.py => hybrid_tutorial_test.py} (93%) create mode 100644 translation/samples/snippets/pytest.ini diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index 0da84b72207..1b320e5b2a4 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -193,21 +193,28 @@ def text_to_speech(text, outfile): client = texttospeech.TextToSpeechClient() # Sets the text input to be synthesized - synthesis_input = texttospeech.types.SynthesisInput(ssml=ssml) + synthesis_input = texttospeech.SynthesisInput(ssml=ssml) # Builds the voice request, selects the language code ("en-US") and # the SSML voice gender ("MALE") - voice = texttospeech.types.VoiceSelectionParams( + voice = texttospeech.VoiceSelectionParams( language_code='en-US', - ssml_gender=texttospeech.enums.SsmlVoiceGender.MALE) + ssml_gender=texttospeech.SsmlVoiceGender.MALE) # Selects the type of audio file to return - audio_config = texttospeech.types.AudioConfig( - audio_encoding=texttospeech.enums.AudioEncoding.MP3) + audio_config = texttospeech.AudioConfig( + audio_encoding=texttospeech.AudioEncoding.MP3) # Performs the text-to-speech request on the text input with the selected # voice parameters and audio file type - response = client.synthesize_speech(synthesis_input, voice, audio_config) + + request = texttospeech.SynthesizeSpeechRequest( + input=synthesis_input, + voice=voice, + audio_config=audio_config + ) + + response = client.synthesize_speech(request=request) # Writes the synthetic audio to the output file. with open(outfile, 'wb') as out: diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py similarity index 93% rename from translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py rename to translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 5224ca524a9..f99be330b92 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_tests.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -13,7 +13,9 @@ # limitations under the License. import os +import re import sys +import uuid from hybrid_tutorial import create_glossary from hybrid_tutorial import pic_to_text @@ -28,14 +30,10 @@ def test_vision_standard_format(): - - expected_text = 'This is\na test!\n' - alt_expected_text = 'This\nis\na test!\n' - # Generate text using Vision API text = pic_to_text('resources/standard_format.jpeg') - assert (text == expected_text) or (text == alt_expected_text) + assert re.match(r"This\s?is\s?a\s?test!\s?", text) def test_vision_non_standard_format(): @@ -58,7 +56,7 @@ def test_create_and_delete_glossary(): from beta_snippets import delete_glossary languages = ['fr', 'en'] - glossary_name = 'test-glossary' + glossary_name = f'test-glossary-{uuid.uuid4()}' glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' # create_glossary will raise an exception if creation fails diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index d13c5f7d808..ed9bbd1eae8 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==2.0.1 google-cloud-vision==1.0.0 -google-cloud-texttospeech==1.0.1 +google-cloud-texttospeech==2.0.0 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt index 8a6e3c113d1..529799ee94b 100644 --- a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt +++ b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt @@ -19,11 +19,11 @@ $10 Firebase Fruit Salad watermelon, honeydew melon, and pineapple +$6 Compute Engine Burger quarter-pound burger with cheddar cheese $10 -$6 BigQuery BLT bacon, lettuce, and tomato sandwich diff --git a/translation/samples/snippets/pytest.ini b/translation/samples/snippets/pytest.ini new file mode 100644 index 00000000000..f139880676b --- /dev/null +++ b/translation/samples/snippets/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +# don't recurse into hybrid_glossaries directory +norecursedirs = * \ No newline at end of file From 9e727079c004442ea9be0f2230f29c31c18a5558 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Mon, 8 Jun 2020 18:53:04 -0700 Subject: [PATCH 076/270] testing: start using btlr [(#3959)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3959) * testing: start using btlr The binary is at gs://cloud-devrel-kokoro-resources/btlr/v0.0.1/btlr * add period after DIFF_FROM * use array for btlr args * fix websocket tests * add debug message * wait longer for the server to spin up * dlp: bump the wait timeout to 10 minutes * [run] copy noxfile.py to child directory to avoid gcloud issue * [iam] fix: only display description when the key exists * use uuid4 instead of uuid1 * [iot] testing: use the same format for registry id * Stop asserting Out of memory not in the output * fix missing imports * [dns] testing: more retries with delay * [dlp] testing: longer timeout * use the max-concurrency flag * use 30 workers * [monitoring] use multiple projects * [dlp] testing: longer timeout --- translation/samples/snippets/beta_snippets_test.py | 2 +- .../translate_v3_batch_translate_text_with_glossary_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 4852168567a..453fcb7ec4a 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -28,7 +28,7 @@ @pytest.fixture(scope='function') def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = str(uuid.uuid1()) + bucket_name = f'tmp-{uuid.uuid4().hex}' storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index dd2e688786a..c2033ad3630 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -57,7 +57,7 @@ def delete_glossary(): @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = str(uuid.uuid1()) + bucket_name = f'tmp-{uuid.uuid4().hex}' storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) From 14b2159cfa35c3500e8bd7bd15a1f6952cf738a2 Mon Sep 17 00:00:00 2001 From: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Date: Tue, 9 Jun 2020 14:34:27 -0700 Subject: [PATCH 077/270] Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4022) --- translation/samples/snippets/beta_snippets_test.py | 2 +- .../samples/snippets/hybrid_glossaries/hybrid_tutorial.py | 2 +- .../samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py | 2 +- .../samples/snippets/translate_v3_batch_translate_text_test.py | 2 +- .../translate_v3_batch_translate_text_with_glossary_test.py | 2 +- .../samples/snippets/translate_v3_create_glossary_test.py | 2 +- .../samples/snippets/translate_v3_delete_glossary_test.py | 2 +- .../samples/snippets/translate_v3_detect_language_test.py | 2 +- translation/samples/snippets/translate_v3_get_glossary_test.py | 2 +- .../snippets/translate_v3_get_supported_languages_test.py | 2 +- .../translate_v3_get_supported_languages_with_target_test.py | 2 +- translation/samples/snippets/translate_v3_list_glossary_test.py | 2 +- .../samples/snippets/translate_v3_translate_text_test.py | 2 +- .../snippets/translate_v3_translate_text_with_glossary_test.py | 2 +- .../snippets/translate_v3_translate_text_with_model_test.py | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 453fcb7ec4a..a42ab08ce3f 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -22,7 +22,7 @@ import beta_snippets -PROJECT_ID = os.environ['GCLOUD_PROJECT'] +PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] @pytest.fixture(scope='function') diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index 1b320e5b2a4..7d36174b476 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -28,7 +28,7 @@ # [START translate_hybrid_project_id] # extract GCP project id -PROJECT_ID = os.environ['GCLOUD_PROJECT'] +PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] # [END translate_hybrid_project_id] diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index f99be330b92..8df7cc351b7 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -23,7 +23,7 @@ from hybrid_tutorial import translate_text -PROJECT_ID = os.environ['GCLOUD_PROJECT'] +PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] # VISION TESTS diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index 85d03e0b7d5..e7919d02293 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -21,7 +21,7 @@ import translate_v3_batch_translate_text -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] @pytest.fixture(scope="function") diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index c2033ad3630..1a1850ac562 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -26,7 +26,7 @@ import translate_v3_delete_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index e133fd3ff4c..a24f461e05a 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -24,7 +24,7 @@ import translate_v3_delete_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_delete_glossary_test.py b/translation/samples/snippets/translate_v3_delete_glossary_test.py index 4309ca01b95..a88c16a37a2 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary_test.py +++ b/translation/samples/snippets/translate_v3_delete_glossary_test.py @@ -20,7 +20,7 @@ import translate_v3_create_glossary import translate_v3_delete_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_detect_language_test.py b/translation/samples/snippets/translate_v3_detect_language_test.py index 2e9df86721c..7e9540cca00 100644 --- a/translation/samples/snippets/translate_v3_detect_language_test.py +++ b/translation/samples/snippets/translate_v3_detect_language_test.py @@ -17,7 +17,7 @@ import translate_v3_detect_language -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] def test_detect_language(capsys): diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py index a2df0a4ba45..96ea6b78103 100644 --- a/translation/samples/snippets/translate_v3_get_glossary_test.py +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -25,7 +25,7 @@ import translate_v3_get_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_test.py index 57ceeb203e8..4bdc0fa4b14 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_test.py @@ -17,7 +17,7 @@ import translate_v3_get_supported_languages -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] def test_list_languages(capsys): diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py index 3b123d9f5c1..8f3f52cfe54 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py @@ -17,7 +17,7 @@ import translate_v3_get_supported_languages_with_target as get_supported_langs -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] def test_list_languages_with_target(capsys): diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py index 04e93470e40..8f4eaa1ac51 100644 --- a/translation/samples/snippets/translate_v3_list_glossary_test.py +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -25,7 +25,7 @@ import translate_v3_list_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py index 8897b9b527f..c93cb91f6dd 100644 --- a/translation/samples/snippets/translate_v3_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -17,7 +17,7 @@ import translate_v3_translate_text -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] def test_translate_text(capsys): diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py index bc5403c681b..1caa9e6e9e0 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -26,7 +26,7 @@ import translate_v3_translate_text_with_glossary -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py index 16a5fc03db9..f1cd5968752 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py @@ -18,7 +18,7 @@ import translate_v3_translate_text_with_model -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] MODEL_ID = "TRL3128559826197068699" From 576187056e3fb55f4316f6c34d6919831603e268 Mon Sep 17 00:00:00 2001 From: "Leah E. Cole" <6719667+leahecole@users.noreply.github.com> Date: Wed, 10 Jun 2020 16:13:04 -0700 Subject: [PATCH 078/270] remove whitelist replace with allowlist [(#4050)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4050) --- translation/samples/snippets/snippets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 2d5232e6fdd..24b457162fa 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -76,7 +76,7 @@ def translate_text_with_model(target, text, model='nmt'): # [START translate_text_with_model] """Translates text into the target language. - Make sure your project is whitelisted. + Make sure your project is allowlisted. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages From 1bb24deb1e4b7fd108863ceb65cef6c6b5479a5c Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 20 Jun 2020 01:03:47 +0200 Subject: [PATCH 079/270] chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4040) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 78de2e470ba..e2bf8cbf5d8 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ google-cloud-translate==2.0.1 -google-cloud-storage==1.28.1 +google-cloud-storage==1.29.0 From e9cce11b63de8017631c5c3fabc75f5d643b575a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 24 Jun 2020 19:35:35 +0200 Subject: [PATCH 080/270] chore(deps): update dependency google-cloud-texttospeech to v2.1.0 [(#4147)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4147) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index ed9bbd1eae8..cc7f4187ef1 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==2.0.1 google-cloud-vision==1.0.0 -google-cloud-texttospeech==2.0.0 +google-cloud-texttospeech==2.1.0 From c2cb9f67eab41b38c0fc00d8b7849b200058bb93 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Mon, 6 Jul 2020 15:41:37 -0700 Subject: [PATCH 081/270] testing(translate): parameterize the timeout [(#4247)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4247) fixes #4239 (by specifying a longer timeout) --- .../snippets/translate_v3_batch_translate_text.py | 9 +++++---- ...translate_v3_batch_translate_text_with_glossary.py | 11 ++++++----- ...late_v3_batch_translate_text_with_glossary_test.py | 1 + .../samples/snippets/translate_v3_create_glossary.py | 9 +++++---- .../samples/snippets/translate_v3_delete_glossary.py | 6 ++++-- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py index 6c67d2c22dc..4454afb4074 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -17,9 +17,10 @@ def batch_translate_text( - input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", - output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", - project_id="YOUR_PROJECT_ID" + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + timeout=180, ): """Translates a batch of texts on GCS and stores the result in a GCS location.""" @@ -46,7 +47,7 @@ def batch_translate_text( output_config=output_config) print(u"Waiting for operation to complete...") - response = operation.result(180) + response = operation.result(timeout) print(u"Total Characters: {}".format(response.total_characters)) print(u"Translated Characters: {}".format(response.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py index d72c31860b8..97845e2a8e2 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -18,10 +18,11 @@ def batch_translate_text_with_glossary( - input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", - output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", - project_id="YOUR_PROJECT_ID", - glossary_id="YOUR_GLOSSARY_ID", + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """Translates a batch of texts on GCS and stores the result in a GCS location. Glossary is applied for translation.""" @@ -65,7 +66,7 @@ def batch_translate_text_with_glossary( ) print(u"Waiting for operation to complete...") - response = operation.result(180) + response = operation.result(timeout) print(u"Total Characters: {}".format(response.total_characters)) print(u"Translated Characters: {}".format(response.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 1a1850ac562..23aa6691f1e 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -73,6 +73,7 @@ def test_batch_translate_text_with_glossary(capsys, bucket, glossary): "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, glossary, + 240 ) out, _ = capsys.readouterr() diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translation/samples/snippets/translate_v3_create_glossary.py index a94e488eb4a..603cb4cc568 100644 --- a/translation/samples/snippets/translate_v3_create_glossary.py +++ b/translation/samples/snippets/translate_v3_create_glossary.py @@ -17,9 +17,10 @@ def create_glossary( - project_id="YOUR_PROJECT_ID", - input_uri="YOUR_INPUT_URI", - glossary_id="YOUR_GLOSSARY_ID", + project_id="YOUR_PROJECT_ID", + input_uri="YOUR_INPUT_URI", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """ Create a equivalent term sets glossary. Glossary can be words or @@ -51,7 +52,7 @@ def create_glossary( # to translate the domain-specific terminology. operation = client.create_glossary(parent=parent, glossary=glossary) - result = operation.result(timeout=180) + result = operation.result(timeout) print("Created: {}".format(result.name)) print("Input Uri: {}".format(result.input_config.gcs_source.input_uri)) diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py index f3f89753214..e8acf76c31f 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary.py +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -17,7 +17,9 @@ def delete_glossary( - project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID" + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """Delete a specific glossary based on the glossary ID.""" client = translate.TranslationServiceClient() @@ -25,7 +27,7 @@ def delete_glossary( parent = client.glossary_path(project_id, "us-central1", glossary_id) operation = client.delete_glossary(parent) - result = operation.result(timeout=180) + result = operation.result(timeout) print("Deleted: {}".format(result.name)) From 0497f97775be8a73dfa3e01a16b83ab6a61f0430 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 13 Jul 2020 00:46:30 +0200 Subject: [PATCH 082/270] chore(deps): update dependency pytest to v5.4.3 [(#4279)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4279) * chore(deps): update dependency pytest to v5.4.3 * specify pytest for python 2 in appengine Co-authored-by: Leah Cole --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 781d4326c94..79738af5f26 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==5.3.2 +pytest==5.4.3 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 1fccf2dd32e..dc93f006e25 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.10.0 flaky==3.6.1 -pytest==5.3.2 \ No newline at end of file +pytest==5.4.3 \ No newline at end of file From b11e687d731b80de7cf98b192711375c89477748 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 16 Jul 2020 02:00:42 +0200 Subject: [PATCH 083/270] Update dependency flaky to v3.7.0 [(#4300)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4300) --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index dc93f006e25..b267f58b54e 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.10.0 -flaky==3.6.1 +flaky==3.7.0 pytest==5.4.3 \ No newline at end of file From 82a7d87fe2688af707ae903b7c706461373deb65 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Thu, 16 Jul 2020 14:47:47 -0700 Subject: [PATCH 084/270] testing(translate): bump the timeout for operations [(#4258)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4258) fixes #4220 --- translation/samples/snippets/beta_snippets.py | 2 +- .../samples/snippets/translate_v3_batch_translate_text_test.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 08ee5b72fe6..96b19f5de7e 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -70,7 +70,7 @@ def batch_translate_text(project_id, input_uri, output_uri): input_configs=[input_config], output_config=output_config) - result = operation.result(180) + result = operation.result(timeout=240) print(u'Total Characters: {}'.format(result.total_characters)) print(u'Translated Characters: {}'.format(result.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index e7919d02293..f604a3e1ac0 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -42,6 +42,7 @@ def test_batch_translate_text(capsys, bucket): "gs://cloud-samples-data/translation/text.txt", "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, + timeout=240 ) out, _ = capsys.readouterr() assert "Total Characters" in out From f9f2ac87e787ba76e2d22c2687d161e4daf1ce0d Mon Sep 17 00:00:00 2001 From: Dan O'Meara Date: Fri, 24 Jul 2020 13:37:16 -0700 Subject: [PATCH 085/270] chore: update templates --- translation/samples/AUTHORING_GUIDE.md | 1 + translation/samples/CONTRIBUTING.md | 1 + translation/samples/snippets/README.rst | 32 ++- .../snippets/hybrid_glossaries/README.rst | 21 +- .../snippets/hybrid_glossaries/noxfile.py | 224 ++++++++++++++++++ translation/samples/snippets/noxfile.py | 224 ++++++++++++++++++ 6 files changed, 497 insertions(+), 6 deletions(-) create mode 100644 translation/samples/AUTHORING_GUIDE.md create mode 100644 translation/samples/CONTRIBUTING.md create mode 100644 translation/samples/snippets/hybrid_glossaries/noxfile.py create mode 100644 translation/samples/snippets/noxfile.py diff --git a/translation/samples/AUTHORING_GUIDE.md b/translation/samples/AUTHORING_GUIDE.md new file mode 100644 index 00000000000..55c97b32f4c --- /dev/null +++ b/translation/samples/AUTHORING_GUIDE.md @@ -0,0 +1 @@ +See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/AUTHORING_GUIDE.md \ No newline at end of file diff --git a/translation/samples/CONTRIBUTING.md b/translation/samples/CONTRIBUTING.md new file mode 100644 index 00000000000..34c882b6f1a --- /dev/null +++ b/translation/samples/CONTRIBUTING.md @@ -0,0 +1 @@ +See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/CONTRIBUTING.md \ No newline at end of file diff --git a/translation/samples/snippets/README.rst b/translation/samples/snippets/README.rst index f5065ed4be2..559b57e2a50 100644 --- a/translation/samples/snippets/README.rst +++ b/translation/samples/snippets/README.rst @@ -1,3 +1,4 @@ + .. This file is automatically generated. Do not edit this file directly. Google Translation API Python Samples @@ -14,10 +15,12 @@ This directory contains samples for Google Translation API. With `Google Transla .. _Google Translation API: https://cloud.google.com/translate/docs + Setup ------------------------------------------------------------------------------- + Authentication ++++++++++++++ @@ -28,6 +31,9 @@ credentials for applications. .. _Authentication Getting Started Guide: https://cloud.google.com/docs/authentication/getting-started + + + Install Dependencies ++++++++++++++++++++ @@ -42,7 +48,7 @@ Install Dependencies .. _Python Development Environment Setup Guide: https://cloud.google.com/python/setup -#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. +#. Create a virtualenv. Samples are compatible with Python 3.6+. .. code-block:: bash @@ -58,9 +64,15 @@ Install Dependencies .. _pip: https://pip.pypa.io/ .. _virtualenv: https://virtualenv.pypa.io/ + + + + + Samples ------------------------------------------------------------------------------- + Quickstart +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -77,6 +89,8 @@ To run this sample: $ python quickstart.py + + Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -92,6 +106,7 @@ To run this sample: $ python snippets.py + usage: snippets.py [-h] {detect-language,list-languages,list-languages-with-target,translate-text} ... @@ -109,8 +124,9 @@ To run this sample: list-languages-with-target Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 - language code. See https://g.co/cloud/translate/v2 - /translate-reference#supported_languages + language code. See + https://g.co/cloud/translate/v2/translate- + reference#supported_languages translate-text Translates text into the target language. Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate- @@ -121,6 +137,8 @@ To run this sample: + + Beta Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -136,6 +154,7 @@ To run this sample: $ python beta_snippets.py + usage: beta_snippets.py [-h] {translate-text,batch-translate-text,detect-language,list-languages,list-languages-with-target,create-glossary,get-glossary,list-glossaries,delete-glossary,translate-with-glossary} ... @@ -160,6 +179,10 @@ To run this sample: + + + + The client library ------------------------------------------------------------------------------- @@ -175,4 +198,5 @@ to `browse the source`_ and `report issues`_. https://github.com/GoogleCloudPlatform/google-cloud-python/issues -.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file + +.. _Google Cloud SDK: https://cloud.google.com/sdk/ diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst b/translation/samples/snippets/hybrid_glossaries/README.rst index 2c9866545dc..e68b8114ce3 100644 --- a/translation/samples/snippets/hybrid_glossaries/README.rst +++ b/translation/samples/snippets/hybrid_glossaries/README.rst @@ -1,3 +1,4 @@ + .. This file is automatically generated. Do not edit this file directly. Google Translation API Python Samples @@ -14,10 +15,12 @@ This directory contains samples for Google Translation API. With `Google Transla .. _Google Translation API: https://cloud.google.com/translate/docs + Setup ------------------------------------------------------------------------------- + Authentication ++++++++++++++ @@ -28,6 +31,9 @@ credentials for applications. .. _Authentication Getting Started Guide: https://cloud.google.com/docs/authentication/getting-started + + + Install Dependencies ++++++++++++++++++++ @@ -42,7 +48,7 @@ Install Dependencies .. _Python Development Environment Setup Guide: https://cloud.google.com/python/setup -#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. +#. Create a virtualenv. Samples are compatible with Python 3.6+. .. code-block:: bash @@ -58,9 +64,15 @@ Install Dependencies .. _pip: https://pip.pypa.io/ .. _virtualenv: https://virtualenv.pypa.io/ + + + + + Samples ------------------------------------------------------------------------------- + Using glossaries with vision and text-to-speech +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -79,6 +91,10 @@ To run this sample: + + + + The client library ------------------------------------------------------------------------------- @@ -94,4 +110,5 @@ to `browse the source`_ and `report issues`_. https://github.com/GoogleCloudPlatform/google-cloud-python/issues -.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file + +.. _Google Cloud SDK: https://cloud.google.com/sdk/ diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py new file mode 100644 index 00000000000..ba55d7ce53c --- /dev/null +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -0,0 +1,224 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import os +from pathlib import Path +import sys + +import nox + + +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING +# DO NOT EDIT THIS FILE EVER! +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING + +# Copy `noxfile_config.py` to your directory and modify it instead. + + +# `TEST_CONFIG` dict is a configuration hook that allows users to +# modify the test configurations. The values here should be in sync +# with `noxfile_config.py`. Users will copy `noxfile_config.py` into +# their directory and modify it. + +TEST_CONFIG = { + # You can opt out from the test for specific Python versions. + 'ignored_versions': ["2.7"], + + # An envvar key for determining the project id to use. Change it + # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a + # build specific Cloud project. You can also use your own string + # to use your own Cloud project. + 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', + + # A dictionary you want to inject into your test. Don't put any + # secrets here. These values will override predefined values. + 'envs': {}, +} + + +try: + # Ensure we can import noxfile_config in the project's directory. + sys.path.append('.') + from noxfile_config import TEST_CONFIG_OVERRIDE +except ImportError as e: + print("No user noxfile_config found: detail: {}".format(e)) + TEST_CONFIG_OVERRIDE = {} + +# Update the TEST_CONFIG with the user supplied values. +TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) + + +def get_pytest_env_vars(): + """Returns a dict for pytest invocation.""" + ret = {} + + # Override the GCLOUD_PROJECT and the alias. + env_key = TEST_CONFIG['gcloud_project_env'] + # This should error out if not set. + ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + + # Apply user supplied envs. + ret.update(TEST_CONFIG['envs']) + return ret + + +# DO NOT EDIT - automatically generated. +# All versions used to tested samples. +ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] + +# Any default versions that should be ignored. +IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] + +TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) + +INSTALL_LIBRARY_FROM_SOURCE = bool(os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False)) +# +# Style Checks +# + + +def _determine_local_import_names(start_dir): + """Determines all import names that should be considered "local". + + This is used when running the linter to insure that import order is + properly checked. + """ + file_ext_pairs = [os.path.splitext(path) for path in os.listdir(start_dir)] + return [ + basename + for basename, extension in file_ext_pairs + if extension == ".py" + or os.path.isdir(os.path.join(start_dir, basename)) + and basename not in ("__pycache__") + ] + + +# Linting with flake8. +# +# We ignore the following rules: +# E203: whitespace before ‘:’ +# E266: too many leading ‘#’ for block comment +# E501: line too long +# I202: Additional newline in a section of imports +# +# We also need to specify the rules which are ignored by default: +# ['E226', 'W504', 'E126', 'E123', 'W503', 'E24', 'E704', 'E121'] +FLAKE8_COMMON_ARGS = [ + "--show-source", + "--builtin=gettext", + "--max-complexity=20", + "--import-order-style=google", + "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", + "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", + "--max-line-length=88", +] + + +@nox.session +def lint(session): + session.install("flake8", "flake8-import-order") + + local_names = _determine_local_import_names(".") + args = FLAKE8_COMMON_ARGS + [ + "--application-import-names", + ",".join(local_names), + "." + ] + session.run("flake8", *args) + + +# +# Sample Tests +# + + +PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] + + +def _session_tests(session, post_install=None): + """Runs py.test for a particular project.""" + if os.path.exists("requirements.txt"): + session.install("-r", "requirements.txt") + + if os.path.exists("requirements-test.txt"): + session.install("-r", "requirements-test.txt") + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars() + ) + + +@nox.session(python=ALL_VERSIONS) +def py(session): + """Runs py.test for a sample using the specified version of Python.""" + if session.python in TESTED_VERSIONS: + _session_tests(session) + else: + session.skip("SKIPPED: {} tests are disabled for this sample.".format( + session.python + )) + + +# +# Readmegen +# + + +def _get_repo_root(): + """ Returns the root folder of the project. """ + # Get root of this repository. Assume we don't have directories nested deeper than 10 items. + p = Path(os.getcwd()) + for i in range(10): + if p is None: + break + if Path(p / ".git").exists(): + return str(p) + p = p.parent + raise Exception("Unable to detect repository root.") + + +GENERATED_READMES = sorted([x for x in Path(".").rglob("*.rst.in")]) + + +@nox.session +@nox.parametrize("path", GENERATED_READMES) +def readmegen(session, path): + """(Re-)generates the readme for a sample.""" + session.install("jinja2", "pyyaml") + dir_ = os.path.dirname(path) + + if os.path.exists(os.path.join(dir_, "requirements.txt")): + session.install("-r", os.path.join(dir_, "requirements.txt")) + + in_file = os.path.join(dir_, "README.rst.in") + session.run( + "python", _get_repo_root() + "/scripts/readme-gen/readme_gen.py", in_file + ) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py new file mode 100644 index 00000000000..ba55d7ce53c --- /dev/null +++ b/translation/samples/snippets/noxfile.py @@ -0,0 +1,224 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import os +from pathlib import Path +import sys + +import nox + + +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING +# DO NOT EDIT THIS FILE EVER! +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING + +# Copy `noxfile_config.py` to your directory and modify it instead. + + +# `TEST_CONFIG` dict is a configuration hook that allows users to +# modify the test configurations. The values here should be in sync +# with `noxfile_config.py`. Users will copy `noxfile_config.py` into +# their directory and modify it. + +TEST_CONFIG = { + # You can opt out from the test for specific Python versions. + 'ignored_versions': ["2.7"], + + # An envvar key for determining the project id to use. Change it + # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a + # build specific Cloud project. You can also use your own string + # to use your own Cloud project. + 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', + + # A dictionary you want to inject into your test. Don't put any + # secrets here. These values will override predefined values. + 'envs': {}, +} + + +try: + # Ensure we can import noxfile_config in the project's directory. + sys.path.append('.') + from noxfile_config import TEST_CONFIG_OVERRIDE +except ImportError as e: + print("No user noxfile_config found: detail: {}".format(e)) + TEST_CONFIG_OVERRIDE = {} + +# Update the TEST_CONFIG with the user supplied values. +TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) + + +def get_pytest_env_vars(): + """Returns a dict for pytest invocation.""" + ret = {} + + # Override the GCLOUD_PROJECT and the alias. + env_key = TEST_CONFIG['gcloud_project_env'] + # This should error out if not set. + ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + + # Apply user supplied envs. + ret.update(TEST_CONFIG['envs']) + return ret + + +# DO NOT EDIT - automatically generated. +# All versions used to tested samples. +ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] + +# Any default versions that should be ignored. +IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] + +TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) + +INSTALL_LIBRARY_FROM_SOURCE = bool(os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False)) +# +# Style Checks +# + + +def _determine_local_import_names(start_dir): + """Determines all import names that should be considered "local". + + This is used when running the linter to insure that import order is + properly checked. + """ + file_ext_pairs = [os.path.splitext(path) for path in os.listdir(start_dir)] + return [ + basename + for basename, extension in file_ext_pairs + if extension == ".py" + or os.path.isdir(os.path.join(start_dir, basename)) + and basename not in ("__pycache__") + ] + + +# Linting with flake8. +# +# We ignore the following rules: +# E203: whitespace before ‘:’ +# E266: too many leading ‘#’ for block comment +# E501: line too long +# I202: Additional newline in a section of imports +# +# We also need to specify the rules which are ignored by default: +# ['E226', 'W504', 'E126', 'E123', 'W503', 'E24', 'E704', 'E121'] +FLAKE8_COMMON_ARGS = [ + "--show-source", + "--builtin=gettext", + "--max-complexity=20", + "--import-order-style=google", + "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", + "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", + "--max-line-length=88", +] + + +@nox.session +def lint(session): + session.install("flake8", "flake8-import-order") + + local_names = _determine_local_import_names(".") + args = FLAKE8_COMMON_ARGS + [ + "--application-import-names", + ",".join(local_names), + "." + ] + session.run("flake8", *args) + + +# +# Sample Tests +# + + +PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] + + +def _session_tests(session, post_install=None): + """Runs py.test for a particular project.""" + if os.path.exists("requirements.txt"): + session.install("-r", "requirements.txt") + + if os.path.exists("requirements-test.txt"): + session.install("-r", "requirements-test.txt") + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars() + ) + + +@nox.session(python=ALL_VERSIONS) +def py(session): + """Runs py.test for a sample using the specified version of Python.""" + if session.python in TESTED_VERSIONS: + _session_tests(session) + else: + session.skip("SKIPPED: {} tests are disabled for this sample.".format( + session.python + )) + + +# +# Readmegen +# + + +def _get_repo_root(): + """ Returns the root folder of the project. """ + # Get root of this repository. Assume we don't have directories nested deeper than 10 items. + p = Path(os.getcwd()) + for i in range(10): + if p is None: + break + if Path(p / ".git").exists(): + return str(p) + p = p.parent + raise Exception("Unable to detect repository root.") + + +GENERATED_READMES = sorted([x for x in Path(".").rglob("*.rst.in")]) + + +@nox.session +@nox.parametrize("path", GENERATED_READMES) +def readmegen(session, path): + """(Re-)generates the readme for a sample.""" + session.install("jinja2", "pyyaml") + dir_ = os.path.dirname(path) + + if os.path.exists(os.path.join(dir_, "requirements.txt")): + session.install("-r", os.path.join(dir_, "requirements.txt")) + + in_file = os.path.join(dir_, "README.rst.in") + session.run( + "python", _get_repo_root() + "/scripts/readme-gen/readme_gen.py", in_file + ) From a97a4e665657d5799944cea93d442acc3c4e7018 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 3 Aug 2020 20:05:09 +0200 Subject: [PATCH 086/270] chore(deps): update dependency google-cloud-storage to v1.30.0 (#26) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index e2bf8cbf5d8..1a58bd9bdd6 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ google-cloud-translate==2.0.1 -google-cloud-storage==1.29.0 +google-cloud-storage==1.30.0 From 42b85b398155a79d6aea160b2b87a88664d7b9a0 Mon Sep 17 00:00:00 2001 From: Dan O'Meara Date: Wed, 5 Aug 2020 11:19:26 -0700 Subject: [PATCH 087/270] feat!: migrate API to microgenerator (#31) * Add new "quickstart" samples [(#547)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/547) * Quickstart tests [(#569)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/569) * Add tests for quickstarts * Update secrets * Add translate samples [(#574)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/574) * Generate most non-appengine readmes Change-Id: I3779282126cdd05b047194d356932b9995484115 * Update requirements.txt * added model in the sample [(#650)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/650) * added with and without model separately [(#657)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/657) * Translate API no longer requires an API key. [(#659)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/659) * Auto-update dependencies. [(#715)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/715) * Changes default model to premium [(#749)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/749) * Updates readme template to show credential auth instead of api key. [(#802)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/802) * Updates translate version to match speech and language. [(#843)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/843) * Translate update [(#886)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/886) * Remove cloud config fixture [(#887)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/887) * Remove cloud config fixture * Fix client secrets * Fix bigtable instance * Unicode for translation * Adds check for translated text * Unicode for translation * Unicode for translation * Unicode for translation * missing newline * Adds six for 2/3 compatibility * Changes encoding style. * Fix unicode * renaming of the product to Google Translation API [(#910)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/910) * Update translate readme * Re-generate all readmes * Fix README rst links [(#962)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/962) * Fix README rst links * Update all READMEs * Auto-update dependencies. [(#1004)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1004) * Auto-update dependencies. * Fix natural language samples * Fix pubsub iam samples * Fix language samples * Fix bigquery samples * Auto-update dependencies. [(#1055)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1055) * Auto-update dependencies. * Explicitly use latest bigtable client Change-Id: Id71e9e768f020730e4ca9514a0d7ebaa794e7d9e * Revert language update for now Change-Id: I8867f154e9a5aae00d0047c9caf880e5e8f50c53 * Remove pdb. smh Change-Id: I5ff905fadc026eebbcd45512d4e76e003e3b2b43 * Auto-update dependencies. [(#1093)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1093) * Auto-update dependencies. * Fix storage notification poll sample Change-Id: I6afbc79d15e050531555e4c8e51066996717a0f3 * Fix spanner samples Change-Id: I40069222c60d57e8f3d3878167591af9130895cb * Drop coverage because it's not useful Change-Id: Iae399a7083d7866c3c7b9162d0de244fbff8b522 * Try again to fix flaky logging test Change-Id: I6225c074701970c17c426677ef1935bb6d7e36b4 * Update all generated readme auth instructions [(#1121)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1121) Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2 * Added Link to Python Setup Guide [(#1158)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1158) * Update Readme.rst to add Python setup guide As requested in b/64770713. This sample is linked in documentation https://cloud.google.com/bigtable/docs/scaling, and it would make more sense to update the guide here than in the documentation. * Update README.rst * Update README.rst * Update README.rst * Update README.rst * Update README.rst * Update install_deps.tmpl.rst * Updated readmegen scripts and re-generated related README files * Fixed the lint error * Auto-update dependencies. [(#1186)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1186) * Fixed failed tests on Kokoro (Spanner + Translate) [(#1192)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1192) * Fixed failed tests on Kokoro (Spanner + Translate) * Update quickstart_test.py * Added "Open in Cloud Shell" buttons to README files [(#1254)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1254) * Auto-update dependencies. [(#1377)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1377) * Auto-update dependencies. * Update requirements.txt * Regenerate the README files and fix the Open in Cloud Shell link for some samples [(#1441)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1441) * Update READMEs to fix numbering and add git clone [(#1464)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1464) * Add translate region tags [(#1488)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1488) * Add region tags * Added end region tags * Linting errors fixed * Include the comma in the translation [(#1787)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1787) * Auto-update dependencies. [(#1980)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1980) * Auto-update dependencies. * Update requirements.txt * Update requirements.txt * Translation v3beta1 samples [(#2084)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2084) * Add in progress beta snippets Change-Id: I2cd8ddc2307a8e40d56ce7e493749dc05c34d164 * Add google-cloud-storage dependency Change-Id: Iff7bc9b2c82b1e829580a3d4ad628087dbeee8be * Non-'global' location required for BatchTranslateText Change-Id: I5198aa6368a088e8f5ee295dc55a5e9e4ca8f494 * Upgrade google-cloud-translate to 1.4.0 1.4.0 includes the new v3beta1 alongside V2 Change-Id: I5adfe78ea7e78d84678db343cd84516e3d05491f * Update Translate samples You can now provide your own glossary ID The tests now run within a randomly created bucket (deleted after each test) Change-Id: I5cb2680cd0e9e43c85932a6a0dc19e6fab5008c5 * pytest.fixture for random test bucket Change-Id: I8e816ed4c95a6235347a29849044b4cab02d40a8 * flake8 spec fixes Change-Id: I4932bcf856a9498b01d9661c90c6b45ee2958ee1 * Added pytest fixture for creating glossary (WIP) Change-Id: Iddb5ecbf0eefb9efd2243dc4bc56b585102e9351 * Add assertions, remove placeholder TODOs Change-Id: If1eb20bca5bfcc87dd0652d5488b2188afa626af * fixing translate-with-glossary bug [(#2323)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2323) * Translate beta samples fix [(#2327)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2327) * fixing translate-with-glossary bug * tests passing * reverting to python3 compatibility * snippets test fix * Using glossaries with tts and vision tutorial sample code [(#2325)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2325) * fixing translate-with-glossary bug * initial commit * adding resources * adding more resources * glossary accomodates upper case words * finished hybrid glossaries tutorial sample code * Revert "fixing translate-with-glossary bug" This reverts commit 6a9f7ca3f68239a862106fcbcd9c73649ce36c77. * lint fix for tests. TODO src lint fix * lint * it's the final lint-down * adding README * implementing @nnegrey's feedback * lint * lint * extracting files from cloud-client * lint comment test * fixing comments per @beccasaurus * removing redundant directory * implementing @nnegrey's feedback * lint * lint * handling glossary-already-exists exception * lint * adding ssml functionality * fixing imports per @nnegrey * fixed import comment * more specific exceptions import * removing period from copyright * fix: refactored MP3 file creation test for Hybrid glossaries samples [(#2379)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2379) * fix: refactored MP3 file creation test * fix: lint * Fix variable names in comments [(#2400)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2400) * Adds updates for samples profiler ... vision [(#2439)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2439) * Update v2 samples to explicitly use v2 library [(#2498)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2498) * fix: translate test [(#2671)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2671) * fix: translate test * Add unicode formatting * automl: add natural language sentiment analysis ga samples [(#2677)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2677) * automl: add natural language sentiment analysis ga samples * Add links to documentation * Update tests to use centralized project * Fix environment variable, make translate test less flaky * fix region tag typo [(#2731)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2731) * Migrate published samples [(#2759)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2759) Migrate from tmp-generated-samples branch 615c08e Remove boilerplate Update copyright date Blacken Remove unused imports Shorten docstrings Remove CLI Set defaults in function definition Add link to supported types guide Inline function arguments Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> * translate v3 snippets [(#2745)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2745) * translate text v3 * added translate text with glossary snippets * finished glossary tests * removed overlapping files * added encoding tag * added more descriptive docs and broke down tests * Update translate/cloud-client/translate_v3_create_glossary.py Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> * Update translate/cloud-client/translate_v3_create_glossary.py Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> * fixed test for translate with glossary * fixed lint Co-authored-by: Michelle Casbon Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> * Translate: migrate published samples [(#2768)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2768) Migrate from tmp-generated-samples branch 615c08e Remove boilerplate Update copyright date Blacken Remove unused imports * Translate: migrate published glossaries samples [(#2769)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2769) Migrate from tmp-generated-samples branch fef998b Remove boilerplate Update copyright date Blacken Remove unused imports Shorten docstrings Remove CLI * translate: increase timeout [(#2937)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2937) * Translate: migrate published v3 translate batch samples [(#2914)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2914) * Translate: migrate published b v3 tch samples * added missing requirements * extended wait time * inlined some vals and specified input and output * added link to supported file types & modified default values of input uri * fixed small nit * chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3046) * chore(deps): update dependency google-cloud-storage to v1.26.0 * chore(deps): specify dependencies by python version * chore: up other deps to try to remove errors Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Co-authored-by: Leah Cole * chore(deps): update dependency google-cloud-translate to v1.7.0 [(#3084)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3084) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | minor | `==1.6.0` -> `==1.7.0` | --- ### Release Notes
    googleapis/python-translate ### [`v1.7.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​170) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v1.6.0...v1.7.0) 10-07-2019 14:57 PDT ##### Implementation Changes - Update docstrings, client confg (via synth). ([#​9411](https://togithub.com/googleapis/google-cloud-python/pull/9411)) - Remove send / receive message size limit (via synth). ([#​8974](https://togithub.com/googleapis/google-cloud-python/pull/8974)) ##### New Features - Add support for V3 of the API. ([#​9020](https://togithub.com/googleapis/google-cloud-python/pull/9020)) - Make `parent` argument required for all client methods in v3beta1; add `labels` argument (via synth). ([#​9354](https://togithub.com/googleapis/google-cloud-python/pull/9354)) - Add client options to translate_v2. ([#​8737](https://togithub.com/googleapis/google-cloud-python/pull/8737)) ##### Dependencies - Bump minimum version for google-api-core to 1.14.0. ([#​8709](https://togithub.com/googleapis/google-cloud-python/pull/8709)) ##### Documentation - Fix links to reference documentation. ([#​8884](https://togithub.com/googleapis/google-cloud-python/pull/8884)) - Link to googleapis.dev documentation in READMEs. ([#​8705](https://togithub.com/googleapis/google-cloud-python/pull/8705)) ##### Internal / Testing Changes - Update `ListGlossaries` method annotation (via synth) ([#​9385](https://togithub.com/googleapis/google-cloud-python/pull/9385)) - Fix intersphinx reference to requests ([#​9294](https://togithub.com/googleapis/google-cloud-python/pull/9294)) - Remove CI for gh-pages, use googleapis.dev for api_core refs. ([#​9085](https://togithub.com/googleapis/google-cloud-python/pull/9085)) - Update intersphinx mapping for requests. ([#​8805](https://togithub.com/googleapis/google-cloud-python/pull/8805))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). * translate: fix tests [(#3087)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3087) Fix: https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3018 * translate-v3: samples [(#3034)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3034) * translate with custom model, get supported langs * inlined small nit * added encoding to model test * added missing region tags and link to supported langs * inlined text-to-translate * directly inlined contents * revert text-translate vars * reversed inlined text params * small nit Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> * chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3170) * chore(deps): update dependency google-cloud-texttospeech to v1 [(#3210)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3210) Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> * chore(deps): update dependency google-cloud-translate to v2 [(#3211)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3211) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | major | `==1.7.0` -> `==2.0.1` | --- ### Release Notes
    googleapis/python-translate ### [`v2.0.1`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​201-httpswwwgithubcomgoogleapispython-translatecomparev200v201-2020-01-31) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v2.0.0...v2.0.1) ### [`v2.0.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​200) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v1.7.0...v2.0.0) 10-23-2019 11:13 PDT ##### New Features - Make v3 the default client. ([#​9498](https://togithub.com/googleapis/google-cloud-python/pull/9498)) ##### Internal / Testing Changes - Add VPC-SC system tests. ([#​9272](https://togithub.com/googleapis/google-cloud-python/pull/9272))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). * Simplify noxfile setup. [(#2806)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2806) * chore(deps): update dependency requests to v2.23.0 * Simplify noxfile and add version control. * Configure appengine/standard to only test Python 2.7. * Update Kokokro configs to match noxfile. * Add requirements-test to each folder. * Remove Py2 versions from everything execept appengine/standard. * Remove conftest.py. * Remove appengine/standard/conftest.py * Remove 'no-sucess-flaky-report' from pytest.ini. * Add GAE SDK back to appengine/standard tests. * Fix typo. * Roll pytest to python 2 version. * Add a bunch of testing requirements. * Remove typo. * Add appengine lib directory back in. * Add some additional requirements. * Fix issue with flake8 args. * Even more requirements. * Readd appengine conftest.py. * Add a few more requirements. * Even more Appengine requirements. * Add webtest for appengine/standard/mailgun. * Add some additional requirements. * Add workaround for issue with mailjet-rest. * Add responses for appengine/standard/mailjet. Co-authored-by: Renovate Bot * Update dependency google-cloud-vision to v1 [(#3227)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3227) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-vision](https://togithub.com/googleapis/python-vision) | major | `==0.42.0` -> `==1.0.0` | --- ### Release Notes
    googleapis/python-vision ### [`v1.0.0`](https://togithub.com/googleapis/python-vision/blob/master/CHANGELOG.md#​100-httpswwwgithubcomgoogleapispython-visioncomparev0420v100-2020-02-28) [Compare Source](https://togithub.com/googleapis/python-vision/compare/v0.42.0...v1.0.0) ##### Features - bump release status to GA ([#​11](https://www.github.com/googleapis/python-vision/issues/11)) ([2129bde](https://www.github.com/googleapis/python-vision/commit/2129bdedfa0dca85c5adc5350bff10d4a485df77))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). * translate: make test generic [(#3386)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3386) Fix: https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3381 * [translate] fix: mark some tests as flaky [(#3495)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3495) tests which involve LRO. fixes #2875 * testing: replace @flaky with @pytest.mark.flaky [(#3496)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3496) * testing: replace @flaky with @pytest.mark.flaky * lint * mark few tests as flaky that involves LRO polling. * lint * chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260) Co-authored-by: Takashi Matsuo * translate: fix glossary leak issue [(#3572)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3572) * fix glossary leak issue * removed try/catch from teardown methods, removed sample_ prefix from all other methods * added specific exceptions to tests, added backoff tags to tests * fixed the lint issues * reordered imports * moved backoff inside methd and removed Retry * corrected import nit * chore: some lint fixes [(#3751)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3751) * chore: some lint fixes * longer timeout, more retries * disable detect_test.py::test_async_detect_document * chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3785) * chore(deps): update dependency google-cloud-storage to v1.28.1 * [asset] testing: use uuid instead of time Co-authored-by: Takashi Matsuo * [translate] fix hybrid glossaries tests [(#3936)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3936) * testing: start using btlr [(#3959)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3959) * testing: start using btlr The binary is at gs://cloud-devrel-kokoro-resources/btlr/v0.0.1/btlr * add period after DIFF_FROM * use array for btlr args * fix websocket tests * add debug message * wait longer for the server to spin up * dlp: bump the wait timeout to 10 minutes * [run] copy noxfile.py to child directory to avoid gcloud issue * [iam] fix: only display description when the key exists * use uuid4 instead of uuid1 * [iot] testing: use the same format for registry id * Stop asserting Out of memory not in the output * fix missing imports * [dns] testing: more retries with delay * [dlp] testing: longer timeout * use the max-concurrency flag * use 30 workers * [monitoring] use multiple projects * [dlp] testing: longer timeout * Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4022) * remove whitelist replace with allowlist [(#4050)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4050) * chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4040) * chore(deps): update dependency google-cloud-texttospeech to v2.1.0 [(#4147)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4147) * testing(translate): parameterize the timeout [(#4247)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4247) fixes #4239 (by specifying a longer timeout) * chore(deps): update dependency pytest to v5.4.3 [(#4279)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4279) * chore(deps): update dependency pytest to v5.4.3 * specify pytest for python 2 in appengine Co-authored-by: Leah Cole * Update dependency flaky to v3.7.0 [(#4300)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4300) * testing(translate): bump the timeout for operations [(#4258)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4258) fixes #4220 * chore: update templates * chore: narrows samples CODEOWNERS to .py only * chore: wip migration to microgenerator client, units, docs complete * feat!: move API to python microgenerator * docs: readmegen updates * chore: add build config for docs-presubmit * chore: rm protos * chore: uses PROJECT_ID env var in system test * chore: clarifies examples in migration guide * chore: adds explicit variable Co-authored-by: Jason Dobry Co-authored-by: Jon Wayne Parrott Co-authored-by: Puneith Kaul Co-authored-by: DPE bot Co-authored-by: Gus Class Co-authored-by: florencep Co-authored-by: Bill Prin Co-authored-by: michaelawyu Co-authored-by: Frank Natividad Co-authored-by: Averi Kitsch Co-authored-by: Charles Engelke Co-authored-by: Rebecca Taylor Co-authored-by: Elizabeth Crowdus Co-authored-by: Noah Negrey Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Co-authored-by: Michelle Casbon Co-authored-by: Mike <45373284+munkhuushmgl@users.noreply.github.com> Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Co-authored-by: WhiteSource Renovate Co-authored-by: Leah Cole Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> Co-authored-by: Takashi Matsuo Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> --- translation/samples/snippets/beta_snippets.py | 80 +++++++++++-------- .../snippets/hybrid_glossaries/README.rst | 23 ++---- .../hybrid_glossaries/hybrid_tutorial.py | 21 ++--- .../translate_v3_batch_translate_text.py | 15 ++-- ...e_v3_batch_translate_text_with_glossary.py | 18 +++-- .../snippets/translate_v3_create_glossary.py | 2 +- .../snippets/translate_v3_delete_glossary.py | 4 +- .../snippets/translate_v3_detect_language.py | 4 +- .../snippets/translate_v3_get_glossary.py | 2 +- .../translate_v3_get_supported_languages.py | 2 +- ..._v3_get_supported_languages_with_target.py | 5 +- .../snippets/translate_v3_list_glossary.py | 6 +- .../snippets/translate_v3_translate_text.py | 17 ++-- ...anslate_v3_translate_text_with_glossary.py | 22 ++--- .../translate_v3_translate_text_with_model.py | 22 ++--- 15 files changed, 134 insertions(+), 109 deletions(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 96b19f5de7e..10ec2dc6e64 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -25,14 +25,17 @@ def translate_text(project_id, text): # text = 'Text you wish to translate' location = 'global' - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" response = client.translate_text( - parent=parent, - contents=[text], - mime_type='text/plain', # mime types: text/plain, text/html - source_language_code='en-US', - target_language_code='sr-Latn') + request={ + "parent": parent, + "contents": [text], + "mime_type": "text/plain", # mime types: text/plain, text/html + "source_language_code": "en-US", + "target_language_code": "sr-Latn" + } + ) for translation in response.translations: print(u'Translated Text: {}'.format(translation)) @@ -49,7 +52,7 @@ def batch_translate_text(project_id, input_uri, output_uri): # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' location = 'us-central1' - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" gcs_source = translate.types.GcsSource(input_uri=input_uri) @@ -64,11 +67,14 @@ def batch_translate_text(project_id, input_uri, output_uri): gcs_destination=gcs_destination) operation = client.batch_translate_text( - parent=parent, - source_language_code='en-US', - target_language_codes=['sr-Latn'], - input_configs=[input_config], - output_config=output_config) + request={ + "parent": parent, + "source_language_code": "en-US", + "target_language_codes": ["sr-Latn"], + "input_configs": [input_config], + "output_config": output_config + } + ) result = operation.result(timeout=240) @@ -86,12 +92,15 @@ def detect_language(project_id, text): # text = 'Text you wish to translate' location = 'global' - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" response = client.detect_language( - parent=parent, - content=text, - mime_type='text/plain') # mime types: text/plain, text/html + request={ + "parent": parent, + "content": text, + "mime_type": "text/plain" # mime types: text/plain, text/html + } + ) for language in response.languages: print(u'Language Code: {} (Confidence: {})'.format( @@ -108,9 +117,9 @@ def list_languages(project_id): # project_id = YOUR_PROJECT_ID location = 'global' - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" - response = client.get_supported_languages(parent) + response = client.get_supported_languages(parent=parent) print('Supported Languages:') for language in response.languages: @@ -127,7 +136,7 @@ def list_languages_with_target(project_id, display_language_code): # display_language_code = 'is' location = 'global' - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" response = client.get_supported_languages( parent=parent, @@ -168,7 +177,7 @@ def create_glossary(project_id, glossary_id): language_codes_set=language_codes_set, input_config=input_config) - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" operation = client.create_glossary(parent=parent, glossary=glossary) @@ -186,9 +195,9 @@ def list_glossaries(project_id): # project_id = 'YOUR_PROJECT_ID' location = 'us-central1' # The location of the glossary - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" - for glossary in client.list_glossaries(parent): + for glossary in client.list_glossaries(parent=parent): print(u'Name: {}'.format(glossary.name)) print(u'Entry count: {}'.format(glossary.entry_count)) print(u'Input uri: {}'.format( @@ -206,12 +215,12 @@ def get_glossary(project_id, glossary_id): # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'GLOSSARY_ID' - parent = client.glossary_path( + name = client.glossary_path( project_id, 'us-central1', # The location of the glossary glossary_id) - response = client.get_glossary(parent) + response = client.get_glossary(name=name) print(u'Name: {}'.format(response.name)) print(u'Language Pair:') print(u'\tSource Language Code: {}'.format( @@ -231,12 +240,12 @@ def delete_glossary(project_id, glossary_id): # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'GLOSSARY_ID' - parent = client.glossary_path( + name = client.glossary_path( project_id, 'us-central1', # The location of the glossary glossary_id) - operation = client.delete_glossary(parent) + operation = client.delete_glossary(name=name) result = operation.result(timeout=90) print(u'Deleted: {}'.format(result.name)) # [END translate_delete_glossary_beta] @@ -260,15 +269,18 @@ def translate_text_with_glossary(project_id, glossary_id, text): glossary_config = translate.types.TranslateTextGlossaryConfig( glossary=glossary) - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" result = client.translate_text( - parent=parent, - contents=[text], - mime_type='text/plain', # mime types: text/plain, text/html - source_language_code='en', - target_language_code='es', - glossary_config=glossary_config) + request={ + "parent": parent, + "contents": [text], + "mime_type": "text/plain", + "source_language_code": "en", + "target_language_code": "es", + "glossary_config": glossary_config + } + ) for translation in result.glossary_translations: print(translation) @@ -355,4 +367,4 @@ def translate_text_with_glossary(project_id, glossary_id, text): delete_glossary(args.project_id, args.glossary_id) elif args.command == 'translate-with-glossary': translate_text_with_glossary( - args.project_id, args.glossary_id, args.text) + args.project_id, args.glossary_id, args.text) diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst b/translation/samples/snippets/hybrid_glossaries/README.rst index e68b8114ce3..61fdc27fef7 100644 --- a/translation/samples/snippets/hybrid_glossaries/README.rst +++ b/translation/samples/snippets/hybrid_glossaries/README.rst @@ -1,4 +1,3 @@ - .. This file is automatically generated. Do not edit this file directly. Google Translation API Python Samples @@ -16,11 +15,13 @@ This directory contains samples for Google Translation API. With `Google Transla .. _Google Translation API: https://cloud.google.com/translate/docs + + + Setup ------------------------------------------------------------------------------- - Authentication ++++++++++++++ @@ -31,9 +32,6 @@ credentials for applications. .. _Authentication Getting Started Guide: https://cloud.google.com/docs/authentication/getting-started - - - Install Dependencies ++++++++++++++++++++ @@ -48,7 +46,7 @@ Install Dependencies .. _Python Development Environment Setup Guide: https://cloud.google.com/python/setup -#. Create a virtualenv. Samples are compatible with Python 3.6+. +#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. .. code-block:: bash @@ -64,15 +62,9 @@ Install Dependencies .. _pip: https://pip.pypa.io/ .. _virtualenv: https://virtualenv.pypa.io/ - - - - - Samples ------------------------------------------------------------------------------- - Using glossaries with vision and text-to-speech +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -91,10 +83,6 @@ To run this sample: - - - - The client library ------------------------------------------------------------------------------- @@ -110,5 +98,4 @@ to `browse the source`_ and `report issues`_. https://github.com/GoogleCloudPlatform/google-cloud-python/issues - -.. _Google Cloud SDK: https://cloud.google.com/sdk/ +.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index 7d36174b476..c4a8434502b 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -104,7 +104,7 @@ def create_glossary(languages, project_id, glossary_name, glossary_uri): language_codes_set=language_codes_set, input_config=input_config) - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" # Create glossary resource # Handle exception for case in which a glossary @@ -150,15 +150,18 @@ def translate_text(text, source_language_code, target_language_code, glossary_config = translate.types.TranslateTextGlossaryConfig( glossary=glossary) - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" result = client.translate_text( - parent=parent, - contents=[text], - mime_type='text/plain', # mime types: text/plain, text/html - source_language_code=source_language_code, - target_language_code=target_language_code, - glossary_config=glossary_config) + request={ + "parent": parent, + "contents": [text], + "mime_type": "text/plain", # mime types: text/plain, text/html + "source_language_code": source_language_code, + "target_language_code": target_language_code, + "glossary_config": glossary_config + } + ) # Extract translated text from API response return result.glossary_translations[0].translated_text @@ -240,7 +243,7 @@ def main(): # uri of .csv file uploaded to Cloud Storage glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' - create_glossary(glossary_langs, PROJECT_ID, glossary_name, glossary_uri) + create_glossary(glossary_langs, PROJECT_ID, glossary_name, glossary_uri) # photo -> detected text text_to_translate = pic_to_text(infile) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py index 4454afb4074..487b0965774 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -36,15 +36,18 @@ def batch_translate_text( } gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" # Supported language codes: https://cloud.google.com/translate/docs/language operation = client.batch_translate_text( - parent=parent, - source_language_code="en", - target_language_codes=["ja"], # Up to 10 language codes here. - input_configs=[input_configs_element], - output_config=output_config) + request={ + "parent": parent, + "source_language_code": "en", + "target_language_codes": ["ja"], # Up to 10 language codes here. + "input_configs": [input_configs_element], + "output_config": output_config + } + ) print(u"Waiting for operation to complete...") response = operation.result(timeout) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py index 97845e2a8e2..e9c4a7c2637 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -42,7 +42,7 @@ def batch_translate_text_with_glossary( gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" # glossary is a custom dictionary Translation API uses # to translate the domain-specific terminology. @@ -50,19 +50,21 @@ def batch_translate_text_with_glossary( project_id, "us-central1", glossary_id # The location of the glossary ) - glossary_config = translate.types.TranslateTextGlossaryConfig( + glossary_config = translate.TranslateTextGlossaryConfig( glossary=glossary_path ) glossaries = {"ja": glossary_config} # target lang as key operation = client.batch_translate_text( - parent=parent, - source_language_code="en", - target_language_codes=["ja"], # Up to 10 language codes here. - input_configs=[input_configs_element], - glossaries=glossaries, - output_config=output_config, + request={ + "parent": parent, + "source_language_code": "en", + "target_language_codes": ["ja"], # Up to 10 language codes here. + "input_configs": [input_configs_element], + "glossaries": glossaries, + "output_config": output_config + } ) print(u"Waiting for operation to complete...") diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translation/samples/snippets/translate_v3_create_glossary.py index 603cb4cc568..2955acaa347 100644 --- a/translation/samples/snippets/translate_v3_create_glossary.py +++ b/translation/samples/snippets/translate_v3_create_glossary.py @@ -47,7 +47,7 @@ def create_glossary( name=name, language_codes_set=language_codes_set, input_config=input_config ) - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" # glossary is a custom dictionary Translation API uses # to translate the domain-specific terminology. operation = client.create_glossary(parent=parent, glossary=glossary) diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py index e8acf76c31f..fb9f86afe59 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary.py +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -24,9 +24,9 @@ def delete_glossary( """Delete a specific glossary based on the glossary ID.""" client = translate.TranslationServiceClient() - parent = client.glossary_path(project_id, "us-central1", glossary_id) + name = client.glossary_path(project_id, "us-central1", glossary_id) - operation = client.delete_glossary(parent) + operation = client.delete_glossary(name=name) result = operation.result(timeout) print("Deleted: {}".format(result.name)) diff --git a/translation/samples/snippets/translate_v3_detect_language.py b/translation/samples/snippets/translate_v3_detect_language.py index 759eb41a4d3..9e92b6079d5 100644 --- a/translation/samples/snippets/translate_v3_detect_language.py +++ b/translation/samples/snippets/translate_v3_detect_language.py @@ -21,7 +21,9 @@ def detect_language(project_id="YOUR_PROJECT_ID"): client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "global") + location = "global" + + parent = f"projects/{project_id}/locations/{location}" # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats diff --git a/translation/samples/snippets/translate_v3_get_glossary.py b/translation/samples/snippets/translate_v3_get_glossary.py index 99753136c5b..f4c2aaae460 100644 --- a/translation/samples/snippets/translate_v3_get_glossary.py +++ b/translation/samples/snippets/translate_v3_get_glossary.py @@ -23,7 +23,7 @@ def get_glossary(project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID"): name = client.glossary_path(project_id, "us-central1", glossary_id) - response = client.get_glossary(name) + response = client.get_glossary(name=name) print(u"Glossary name: {}".format(response.name)) print(u"Entry count: {}".format(response.entry_count)) print(u"Input URI: {}".format(response.input_config.gcs_source.input_uri)) diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translation/samples/snippets/translate_v3_get_supported_languages.py index 6e15458d9cc..db779278724 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages.py @@ -21,7 +21,7 @@ def get_supported_languages(project_id="YOUR_PROJECT_ID"): client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "global") + parent = f"projects/{project_id}" # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.get_supported_languages(parent=parent) diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py index f71138b533e..3a164dcbd28 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py @@ -20,7 +20,10 @@ def get_supported_languages_with_target(project_id="YOUR_PROJECT_ID"): """Listing supported languages with target language name.""" client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "global") + + location = "global" + + parent = f"projects/{project_id}/locations/{location}" # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.get_supported_languages( diff --git a/translation/samples/snippets/translate_v3_list_glossary.py b/translation/samples/snippets/translate_v3_list_glossary.py index 53e51d85447..934194b4443 100644 --- a/translation/samples/snippets/translate_v3_list_glossary.py +++ b/translation/samples/snippets/translate_v3_list_glossary.py @@ -21,10 +21,12 @@ def list_glossaries(project_id="YOUR_PROJECT_ID"): client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "us-central1") + location = "us-central1" + + parent = f"projects/{project_id}/locations/{location}" # Iterate over all results - for glossary in client.list_glossaries(parent): + for glossary in client.list_glossaries(parent=parent): print("Name: {}".format(glossary.name)) print("Entry count: {}".format(glossary.entry_count)) print("Input uri: {}".format(glossary.input_config.gcs_source.input_uri)) diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index 086f775a37f..78a79b4e107 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -21,17 +21,22 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "global") + location = "global" + + parent = f"projects/{project_id}/locations/{location}" # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats response = client.translate_text( - parent=parent, - contents=[text], - mime_type="text/plain", # mime types: text/plain, text/html - source_language_code="en-US", - target_language_code="fr", + request={ + "parent": parent, + "contents": [text], + "mime_type": "text/plain", # mime types: text/plain, text/html + "source_language_code": "en-US", + "target_language_code": "fr" + } ) + # Display the translation for each input text provided for translation in response.translations: print(u"Translated text: {}".format(translation.translated_text)) diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py index ca0eeaccced..b62d54133b2 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py @@ -14,7 +14,7 @@ # [START translate_v3_translate_text_with_glossary] -from google.cloud import translate_v3 +from google.cloud import translate def translate_text_with_glossary( @@ -24,24 +24,28 @@ def translate_text_with_glossary( ): """Translates a given text using a glossary.""" - client = translate_v3.TranslationServiceClient() - parent = client.location_path(project_id, "us-central1") + client = translate.TranslationServiceClient() + location = "us-central1" + parent = f"projects/{project_id}/locations/{location}" glossary = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary ) - glossary_config = translate_v3.types.TranslateTextGlossaryConfig( + glossary_config = translate.TranslateTextGlossaryConfig( glossary=glossary) # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.translate_text( - contents=[text], - target_language_code="ja", - source_language_code="en", - parent=parent, - glossary_config=glossary_config, + request={ + "contents": [text], + "target_language_code": "ja", + "source_language_code": "en", + "parent": parent, + "glossary_config": glossary_config + } ) + print("Translated text: \n") for translation in response.glossary_translations: print(u"\t {}".format(translation.translated_text)) diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model.py b/translation/samples/snippets/translate_v3_translate_text_with_model.py index 8a0b0bb7825..44c92f96b43 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_model.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_model.py @@ -26,19 +26,21 @@ def translate_text_with_model( client = translate.TranslationServiceClient() - parent = client.location_path(project_id, "us-central1") - model_path = "projects/{}/locations/{}/models/{}".format( - project_id, "us-central1", model_id - ) + location = "us-central1" + parent = f"projects/{project_id}/locations/{location}" + model_path = f"{parent}/models/{model_id}" # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.translate_text( - contents=[text], - target_language_code="ja", - model=model_path, - source_language_code="en", - parent=parent, - mime_type="text/plain", # mime types: text/plain, text/html + request={ + "contents": [text], + "target_language_code": "ja", + "model": model_path, + "source_language_code": "en", + "parent": parent, + "mime_type": "text/plain", # mime types: text/plain, text/html + } + ) # Display the translation for each input text provided for translation in response.translations: From 4c05af84684d767e1197e312943c46107fa22949 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 7 Aug 2020 15:30:23 -0700 Subject: [PATCH 088/270] chore: applies new samples README template --- .../snippets/hybrid_glossaries/README.rst | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst b/translation/samples/snippets/hybrid_glossaries/README.rst index 61fdc27fef7..e68b8114ce3 100644 --- a/translation/samples/snippets/hybrid_glossaries/README.rst +++ b/translation/samples/snippets/hybrid_glossaries/README.rst @@ -1,3 +1,4 @@ + .. This file is automatically generated. Do not edit this file directly. Google Translation API Python Samples @@ -15,13 +16,11 @@ This directory contains samples for Google Translation API. With `Google Transla .. _Google Translation API: https://cloud.google.com/translate/docs - - - Setup ------------------------------------------------------------------------------- + Authentication ++++++++++++++ @@ -32,6 +31,9 @@ credentials for applications. .. _Authentication Getting Started Guide: https://cloud.google.com/docs/authentication/getting-started + + + Install Dependencies ++++++++++++++++++++ @@ -46,7 +48,7 @@ Install Dependencies .. _Python Development Environment Setup Guide: https://cloud.google.com/python/setup -#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. +#. Create a virtualenv. Samples are compatible with Python 3.6+. .. code-block:: bash @@ -62,9 +64,15 @@ Install Dependencies .. _pip: https://pip.pypa.io/ .. _virtualenv: https://virtualenv.pypa.io/ + + + + + Samples ------------------------------------------------------------------------------- + Using glossaries with vision and text-to-speech +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -83,6 +91,10 @@ To run this sample: + + + + The client library ------------------------------------------------------------------------------- @@ -98,4 +110,5 @@ to `browse the source`_ and `report issues`_. https://github.com/GoogleCloudPlatform/google-cloud-python/issues -.. _Google Cloud SDK: https://cloud.google.com/sdk/ \ No newline at end of file + +.. _Google Cloud SDK: https://cloud.google.com/sdk/ From c1f980dbea0f1ac0a8781e4cf1b1c3d7fba1e160 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 8 Aug 2020 00:38:03 +0200 Subject: [PATCH 089/270] chore(deps): update dependency google-cloud-translate to v3 (#37) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | major | `==2.0.1` -> `==3.0.0` | --- ### Release Notes
    googleapis/python-translate ### [`v3.0.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​300-httpswwwgithubcomgoogleapispython-translatecomparev202v300-2020-08-05) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v2.0.2...v3.0.0) ##### ⚠ BREAKING CHANGES - migrate API to microgenerator ([#​31](https://togithub.com/googleapis/python-translate/issues/31)) ##### Features - migrate API to microgenerator ([#​31](https://www.github.com/googleapis/python-translate/issues/31)) ([1c5b6e8](https://www.github.com/googleapis/python-translate/commit/1c5b6e89a0a3b55c41c909e4ee27e0bd23e4b579)) ##### [2.0.2](https://www.github.com/googleapis/python-translate/compare/v2.0.1...v2.0.2) (2020-08-03) ##### Bug Fixes - refactored MP3 file creation test for Hybrid glossaries samples [(\[#​2379\](https://www.github.com/googleapis/python-translate/issues/2379))](https://togithub.com/GoogleCloudPlatform/python-docs-samples/issues/2379) ([b8b5101](https://www.github.com/googleapis/python-translate/commit/b8b5101be28d0d0d17a4d688eea81af6754a394c)) - translate test [(\[#​2671\](https://www.github.com/googleapis/python-translate/issues/2671))](https://togithub.com/GoogleCloudPlatform/python-docs-samples/issues/2671) ([a3d9f80](https://www.github.com/googleapis/python-translate/commit/a3d9f804576caeb4fdcdbbd4479caeb926efd8d0)) - update default retry config ([#​15](https://www.github.com/googleapis/python-translate/issues/15)) ([dddf0bf](https://www.github.com/googleapis/python-translate/commit/dddf0bf33463968932031cc0be5bc8a0d4a96455)) ##### [2.0.1](https://www.github.com/googleapis/python-translate/compare/v2.0.0...v2.0.1) (2020-01-31) ##### Bug Fixes - **translate:** add py2 deprecation warning; bump copyright year to 2020; add 3.8 unit tests (via synth) ([#​9943](https://www.github.com/googleapis/python-translate/issues/9943)) ([b57f09a](https://www.github.com/googleapis/python-translate/commit/b57f09a5f804daca1a96918a29746f24ae7bc4a5)) - **translate:** update test assertion and core version pins ([#​10098](https://www.github.com/googleapis/python-translate/issues/10098)) ([74b7757](https://www.github.com/googleapis/python-translate/commit/74b77579a1770c743353bdafde3e1744cbbe7842)) ### [`v2.0.2`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​202-httpswwwgithubcomgoogleapispython-translatecomparev201v202-2020-08-03) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v2.0.1...v2.0.2)
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index cc7f4187ef1..af2fa067315 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==2.0.1 +google-cloud-translate==3.0.0 google-cloud-vision==1.0.0 google-cloud-texttospeech==2.1.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 1a58bd9bdd6..4c26010b59d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-translate==2.0.1 +google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 From ed67598d419b2c06e3c2bd02238b28ae1f0a290f Mon Sep 17 00:00:00 2001 From: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Date: Tue, 11 Aug 2020 10:04:04 -0700 Subject: [PATCH 090/270] test(samples): change string for utf8 translation (#48) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-translate/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #46 🦕 --- translation/samples/snippets/snippets_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index 6d63759daee..ab489dfa0ad 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -43,7 +43,7 @@ def test_translate_text(capsys): def test_translate_utf8(capsys): - text = u'나는 파인애플을 좋아한다.' + text = u'파인애플 13개' snippets.translate_text('en', text) out, _ = capsys.readouterr() - assert u'I like pineapple' in out + assert u'13 pineapples' in out From 6d418db84578a26cd1bf73980de21bbf2098c79b Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Mon, 31 Aug 2020 16:20:48 -0700 Subject: [PATCH 091/270] samples: fixed flaky test (#57) --- .../snippets/hybrid_glossaries/hybrid_tutorial.py | 1 + .../snippets/hybrid_glossaries/hybrid_tutorial_test.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index c4a8434502b..a9ea9328f49 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -56,6 +56,7 @@ def pic_to_text(infile): # For less dense text, use text_detection response = client.document_text_detection(image=image) text = response.full_text_annotation.text + print("Detected text: {}".format(text)) return text # [END translate_hybrid_vision] diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 8df7cc351b7..5643968842f 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import re import sys import uuid @@ -29,11 +28,13 @@ # VISION TESTS -def test_vision_standard_format(): +def test_vision_standard_format(capsys): # Generate text using Vision API - text = pic_to_text('resources/standard_format.jpeg') + pic_to_text('resources/standard_format.jpeg') + out, err = capsys.readouterr() - assert re.match(r"This\s?is\s?a\s?test!\s?", text) + assert 'Detected text:' in out + assert 'test!' in out def test_vision_non_standard_format(): From 34ffaf9e6cb55656740d9a27c4ab4b3aa7ea7f57 Mon Sep 17 00:00:00 2001 From: Torry Yang Date: Fri, 20 Jul 2018 16:24:34 -0700 Subject: [PATCH 092/270] automl beta [(#1575)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1575) * automl initial commit * lint * fix import groupings * add requirements.txt * address review comments --- .../snippets/automl_translation_dataset.py | 278 ++++++++++++++++ .../snippets/automl_translation_model.py | 300 ++++++++++++++++++ .../snippets/automl_translation_predict.py | 109 +++++++ translation/samples/snippets/dataset_test.py | 69 ++++ translation/samples/snippets/model_test.py | 78 +++++ translation/samples/snippets/predict_test.py | 31 ++ translation/samples/snippets/requirements.txt | 1 + .../samples/snippets/resources/input.txt | 1 + 8 files changed, 867 insertions(+) create mode 100755 translation/samples/snippets/automl_translation_dataset.py create mode 100755 translation/samples/snippets/automl_translation_model.py create mode 100644 translation/samples/snippets/automl_translation_predict.py create mode 100644 translation/samples/snippets/dataset_test.py create mode 100644 translation/samples/snippets/model_test.py create mode 100644 translation/samples/snippets/predict_test.py create mode 100644 translation/samples/snippets/resources/input.txt diff --git a/translation/samples/snippets/automl_translation_dataset.py b/translation/samples/snippets/automl_translation_dataset.py new file mode 100755 index 00000000000..e579ac358a2 --- /dev/null +++ b/translation/samples/snippets/automl_translation_dataset.py @@ -0,0 +1,278 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This application demonstrates how to perform basic operations on dataset +with the Google AutoML Translation API. + +For more information, see the documentation at +https://cloud.google.com/translate/automl/docs +""" + +import argparse +import os + + +def create_dataset(project_id, compute_region, dataset_name, source, target): + """Create a dataset.""" + # [START automl_translation_create_dataset] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # dataset_name = 'DATASET_NAME_HERE' + # source = 'LANGUAGE_CODE_OF_SOURCE_LANGUAGE' + # target = 'LANGUAGE_CODE_OF_TARGET_LANGUAGE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # A resource that represents Google Cloud Platform location. + project_location = client.location_path(project_id, compute_region) + + # Specify the source and target language. + dataset_metadata = { + "source_language_code": source, + "target_language_code": target, + } + # Set dataset name and dataset metadata + my_dataset = { + "display_name": dataset_name, + "translation_dataset_metadata": dataset_metadata, + } + + # Create a dataset with the dataset metadata in the region. + dataset = client.create_dataset(project_location, my_dataset) + + # Display the dataset information + print("Dataset name: {}".format(dataset.name)) + print("Dataset id: {}".format(dataset.name.split("/")[-1])) + print("Dataset display name: {}".format(dataset.display_name)) + print("Translation dataset Metadata:") + print( + "\tsource_language_code: {}".format( + dataset.translation_dataset_metadata.source_language_code + ) + ) + print( + "\ttarget_language_code: {}".format( + dataset.translation_dataset_metadata.target_language_code + ) + ) + print("Dataset create time:") + print("\tseconds: {}".format(dataset.create_time.seconds)) + print("\tnanos: {}".format(dataset.create_time.nanos)) + + # [END automl_translation_create_dataset] + + +def list_datasets(project_id, compute_region, filter_): + """List Datasets.""" + # [START automl_translation_list_datasets] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # filter_ = 'filter expression here' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # A resource that represents Google Cloud Platform location. + project_location = client.location_path(project_id, compute_region) + + # List all the datasets available in the region by applying filter. + response = client.list_datasets(project_location, filter_) + + print("List of datasets:") + for dataset in response: + # Display the dataset information + print("Dataset name: {}".format(dataset.name)) + print("Dataset id: {}".format(dataset.name.split("/")[-1])) + print("Dataset display name: {}".format(dataset.display_name)) + print("Translation dataset metadata:") + print( + "\tsource_language_code: {}".format( + dataset.translation_dataset_metadata.source_language_code + ) + ) + print( + "\ttarget_language_code: {}".format( + dataset.translation_dataset_metadata.target_language_code + ) + ) + print("Dataset create time:") + print("\tseconds: {}".format(dataset.create_time.seconds)) + print("\tnanos: {}".format(dataset.create_time.nanos)) + + # [END automl_translation_list_datasets] + + +def get_dataset(project_id, compute_region, dataset_id): + """Get the dataset.""" + # [START automl_translation_get_dataset] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # dataset_id = 'DATASET_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the dataset + dataset_full_id = client.dataset_path( + project_id, compute_region, dataset_id + ) + + # Get complete detail of the dataset. + dataset = client.get_dataset(dataset_full_id) + + # Display the dataset information + print("Dataset name: {}".format(dataset.name)) + print("Dataset id: {}".format(dataset.name.split("/")[-1])) + print("Dataset display name: {}".format(dataset.display_name)) + print("Translation dataset metadata:") + print( + "\tsource_language_code: {}".format( + dataset.translation_dataset_metadata.source_language_code + ) + ) + print( + "\ttarget_language_code: {}".format( + dataset.translation_dataset_metadata.target_language_code + ) + ) + print("Dataset create time:") + print("\tseconds: {}".format(dataset.create_time.seconds)) + print("\tnanos: {}".format(dataset.create_time.nanos)) + + # [END automl_translation_get_dataset] + + +def import_data(project_id, compute_region, dataset_id, path): + """Import sentence pairs to the dataset.""" + # [START automl_translation_import_data] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # dataset_id = 'DATASET_ID_HERE' + # path = 'gs://path/to/file.csv' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the dataset. + dataset_full_id = client.dataset_path( + project_id, compute_region, dataset_id + ) + + # Get the multiple Google Cloud Storage URIs + input_uris = path.split(",") + input_config = {"gcs_source": {"input_uris": input_uris}} + + # Import data from the input URI + response = client.import_data(dataset_full_id, input_config) + + print("Processing import...") + # synchronous check of operation status + print("Data imported. {}".format(response.result())) + + # [END automl_translation_import_data] + + +def delete_dataset(project_id, compute_region, dataset_id): + """Delete a dataset.""" + # [START automl_translation_delete_dataset]] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # dataset_id = 'DATASET_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the dataset. + dataset_full_id = client.dataset_path( + project_id, compute_region, dataset_id + ) + + # Delete a dataset. + response = client.delete_dataset(dataset_full_id) + + # synchronous check of operation status + print("Dataset deleted. {}".format(response.result())) + + # [END automl_translation_delete_dataset] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + subparsers = parser.add_subparsers(dest="command") + + create_dataset_parser = subparsers.add_parser( + "create_dataset", help=create_dataset.__doc__ + ) + create_dataset_parser.add_argument("dataset_name") + create_dataset_parser.add_argument("source") + create_dataset_parser.add_argument("target") + + list_datasets_parser = subparsers.add_parser( + "list_datasets", help=list_datasets.__doc__ + ) + list_datasets_parser.add_argument("filter", nargs="?", default="") + + import_data_parser = subparsers.add_parser( + "import_data", help=import_data.__doc__ + ) + import_data_parser.add_argument("dataset_id") + import_data_parser.add_argument("path") + + delete_dataset_parser = subparsers.add_parser( + "delete_dataset", help=delete_dataset.__doc__ + ) + delete_dataset_parser.add_argument("dataset_id") + + get_dataset_parser = subparsers.add_parser( + "get_dataset", help=get_dataset.__doc__ + ) + get_dataset_parser.add_argument("dataset_id") + + project_id = os.environ["PROJECT_ID"] + compute_region = os.environ["REGION_NAME"] + + args = parser.parse_args() + + if args.command == "create_dataset": + create_dataset( + project_id, + compute_region, + args.dataset_name, + args.source, + args.target, + ) + if args.command == "list_datasets": + list_datasets(project_id, compute_region, args.filter) + if args.command == "get_dataset": + get_dataset(project_id, compute_region, args.dataset_id) + if args.command == "import_data": + import_data(project_id, compute_region, args.dataset_id, args.path) + if args.command == "delete_dataset": + delete_dataset(project_id, compute_region, args.dataset_id) diff --git a/translation/samples/snippets/automl_translation_model.py b/translation/samples/snippets/automl_translation_model.py new file mode 100755 index 00000000000..0b9b6f53aca --- /dev/null +++ b/translation/samples/snippets/automl_translation_model.py @@ -0,0 +1,300 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This application demonstrates how to perform basic operations on model +with the Google AutoML Translation API. + +For more information, see the documentation at +https://cloud.google.com/translate/automl/docs +""" + +import argparse +import os + + +def create_model(project_id, compute_region, dataset_id, model_name): + """Create a model.""" + # [START automl_translation_create_model] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # dataset_id = 'DATASET_ID_HERE' + # model_name = 'MODEL_NAME_HERE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # A resource that represents Google Cloud Platform location. + project_location = client.location_path(project_id, compute_region) + + # Set model name and dataset. + my_model = { + "display_name": model_name, + "dataset_id": dataset_id, + "translation_model_metadata": {"base_model": ""}, + } + + # Create a model with the model metadata in the region. + response = client.create_model(project_location, my_model) + + print("Training operation name: {}".format(response.operation.name)) + print("Training started...") + + # [END automl_translation_create_model] + + +def list_models(project_id, compute_region, filter_): + """List all models.""" + # [START automl_translation_list_models] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # filter_ = 'DATASET_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + from google.cloud.automl_v1beta1 import enums + + client = automl.AutoMlClient() + + # A resource that represents Google Cloud Platform location. + project_location = client.location_path(project_id, compute_region) + + # List all the models available in the region by applying filter. + response = client.list_models(project_location, filter_) + + print("List of models:") + for model in response: + # Display the model information. + if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: + deployment_state = "deployed" + else: + deployment_state = "undeployed" + + print("Model name: {}".format(model.name)) + print("Model id: {}".format(model.name.split("/")[-1])) + print("Model display name: {}".format(model.display_name)) + print("Model create time:") + print("\tseconds: {}".format(model.create_time.seconds)) + print("\tnanos: {}".format(model.create_time.nanos)) + print("Model deployment state: {}".format(deployment_state)) + + # [END automl_translation_list_models] + + +def get_model(project_id, compute_region, model_id): + """Get model details.""" + # [START automl_translation_get_model] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # model_id = 'MODEL_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + from google.cloud.automl_v1beta1 import enums + + client = automl.AutoMlClient() + + # Get the full path of the model. + model_full_id = client.model_path(project_id, compute_region, model_id) + + # Get complete detail of the model. + model = client.get_model(model_full_id) + + # Retrieve deployment state. + if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: + deployment_state = "deployed" + else: + deployment_state = "undeployed" + + # Display the model information. + print("Model name: {}".format(model.name)) + print("Model id: {}".format(model.name.split("/")[-1])) + print("Model display name: {}".format(model.display_name)) + print("Model create time:") + print("\tseconds: {}".format(model.create_time.seconds)) + print("\tnanos: {}".format(model.create_time.nanos)) + print("Model deployment state: {}".format(deployment_state)) + + # [END automl_translation_get_model] + + +def list_model_evaluations(project_id, compute_region, model_id, filter_): + """List model evaluations.""" + # [START automl_translation_list_model_evaluations] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # model_id = 'MODEL_ID_HERE' + # filter_ = 'filter expression here' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the model. + model_full_id = client.model_path(project_id, compute_region, model_id) + + print("List of model evaluations:") + for element in client.list_model_evaluations(model_full_id, filter_): + print(element) + + # [END automl_translation_list_model_evaluations] + + +def get_model_evaluation( + project_id, compute_region, model_id, model_evaluation_id +): + """Get model evaluation.""" + # [START automl_translation_get_model_evaluation] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # model_id = 'MODEL_ID_HERE' + # model_evaluation_id = 'MODEL_EVALUATION_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the model evaluation. + model_evaluation_full_id = client.model_evaluation_path( + project_id, compute_region, model_id, model_evaluation_id + ) + + # Get complete detail of the model evaluation. + response = client.get_model_evaluation(model_evaluation_full_id) + + print(response) + + # [END automl_translation_get_model_evaluation] + + +def delete_model(project_id, compute_region, model_id): + """Delete a model.""" + # [START automl_translation_delete_model] + # TODO(developer): Uncomment and set the following variables + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # model_id = 'MODEL_ID_HERE' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the full path of the model. + model_full_id = client.model_path(project_id, compute_region, model_id) + + # Delete a model. + response = client.delete_model(model_full_id) + + # synchronous check of operation status. + print("Model deleted. {}".format(response.result())) + + # [END automl_translation_delete_model] + + +def get_operation_status(operation_full_id): + """Get operation status.""" + # [START automl_translation_get_operation_status] + # TODO(developer): Uncomment and set the following variables + # operation_full_id = + # 'projects//locations//operations/' + + from google.cloud import automl_v1beta1 as automl + + client = automl.AutoMlClient() + + # Get the latest state of a long-running operation. + response = client.transport._operations_client.get_operation( + operation_full_id + ) + + print("Operation status: {}".format(response)) + + # [END automl_translation_get_operation_status] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + subparsers = parser.add_subparsers(dest="command") + + create_model_parser = subparsers.add_parser( + "create_model", help=create_model.__doc__ + ) + create_model_parser.add_argument("dataset_id") + create_model_parser.add_argument("model_name") + + list_model_evaluations_parser = subparsers.add_parser( + "list_model_evaluations", help=list_model_evaluations.__doc__ + ) + list_model_evaluations_parser.add_argument("model_id") + list_model_evaluations_parser.add_argument("filter", nargs="?", default="") + + get_model_evaluation_parser = subparsers.add_parser( + "get_model_evaluation", help=get_model_evaluation.__doc__ + ) + get_model_evaluation_parser.add_argument("model_id") + get_model_evaluation_parser.add_argument("model_evaluation_id") + + get_model_parser = subparsers.add_parser( + "get_model", help=get_model.__doc__ + ) + get_model_parser.add_argument("model_id") + + get_operation_status_parser = subparsers.add_parser( + "get_operation_status", help=get_operation_status.__doc__ + ) + get_operation_status_parser.add_argument("operation_full_id") + + list_models_parser = subparsers.add_parser( + "list_models", help=list_models.__doc__ + ) + list_models_parser.add_argument("filter", nargs="?", default="") + + delete_model_parser = subparsers.add_parser( + "delete_model", help=delete_model.__doc__ + ) + delete_model_parser.add_argument("model_id") + + project_id = os.environ["PROJECT_ID"] + compute_region = os.environ["REGION_NAME"] + + args = parser.parse_args() + + if args.command == "create_model": + create_model( + project_id, compute_region, args.dataset_id, args.model_name + ) + if args.command == "list_models": + list_models(project_id, compute_region, args.filter) + if args.command == "get_model": + get_model(project_id, compute_region, args.model_id) + if args.command == "list_model_evaluations": + list_model_evaluations( + project_id, compute_region, args.model_id, args.filter + ) + if args.command == "get_model_evaluation": + get_model_evaluation( + project_id, compute_region, args.model_id, args.model_evaluation_id + ) + if args.command == "delete_model": + delete_model(project_id, compute_region, args.model_id) + if args.command == "get_operation_status": + get_operation_status(args.operation_full_id) diff --git a/translation/samples/snippets/automl_translation_predict.py b/translation/samples/snippets/automl_translation_predict.py new file mode 100644 index 00000000000..1dac70b78d5 --- /dev/null +++ b/translation/samples/snippets/automl_translation_predict.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This application demonstrates how to perform basic operations on prediction +with the Google AutoML Translation API. + +For more information, see the documentation at +https://cloud.google.com/translate/automl/docs +""" + +import argparse +import os + + +def predict( + project_id, + compute_region, + model_id, + file_path, + translation_allow_fallback=False, +): + """Translate the content.""" + # [START automl_translation_predict] + # project_id = 'PROJECT_ID_HERE' + # compute_region = 'COMPUTE_REGION_HERE' + # model_id = 'MODEL_ID_HERE' + # file_path = '/local/path/to/file' + # translation_allow_fallback = True allows fallback to Google Translate + + from google.cloud import automl_v1beta1 as automl + + automl_client = automl.AutoMlClient() + + # Create client for prediction service. + prediction_client = automl.PredictionServiceClient() + + # Get the full path of the model. + model_full_id = automl_client.model_path( + project_id, compute_region, model_id + ) + + # Read the file content for translation. + with open(file_path, "rb") as content_file: + content = content_file.read() + content.decode("utf-8") + + # Set the payload by giving the content of the file. + payload = {"text_snippet": {"content": content}} + + # params is additional domain-specific parameters. + # translation_allow_fallback allows to use Google translation model. + params = {} + if translation_allow_fallback: + params = {"translation_allow_fallback": "True"} + + response = prediction_client.predict(model_full_id, payload, params) + translated_content = response.payload[0].translation.translated_content + + print(u"Translated content: {}".format(translated_content.content)) + + # [END automl_translation_predict] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + subparsers = parser.add_subparsers(dest="command") + + predict_parser = subparsers.add_parser("predict", help=predict.__doc__) + predict_parser.add_argument("model_id") + predict_parser.add_argument("file_path") + predict_parser.add_argument( + "translation_allow_fallback", + nargs="?", + choices=["False", "True"], + default="False", + ) + + project_id = os.environ["PROJECT_ID"] + compute_region = os.environ["REGION_NAME"] + + args = parser.parse_args() + + if args.command == "predict": + translation_allow_fallback = ( + True if args.translation_allow_fallback == "True" else False + ) + predict( + project_id, + compute_region, + args.model_id, + args.file_path, + translation_allow_fallback, + ) diff --git a/translation/samples/snippets/dataset_test.py b/translation/samples/snippets/dataset_test.py new file mode 100644 index 00000000000..29e3e5c9fe9 --- /dev/null +++ b/translation/samples/snippets/dataset_test.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import datetime +import os + +import pytest + +import automl_translation_dataset + +project_id = os.environ["GCLOUD_PROJECT"] +compute_region = "us-central1" + + +@pytest.mark.slow +def test_dataset_create_import_delete(capsys): + # create dataset + dataset_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + automl_translation_dataset.create_dataset( + project_id, compute_region, dataset_name, "en", "ja" + ) + out, _ = capsys.readouterr() + create_dataset_output = out.splitlines() + assert "Dataset id: " in create_dataset_output[1] + + # import data + dataset_id = create_dataset_output[1].split()[2] + data = "gs://{}-vcm/en-ja.csv".format(project_id) + automl_translation_dataset.import_data( + project_id, compute_region, dataset_id, data + ) + out, _ = capsys.readouterr() + assert "Data imported." in out + + # delete dataset + automl_translation_dataset.delete_dataset( + project_id, compute_region, dataset_id + ) + out, _ = capsys.readouterr() + assert "Dataset deleted." in out + + +def test_dataset_list_get(capsys): + # list datasets + automl_translation_dataset.list_datasets(project_id, compute_region, "") + out, _ = capsys.readouterr() + list_dataset_output = out.splitlines() + assert "Dataset id: " in list_dataset_output[2] + + # get dataset + dataset_id = list_dataset_output[2].split()[2] + automl_translation_dataset.get_dataset( + project_id, compute_region, dataset_id + ) + out, _ = capsys.readouterr() + assert "Dataset name: " in out diff --git a/translation/samples/snippets/model_test.py b/translation/samples/snippets/model_test.py new file mode 100644 index 00000000000..7f915c5dddf --- /dev/null +++ b/translation/samples/snippets/model_test.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import datetime +import os + +from google.cloud import automl_v1beta1 as automl + +import automl_translation_model + +project_id = os.environ["GCLOUD_PROJECT"] +compute_region = "us-central1" + + +def test_model_create_status_delete(capsys): + # create model + client = automl.AutoMlClient() + model_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + project_location = client.location_path(project_id, compute_region) + my_model = { + "display_name": model_name, + "dataset_id": "3876092572857648864", + "translation_model_metadata": {"base_model": ""}, + } + response = client.create_model(project_location, my_model) + operation_name = response.operation.name + assert operation_name + + # get operation status + automl_translation_model.get_operation_status(operation_name) + out, _ = capsys.readouterr() + assert "Operation status: " in out + + # cancel operation + response.cancel() + + +def test_model_list_get_evaluate(capsys): + # list models + automl_translation_model.list_models(project_id, compute_region, "") + out, _ = capsys.readouterr() + list_models_output = out.splitlines() + assert "Model id: " in list_models_output[2] + + # get model + model_id = list_models_output[2].split()[2] + automl_translation_model.get_model(project_id, compute_region, model_id) + out, _ = capsys.readouterr() + assert "Model name: " in out + + # list model evaluations + automl_translation_model.list_model_evaluations( + project_id, compute_region, model_id, "" + ) + out, _ = capsys.readouterr() + list_evals_output = out.splitlines() + assert "name: " in list_evals_output[1] + + # get model evaluation + model_evaluation_id = list_evals_output[1].split("/")[-1][:-1] + automl_translation_model.get_model_evaluation( + project_id, compute_region, model_id, model_evaluation_id + ) + out, _ = capsys.readouterr() + assert "evaluation_metric" in out diff --git a/translation/samples/snippets/predict_test.py b/translation/samples/snippets/predict_test.py new file mode 100644 index 00000000000..87aea8faa5b --- /dev/null +++ b/translation/samples/snippets/predict_test.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +import automl_translation_predict + +project_id = os.environ["GCLOUD_PROJECT"] +compute_region = "us-central1" + + +def test_predict(capsys): + model_id = "3128559826197068699" + automl_translation_predict.predict( + project_id, compute_region, model_id, "resources/input.txt", False + ) + out, _ = capsys.readouterr() + assert "Translated content: " in out diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 4c26010b59d..9960cc673cf 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,2 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 +google-cloud-automl==0.1.0 diff --git a/translation/samples/snippets/resources/input.txt b/translation/samples/snippets/resources/input.txt new file mode 100644 index 00000000000..5aecd6590fc --- /dev/null +++ b/translation/samples/snippets/resources/input.txt @@ -0,0 +1 @@ +Tell me how this ends \ No newline at end of file From e2c3c82377bca316d9df675dba7657ce7f8b2f26 Mon Sep 17 00:00:00 2001 From: Torry Yang Date: Tue, 24 Jul 2018 09:19:56 -0700 Subject: [PATCH 093/270] remove translate prediction fallback [(#1598)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1598) --- .../snippets/automl_translation_predict.py | 29 ++----------------- translation/samples/snippets/predict_test.py | 2 +- 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/translation/samples/snippets/automl_translation_predict.py b/translation/samples/snippets/automl_translation_predict.py index 1dac70b78d5..653cf388712 100644 --- a/translation/samples/snippets/automl_translation_predict.py +++ b/translation/samples/snippets/automl_translation_predict.py @@ -25,20 +25,13 @@ import os -def predict( - project_id, - compute_region, - model_id, - file_path, - translation_allow_fallback=False, -): +def predict(project_id, compute_region, model_id, file_path): """Translate the content.""" # [START automl_translation_predict] # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' # model_id = 'MODEL_ID_HERE' # file_path = '/local/path/to/file' - # translation_allow_fallback = True allows fallback to Google Translate from google.cloud import automl_v1beta1 as automl @@ -61,10 +54,7 @@ def predict( payload = {"text_snippet": {"content": content}} # params is additional domain-specific parameters. - # translation_allow_fallback allows to use Google translation model. params = {} - if translation_allow_fallback: - params = {"translation_allow_fallback": "True"} response = prediction_client.predict(model_full_id, payload, params) translated_content = response.payload[0].translation.translated_content @@ -84,12 +74,6 @@ def predict( predict_parser = subparsers.add_parser("predict", help=predict.__doc__) predict_parser.add_argument("model_id") predict_parser.add_argument("file_path") - predict_parser.add_argument( - "translation_allow_fallback", - nargs="?", - choices=["False", "True"], - default="False", - ) project_id = os.environ["PROJECT_ID"] compute_region = os.environ["REGION_NAME"] @@ -97,13 +81,4 @@ def predict( args = parser.parse_args() if args.command == "predict": - translation_allow_fallback = ( - True if args.translation_allow_fallback == "True" else False - ) - predict( - project_id, - compute_region, - args.model_id, - args.file_path, - translation_allow_fallback, - ) + predict(project_id, compute_region, args.model_id, args.file_path) diff --git a/translation/samples/snippets/predict_test.py b/translation/samples/snippets/predict_test.py index 87aea8faa5b..c9fb7e04b26 100644 --- a/translation/samples/snippets/predict_test.py +++ b/translation/samples/snippets/predict_test.py @@ -25,7 +25,7 @@ def test_predict(capsys): model_id = "3128559826197068699" automl_translation_predict.predict( - project_id, compute_region, model_id, "resources/input.txt", False + project_id, compute_region, model_id, "resources/input.txt" ) out, _ = capsys.readouterr() assert "Translated content: " in out From 4b69f39d8566c0801ca0c4b40e01af31ade0e811 Mon Sep 17 00:00:00 2001 From: Torry Yang Date: Thu, 2 Aug 2018 17:40:16 -0700 Subject: [PATCH 094/270] skip automl model create/delete test [(#1608)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1608) * skip model create/delete test * add skip reason --- translation/samples/snippets/model_test.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translation/samples/snippets/model_test.py b/translation/samples/snippets/model_test.py index 7f915c5dddf..0d37a85c674 100644 --- a/translation/samples/snippets/model_test.py +++ b/translation/samples/snippets/model_test.py @@ -18,6 +18,7 @@ import os from google.cloud import automl_v1beta1 as automl +import pytest import automl_translation_model @@ -25,6 +26,7 @@ compute_region = "us-central1" +@pytest.mark.skip(reason="creates too many models") def test_model_create_status_delete(capsys): # create model client = automl.AutoMlClient() From 32adfc4aae6ee02161ee95397f2ee728232efd9b Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 28 Aug 2018 11:17:45 -0700 Subject: [PATCH 095/270] Auto-update dependencies. [(#1658)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1658) * Auto-update dependencies. * Rollback appengine/standard/bigquery/. * Rollback appengine/standard/iap/. * Rollback bigtable/metricscaler. * Rolledback appengine/flexible/datastore. * Rollback dataproc/ * Rollback jobs/api_client * Rollback vision/cloud-client. * Rollback functions/ocr/app. * Rollback iot/api-client/end_to_end_example. * Rollback storage/cloud-client. * Rollback kms/api-client. * Rollback dlp/ * Rollback bigquery/cloud-client. * Rollback iot/api-client/manager. * Rollback appengine/flexible/cloudsql_postgresql. --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 9960cc673cf..b8869603044 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==0.1.0 +google-cloud-automl==0.1.1 From de432f6e61837c9ed1bb4dc0548cb41ef0762221 Mon Sep 17 00:00:00 2001 From: Alix Hamilton Date: Wed, 29 Aug 2018 12:37:06 -0700 Subject: [PATCH 096/270] Update AutoML region tags to use standard product prefixes [(#1669)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1669) --- .../snippets/automl_translation_dataset.py | 20 ++++++------- .../snippets/automl_translation_model.py | 28 +++++++++---------- .../snippets/automl_translation_predict.py | 4 +-- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/translation/samples/snippets/automl_translation_dataset.py b/translation/samples/snippets/automl_translation_dataset.py index e579ac358a2..c60ef544ca2 100755 --- a/translation/samples/snippets/automl_translation_dataset.py +++ b/translation/samples/snippets/automl_translation_dataset.py @@ -27,7 +27,7 @@ def create_dataset(project_id, compute_region, dataset_name, source, target): """Create a dataset.""" - # [START automl_translation_create_dataset] + # [START automl_translate_create_dataset] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -75,12 +75,12 @@ def create_dataset(project_id, compute_region, dataset_name, source, target): print("\tseconds: {}".format(dataset.create_time.seconds)) print("\tnanos: {}".format(dataset.create_time.nanos)) - # [END automl_translation_create_dataset] + # [END automl_translate_create_dataset] def list_datasets(project_id, compute_region, filter_): """List Datasets.""" - # [START automl_translation_list_datasets] + # [START automl_translate_list_datasets] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -117,12 +117,12 @@ def list_datasets(project_id, compute_region, filter_): print("\tseconds: {}".format(dataset.create_time.seconds)) print("\tnanos: {}".format(dataset.create_time.nanos)) - # [END automl_translation_list_datasets] + # [END automl_translate_list_datasets] def get_dataset(project_id, compute_region, dataset_id): """Get the dataset.""" - # [START automl_translation_get_dataset] + # [START automl_translate_get_dataset] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -159,12 +159,12 @@ def get_dataset(project_id, compute_region, dataset_id): print("\tseconds: {}".format(dataset.create_time.seconds)) print("\tnanos: {}".format(dataset.create_time.nanos)) - # [END automl_translation_get_dataset] + # [END automl_translate_get_dataset] def import_data(project_id, compute_region, dataset_id, path): """Import sentence pairs to the dataset.""" - # [START automl_translation_import_data] + # [START automl_translate_import_data] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -191,12 +191,12 @@ def import_data(project_id, compute_region, dataset_id, path): # synchronous check of operation status print("Data imported. {}".format(response.result())) - # [END automl_translation_import_data] + # [END automl_translate_import_data] def delete_dataset(project_id, compute_region, dataset_id): """Delete a dataset.""" - # [START automl_translation_delete_dataset]] + # [START automl_translate_delete_dataset]] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -217,7 +217,7 @@ def delete_dataset(project_id, compute_region, dataset_id): # synchronous check of operation status print("Dataset deleted. {}".format(response.result())) - # [END automl_translation_delete_dataset] + # [END automl_translate_delete_dataset] if __name__ == "__main__": diff --git a/translation/samples/snippets/automl_translation_model.py b/translation/samples/snippets/automl_translation_model.py index 0b9b6f53aca..77a4ed73ca9 100755 --- a/translation/samples/snippets/automl_translation_model.py +++ b/translation/samples/snippets/automl_translation_model.py @@ -27,7 +27,7 @@ def create_model(project_id, compute_region, dataset_id, model_name): """Create a model.""" - # [START automl_translation_create_model] + # [START automl_translate_create_model] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -54,12 +54,12 @@ def create_model(project_id, compute_region, dataset_id, model_name): print("Training operation name: {}".format(response.operation.name)) print("Training started...") - # [END automl_translation_create_model] + # [END automl_translate_create_model] def list_models(project_id, compute_region, filter_): """List all models.""" - # [START automl_translation_list_models] + # [START automl_translate_list_models] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -92,12 +92,12 @@ def list_models(project_id, compute_region, filter_): print("\tnanos: {}".format(model.create_time.nanos)) print("Model deployment state: {}".format(deployment_state)) - # [END automl_translation_list_models] + # [END automl_translate_list_models] def get_model(project_id, compute_region, model_id): """Get model details.""" - # [START automl_translation_get_model] + # [START automl_translate_get_model] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -129,12 +129,12 @@ def get_model(project_id, compute_region, model_id): print("\tnanos: {}".format(model.create_time.nanos)) print("Model deployment state: {}".format(deployment_state)) - # [END automl_translation_get_model] + # [END automl_translate_get_model] def list_model_evaluations(project_id, compute_region, model_id, filter_): """List model evaluations.""" - # [START automl_translation_list_model_evaluations] + # [START automl_translate_list_model_evaluations] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -152,14 +152,14 @@ def list_model_evaluations(project_id, compute_region, model_id, filter_): for element in client.list_model_evaluations(model_full_id, filter_): print(element) - # [END automl_translation_list_model_evaluations] + # [END automl_translate_list_model_evaluations] def get_model_evaluation( project_id, compute_region, model_id, model_evaluation_id ): """Get model evaluation.""" - # [START automl_translation_get_model_evaluation] + # [START automl_translate_get_model_evaluation] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -180,12 +180,12 @@ def get_model_evaluation( print(response) - # [END automl_translation_get_model_evaluation] + # [END automl_translate_get_model_evaluation] def delete_model(project_id, compute_region, model_id): """Delete a model.""" - # [START automl_translation_delete_model] + # [START automl_translate_delete_model] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' @@ -204,12 +204,12 @@ def delete_model(project_id, compute_region, model_id): # synchronous check of operation status. print("Model deleted. {}".format(response.result())) - # [END automl_translation_delete_model] + # [END automl_translate_delete_model] def get_operation_status(operation_full_id): """Get operation status.""" - # [START automl_translation_get_operation_status] + # [START automl_translate_get_operation_status] # TODO(developer): Uncomment and set the following variables # operation_full_id = # 'projects//locations//operations/' @@ -225,7 +225,7 @@ def get_operation_status(operation_full_id): print("Operation status: {}".format(response)) - # [END automl_translation_get_operation_status] + # [END automl_translate_get_operation_status] if __name__ == "__main__": diff --git a/translation/samples/snippets/automl_translation_predict.py b/translation/samples/snippets/automl_translation_predict.py index 653cf388712..b15e0e3096f 100644 --- a/translation/samples/snippets/automl_translation_predict.py +++ b/translation/samples/snippets/automl_translation_predict.py @@ -27,7 +27,7 @@ def predict(project_id, compute_region, model_id, file_path): """Translate the content.""" - # [START automl_translation_predict] + # [START automl_translate_predict] # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' # model_id = 'MODEL_ID_HERE' @@ -61,7 +61,7 @@ def predict(project_id, compute_region, model_id, file_path): print(u"Translated content: {}".format(translated_content.content)) - # [END automl_translation_predict] + # [END automl_translate_predict] if __name__ == "__main__": From 084d360c97f15b4d8bd1fd0335182e86c736d6e9 Mon Sep 17 00:00:00 2001 From: Alix Hamilton Date: Thu, 6 Sep 2018 10:54:34 -0700 Subject: [PATCH 097/270] Fix AutoML region tag typos [(#1687)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1687) * fixes vision delete dataset region tag * removes extra bracket --- translation/samples/snippets/automl_translation_dataset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/automl_translation_dataset.py b/translation/samples/snippets/automl_translation_dataset.py index c60ef544ca2..cf3e50ae4c1 100755 --- a/translation/samples/snippets/automl_translation_dataset.py +++ b/translation/samples/snippets/automl_translation_dataset.py @@ -196,7 +196,7 @@ def import_data(project_id, compute_region, dataset_id, path): def delete_dataset(project_id, compute_region, dataset_id): """Delete a dataset.""" - # [START automl_translate_delete_dataset]] + # [START automl_translate_delete_dataset] # TODO(developer): Uncomment and set the following variables # project_id = 'PROJECT_ID_HERE' # compute_region = 'COMPUTE_REGION_HERE' From 439ae46a1846b9997807f14762b65569fcfdd715 Mon Sep 17 00:00:00 2001 From: Charles Engelke Date: Fri, 19 Oct 2018 15:21:41 -0700 Subject: [PATCH 098/270] Fixed name of model [(#1779)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1779) * Fixed name of model * update model ids --- translation/samples/snippets/predict_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/predict_test.py b/translation/samples/snippets/predict_test.py index c9fb7e04b26..f9d98dfb053 100644 --- a/translation/samples/snippets/predict_test.py +++ b/translation/samples/snippets/predict_test.py @@ -23,7 +23,7 @@ def test_predict(capsys): - model_id = "3128559826197068699" + model_id = "TRL3128559826197068699" automl_translation_predict.predict( project_id, compute_region, model_id, "resources/input.txt" ) From 40fc38a5795013ff38dc2e5ffaf354d13f3b0097 Mon Sep 17 00:00:00 2001 From: DPEBot Date: Wed, 6 Feb 2019 12:06:35 -0800 Subject: [PATCH 099/270] Auto-update dependencies. [(#1980)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1980) * Auto-update dependencies. * Update requirements.txt * Update requirements.txt --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index b8869603044..11cadd582a2 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==0.1.1 +google-cloud-automl==0.1.2 From 7737d606107e976db04331dd9fe95c44ec89af79 Mon Sep 17 00:00:00 2001 From: Charles Engelke Date: Fri, 26 Apr 2019 14:44:38 -0700 Subject: [PATCH 100/270] Updated beta version of automl [(#2124)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2124) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 11cadd582a2..ca4e6935ed1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==0.1.2 +google-cloud-automl==1.0.1 From dd671fde5600339ea9afada40350874eba6fc146 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 7 Oct 2019 15:45:22 -0700 Subject: [PATCH 101/270] Adds updates for samples profiler ... vision [(#2439)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2439) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ca4e6935ed1..8142930fb33 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==1.0.1 +google-cloud-automl==1.0.1 \ No newline at end of file From 2d08134f2875bc04beb64a7c62a132b52f05c353 Mon Sep 17 00:00:00 2001 From: DPEBot Date: Fri, 20 Dec 2019 17:41:38 -0800 Subject: [PATCH 102/270] Auto-update dependencies. [(#2005)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2005) * Auto-update dependencies. * Revert update of appengine/flexible/datastore. * revert update of appengine/flexible/scipy * revert update of bigquery/bqml * revert update of bigquery/cloud-client * revert update of bigquery/datalab-migration * revert update of bigtable/quickstart * revert update of compute/api * revert update of container_registry/container_analysis * revert update of dataflow/run_template * revert update of datastore/cloud-ndb * revert update of dialogflow/cloud-client * revert update of dlp * revert update of functions/imagemagick * revert update of functions/ocr/app * revert update of healthcare/api-client/fhir * revert update of iam/api-client * revert update of iot/api-client/gcs_file_to_device * revert update of iot/api-client/mqtt_example * revert update of language/automl * revert update of run/image-processing * revert update of vision/automl * revert update testing/requirements.txt * revert update of vision/cloud-client/detect * revert update of vision/cloud-client/product_search * revert update of jobs/v2/api_client * revert update of jobs/v3/api_client * revert update of opencensus * revert update of translate/cloud-client * revert update to speech/cloud-client Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Co-authored-by: Doug Mahugh --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8142930fb33..ca4e6935ed1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==1.0.1 \ No newline at end of file +google-cloud-automl==1.0.1 From caa5fd73002702d26b8d30235a3f00dc4137c683 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Mon, 2 Mar 2020 15:29:23 -0800 Subject: [PATCH 103/270] Translate: migrate published v3 translate batch samples [(#2914)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2914) * Translate: migrate published b v3 tch samples * added missing requirements * extended wait time * inlined some vals and specified input and output * added link to supported file types & modified default values of input uri * fixed small nit --- translation/samples/snippets/requirements.txt | 6 ++ ...late_v3_batch_translate_text_with_model.py | 67 +++++++++++++++++++ ...v3_batch_translate_text_with_model_test.py | 46 +++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_model.py create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ca4e6935ed1..8e10deaa17f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,9 @@ +<<<<<<< HEAD google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 +======= +google-cloud-translate==2.0.0 +google-cloud-storage==1.19.1 +google-cloud-automl==0.9.0 +>>>>>>> 65dd67b5 (Translate: migrate published v3 translate batch samples [(#2914)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2914)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py new file mode 100644 index 00000000000..010f7f93a90 --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py @@ -0,0 +1,67 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# [START translate_v3_batch_translate_text_with_model] +from google.cloud import translate + + +def batch_translate_text_with_model( + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + model_id="YOUR_MODEL_ID", +): + """Batch translate text using Translation model. + Model can be AutoML or General[built-in] model. """ + + client = translate.TranslationServiceClient() + + # Supported file types: https://cloud.google.com/translate/docs/supported-formats + gcs_source = {"input_uri": input_uri} + location = "us-central1" + + input_configs_element = { + "gcs_source": gcs_source, + "mime_type": "text/plain" # Can be "text/plain" or "text/html". + } + gcs_destination = {"output_uri_prefix": output_uri} + output_config = {"gcs_destination": gcs_destination} + parent = client.location_path(project_id, location) + + model_path = "projects/{}/locations/{}/models/{}".format( + project_id, location, model_id # The location of AutoML model. + ) + + # Supported language codes: https://cloud.google.com/translate/docs/languages + models = {"ja": model_path} # takes a target lang as key. + + operation = client.batch_translate_text( + parent=parent, + source_language_code="en", + target_language_codes=["ja"], # Up to 10 language codes here. + input_configs=[input_configs_element], + output_config=output_config, + models=models, + ) + + print(u"Waiting for operation to complete...") + response = operation.result() + + # Display the translation for each input text provided. + print(u"Total Characters: {}".format(response.total_characters)) + print(u"Translated Characters: {}".format(response.translated_characters)) + + +# [END translate_v3_batch_translate_text_with_model] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py new file mode 100644 index 00000000000..74b044f4352 --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -0,0 +1,46 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import uuid +import translate_v3_batch_translate_text_with_model +from google.cloud import storage + +PROJECT_ID = os.environ["GCLOUD_PROJECT"] +MODEL_ID = "TRL3128559826197068699" + + +@pytest.fixture(scope="function") +def bucket(): + """Create a temporary bucket to store annotation output.""" + bucket_name = str(uuid.uuid1()) + storage_client = storage.Client() + bucket = storage_client.create_bucket(bucket_name) + + yield bucket + + bucket.delete(force=True) + + +def test_batch_translate_text_with_model(capsys, bucket): + translate_v3_batch_translate_text_with_model.batch_translate_text_with_model( + "gs://cloud-samples-data/translation/custom_model_text.txt", + "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + PROJECT_ID, + MODEL_ID, + ) + out, _ = capsys.readouterr() + assert "Total Characters: 15" in out + assert "Translated Characters: 15" in out From 76a29dfbb67c6d9c029644a886e336e83a8f5b1f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 6 Mar 2020 19:04:23 +0100 Subject: [PATCH 104/270] Update dependency google-cloud-automl to v0.10.0 [(#3033)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3033) Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> --- translation/samples/snippets/requirements.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8e10deaa17f..8142930fb33 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,9 +1,3 @@ -<<<<<<< HEAD google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==1.0.1 -======= -google-cloud-translate==2.0.0 -google-cloud-storage==1.19.1 -google-cloud-automl==0.9.0 ->>>>>>> 65dd67b5 (Translate: migrate published v3 translate batch samples [(#2914)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2914)) +google-cloud-automl==1.0.1 \ No newline at end of file From c9fbec63d4e9786a6eb2ca0d1d95c707946ac945 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 9 Mar 2020 18:29:59 +0100 Subject: [PATCH 105/270] chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3046) * chore(deps): update dependency google-cloud-storage to v1.26.0 * chore(deps): specify dependencies by python version * chore: up other deps to try to remove errors Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Co-authored-by: Leah Cole --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8142930fb33..ca4e6935ed1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 -google-cloud-automl==1.0.1 \ No newline at end of file +google-cloud-automl==1.0.1 From 67dbd314fee88687cedcf17cee7e204d1335ba67 Mon Sep 17 00:00:00 2001 From: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Date: Wed, 1 Apr 2020 19:11:50 -0700 Subject: [PATCH 106/270] Simplify noxfile setup. [(#2806)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/2806) * chore(deps): update dependency requests to v2.23.0 * Simplify noxfile and add version control. * Configure appengine/standard to only test Python 2.7. * Update Kokokro configs to match noxfile. * Add requirements-test to each folder. * Remove Py2 versions from everything execept appengine/standard. * Remove conftest.py. * Remove appengine/standard/conftest.py * Remove 'no-sucess-flaky-report' from pytest.ini. * Add GAE SDK back to appengine/standard tests. * Fix typo. * Roll pytest to python 2 version. * Add a bunch of testing requirements. * Remove typo. * Add appengine lib directory back in. * Add some additional requirements. * Fix issue with flake8 args. * Even more requirements. * Readd appengine conftest.py. * Add a few more requirements. * Even more Appengine requirements. * Add webtest for appengine/standard/mailgun. * Add some additional requirements. * Add workaround for issue with mailjet-rest. * Add responses for appengine/standard/mailjet. Co-authored-by: Renovate Bot --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index b267f58b54e..bd6c7999049 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.10.0 flaky==3.7.0 -pytest==5.4.3 \ No newline at end of file +pytest==5.4.3 From 75c121b191399dd3082e13784a915df832a09baa Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 29 Apr 2020 07:26:36 +0200 Subject: [PATCH 107/270] chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260) Co-authored-by: Takashi Matsuo --- translation/samples/snippets/requirements.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ca4e6935ed1..4d6589de5de 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,9 @@ +<<<<<<< HEAD google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 +======= +google-cloud-translate==2.0.1 +google-cloud-storage==1.28.0 +google-cloud-automl==0.10.0 +>>>>>>> 1a45813d (chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260)) From cdd369a6b178d4742a81553ca0a6f62596b968cb Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Tue, 12 May 2020 21:38:39 -0700 Subject: [PATCH 108/270] chore: some lint fixes [(#3751)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3751) * chore: some lint fixes * longer timeout, more retries * disable detect_test.py::test_async_detect_document --- .../translate_v3_batch_translate_text_with_model_test.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index 74b044f4352..36c52ae22e4 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -13,10 +13,13 @@ # limitations under the License. import os -import pytest import uuid -import translate_v3_batch_translate_text_with_model + from google.cloud import storage +import pytest + +import translate_v3_batch_translate_text_with_model + PROJECT_ID = os.environ["GCLOUD_PROJECT"] MODEL_ID = "TRL3128559826197068699" From b5be4affe7a6876165808adfff3878fd0751c027 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 19 May 2020 04:18:01 +0200 Subject: [PATCH 109/270] chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3785) * chore(deps): update dependency google-cloud-storage to v1.28.1 * [asset] testing: use uuid instead of time Co-authored-by: Takashi Matsuo --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 4d6589de5de..1b20849813f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -4,6 +4,6 @@ google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 ======= google-cloud-translate==2.0.1 -google-cloud-storage==1.28.0 +google-cloud-storage==1.28.1 google-cloud-automl==0.10.0 >>>>>>> 1a45813d (chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260)) From f7f0880019d3573f5c217eecda561c0a4fcff6e9 Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Mon, 8 Jun 2020 18:53:04 -0700 Subject: [PATCH 110/270] testing: start using btlr [(#3959)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3959) * testing: start using btlr The binary is at gs://cloud-devrel-kokoro-resources/btlr/v0.0.1/btlr * add period after DIFF_FROM * use array for btlr args * fix websocket tests * add debug message * wait longer for the server to spin up * dlp: bump the wait timeout to 10 minutes * [run] copy noxfile.py to child directory to avoid gcloud issue * [iam] fix: only display description when the key exists * use uuid4 instead of uuid1 * [iot] testing: use the same format for registry id * Stop asserting Out of memory not in the output * fix missing imports * [dns] testing: more retries with delay * [dlp] testing: longer timeout * use the max-concurrency flag * use 30 workers * [monitoring] use multiple projects * [dlp] testing: longer timeout --- .../translate_v3_batch_translate_text_with_model_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index 36c52ae22e4..a7801f60402 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -28,7 +28,7 @@ @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = str(uuid.uuid1()) + bucket_name = f'tmp-{uuid.uuid4().hex}' storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) From 85a42279ad1d9d608c0de10387c08e49e3b51491 Mon Sep 17 00:00:00 2001 From: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com> Date: Tue, 9 Jun 2020 14:34:27 -0700 Subject: [PATCH 111/270] Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4022) --- translation/samples/snippets/dataset_test.py | 2 +- translation/samples/snippets/model_test.py | 2 +- translation/samples/snippets/predict_test.py | 2 +- .../translate_v3_batch_translate_text_with_model_test.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/dataset_test.py b/translation/samples/snippets/dataset_test.py index 29e3e5c9fe9..4430ec5400e 100644 --- a/translation/samples/snippets/dataset_test.py +++ b/translation/samples/snippets/dataset_test.py @@ -21,7 +21,7 @@ import automl_translation_dataset -project_id = os.environ["GCLOUD_PROJECT"] +project_id = os.environ["GOOGLE_CLOUD_PROJECT"] compute_region = "us-central1" diff --git a/translation/samples/snippets/model_test.py b/translation/samples/snippets/model_test.py index 0d37a85c674..e19a50ea737 100644 --- a/translation/samples/snippets/model_test.py +++ b/translation/samples/snippets/model_test.py @@ -22,7 +22,7 @@ import automl_translation_model -project_id = os.environ["GCLOUD_PROJECT"] +project_id = os.environ["GOOGLE_CLOUD_PROJECT"] compute_region = "us-central1" diff --git a/translation/samples/snippets/predict_test.py b/translation/samples/snippets/predict_test.py index f9d98dfb053..d00a4658d7b 100644 --- a/translation/samples/snippets/predict_test.py +++ b/translation/samples/snippets/predict_test.py @@ -18,7 +18,7 @@ import automl_translation_predict -project_id = os.environ["GCLOUD_PROJECT"] +project_id = os.environ["GOOGLE_CLOUD_PROJECT"] compute_region = "us-central1" diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index a7801f60402..4d0def04df3 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -21,7 +21,7 @@ import translate_v3_batch_translate_text_with_model -PROJECT_ID = os.environ["GCLOUD_PROJECT"] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] MODEL_ID = "TRL3128559826197068699" From 11c060c530e24b0dce73408703df8a57a0c0c2bc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 20 Jun 2020 01:03:47 +0200 Subject: [PATCH 112/270] chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4040) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 1b20849813f..c8e8bbae5b1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -4,6 +4,6 @@ google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 ======= google-cloud-translate==2.0.1 -google-cloud-storage==1.28.1 +google-cloud-storage==1.29.0 google-cloud-automl==0.10.0 >>>>>>> 1a45813d (chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260)) From 138281b69b679287947098ddfffd226bbb7ed83d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 20 Jun 2020 01:16:04 +0200 Subject: [PATCH 113/270] chore(deps): update dependency google-cloud-automl to v1 [(#4127)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4127) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-automl](https://togithub.com/googleapis/python-automl) | major | `==0.10.0` -> `==1.0.1` | ---
    googleapis/python-automl [Compare Source](https://togithub.com/googleapis/python-automl/compare/v0.10.0...v1.0.1)
    --- :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). --- translation/samples/snippets/requirements.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index c8e8bbae5b1..16f45f9707b 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,9 +1,3 @@ -<<<<<<< HEAD -google-cloud-translate==3.0.0 +oogle-cloud-translate==3.0.0 google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 -======= -google-cloud-translate==2.0.1 -google-cloud-storage==1.29.0 -google-cloud-automl==0.10.0 ->>>>>>> 1a45813d (chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/3260)) From 1f05cacb148fc9a010673dda2ac002c3da2961ad Mon Sep 17 00:00:00 2001 From: Takashi Matsuo Date: Thu, 23 Jul 2020 11:23:31 -0700 Subject: [PATCH 114/270] fix(translate): fix a broken test [(#4360)](https://github.com/GoogleCloudPlatform/python-docs-samples/issues/4360) * fix(translate): fix a broken test fixes #4353 * use uuid * fix builds --- translation/samples/snippets/dataset_test.py | 4 ++-- translation/samples/snippets/model_test.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/dataset_test.py b/translation/samples/snippets/dataset_test.py index 4430ec5400e..eb5796d58c0 100644 --- a/translation/samples/snippets/dataset_test.py +++ b/translation/samples/snippets/dataset_test.py @@ -14,8 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import datetime import os +import uuid import pytest @@ -28,7 +28,7 @@ @pytest.mark.slow def test_dataset_create_import_delete(capsys): # create dataset - dataset_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + dataset_name = f"test_{uuid.uuid4().hex[:27]}" automl_translation_dataset.create_dataset( project_id, compute_region, dataset_name, "en", "ja" ) diff --git a/translation/samples/snippets/model_test.py b/translation/samples/snippets/model_test.py index e19a50ea737..fd2fabc38a7 100644 --- a/translation/samples/snippets/model_test.py +++ b/translation/samples/snippets/model_test.py @@ -77,4 +77,4 @@ def test_model_list_get_evaluate(capsys): project_id, compute_region, model_id, model_evaluation_id ) out, _ = capsys.readouterr() - assert "evaluation_metric" in out + assert model_evaluation_id in out From 188c20767381ff9520c9faa113dd511efda66bec Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Mon, 17 Aug 2020 22:24:49 +0000 Subject: [PATCH 115/270] chore: remove automl samples --- .../snippets/automl_translation_dataset.py | 278 ---------------- .../snippets/automl_translation_model.py | 300 ------------------ .../snippets/automl_translation_predict.py | 84 ----- translation/samples/snippets/dataset_test.py | 69 ---- translation/samples/snippets/model_test.py | 80 ----- translation/samples/snippets/predict_test.py | 31 -- .../samples/snippets/resources/input.txt | 1 - 7 files changed, 843 deletions(-) delete mode 100755 translation/samples/snippets/automl_translation_dataset.py delete mode 100755 translation/samples/snippets/automl_translation_model.py delete mode 100644 translation/samples/snippets/automl_translation_predict.py delete mode 100644 translation/samples/snippets/dataset_test.py delete mode 100644 translation/samples/snippets/model_test.py delete mode 100644 translation/samples/snippets/predict_test.py delete mode 100644 translation/samples/snippets/resources/input.txt diff --git a/translation/samples/snippets/automl_translation_dataset.py b/translation/samples/snippets/automl_translation_dataset.py deleted file mode 100755 index cf3e50ae4c1..00000000000 --- a/translation/samples/snippets/automl_translation_dataset.py +++ /dev/null @@ -1,278 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This application demonstrates how to perform basic operations on dataset -with the Google AutoML Translation API. - -For more information, see the documentation at -https://cloud.google.com/translate/automl/docs -""" - -import argparse -import os - - -def create_dataset(project_id, compute_region, dataset_name, source, target): - """Create a dataset.""" - # [START automl_translate_create_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_name = 'DATASET_NAME_HERE' - # source = 'LANGUAGE_CODE_OF_SOURCE_LANGUAGE' - # target = 'LANGUAGE_CODE_OF_TARGET_LANGUAGE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # Specify the source and target language. - dataset_metadata = { - "source_language_code": source, - "target_language_code": target, - } - # Set dataset name and dataset metadata - my_dataset = { - "display_name": dataset_name, - "translation_dataset_metadata": dataset_metadata, - } - - # Create a dataset with the dataset metadata in the region. - dataset = client.create_dataset(project_location, my_dataset) - - # Display the dataset information - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Translation dataset Metadata:") - print( - "\tsource_language_code: {}".format( - dataset.translation_dataset_metadata.source_language_code - ) - ) - print( - "\ttarget_language_code: {}".format( - dataset.translation_dataset_metadata.target_language_code - ) - ) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_translate_create_dataset] - - -def list_datasets(project_id, compute_region, filter_): - """List Datasets.""" - # [START automl_translate_list_datasets] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # filter_ = 'filter expression here' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # List all the datasets available in the region by applying filter. - response = client.list_datasets(project_location, filter_) - - print("List of datasets:") - for dataset in response: - # Display the dataset information - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Translation dataset metadata:") - print( - "\tsource_language_code: {}".format( - dataset.translation_dataset_metadata.source_language_code - ) - ) - print( - "\ttarget_language_code: {}".format( - dataset.translation_dataset_metadata.target_language_code - ) - ) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_translate_list_datasets] - - -def get_dataset(project_id, compute_region, dataset_id): - """Get the dataset.""" - # [START automl_translate_get_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Get complete detail of the dataset. - dataset = client.get_dataset(dataset_full_id) - - # Display the dataset information - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Translation dataset metadata:") - print( - "\tsource_language_code: {}".format( - dataset.translation_dataset_metadata.source_language_code - ) - ) - print( - "\ttarget_language_code: {}".format( - dataset.translation_dataset_metadata.target_language_code - ) - ) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_translate_get_dataset] - - -def import_data(project_id, compute_region, dataset_id, path): - """Import sentence pairs to the dataset.""" - # [START automl_translate_import_data] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - # path = 'gs://path/to/file.csv' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset. - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Get the multiple Google Cloud Storage URIs - input_uris = path.split(",") - input_config = {"gcs_source": {"input_uris": input_uris}} - - # Import data from the input URI - response = client.import_data(dataset_full_id, input_config) - - print("Processing import...") - # synchronous check of operation status - print("Data imported. {}".format(response.result())) - - # [END automl_translate_import_data] - - -def delete_dataset(project_id, compute_region, dataset_id): - """Delete a dataset.""" - # [START automl_translate_delete_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset. - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Delete a dataset. - response = client.delete_dataset(dataset_full_id) - - # synchronous check of operation status - print("Dataset deleted. {}".format(response.result())) - - # [END automl_translate_delete_dataset] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - create_dataset_parser = subparsers.add_parser( - "create_dataset", help=create_dataset.__doc__ - ) - create_dataset_parser.add_argument("dataset_name") - create_dataset_parser.add_argument("source") - create_dataset_parser.add_argument("target") - - list_datasets_parser = subparsers.add_parser( - "list_datasets", help=list_datasets.__doc__ - ) - list_datasets_parser.add_argument("filter", nargs="?", default="") - - import_data_parser = subparsers.add_parser( - "import_data", help=import_data.__doc__ - ) - import_data_parser.add_argument("dataset_id") - import_data_parser.add_argument("path") - - delete_dataset_parser = subparsers.add_parser( - "delete_dataset", help=delete_dataset.__doc__ - ) - delete_dataset_parser.add_argument("dataset_id") - - get_dataset_parser = subparsers.add_parser( - "get_dataset", help=get_dataset.__doc__ - ) - get_dataset_parser.add_argument("dataset_id") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "create_dataset": - create_dataset( - project_id, - compute_region, - args.dataset_name, - args.source, - args.target, - ) - if args.command == "list_datasets": - list_datasets(project_id, compute_region, args.filter) - if args.command == "get_dataset": - get_dataset(project_id, compute_region, args.dataset_id) - if args.command == "import_data": - import_data(project_id, compute_region, args.dataset_id, args.path) - if args.command == "delete_dataset": - delete_dataset(project_id, compute_region, args.dataset_id) diff --git a/translation/samples/snippets/automl_translation_model.py b/translation/samples/snippets/automl_translation_model.py deleted file mode 100755 index 77a4ed73ca9..00000000000 --- a/translation/samples/snippets/automl_translation_model.py +++ /dev/null @@ -1,300 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This application demonstrates how to perform basic operations on model -with the Google AutoML Translation API. - -For more information, see the documentation at -https://cloud.google.com/translate/automl/docs -""" - -import argparse -import os - - -def create_model(project_id, compute_region, dataset_id, model_name): - """Create a model.""" - # [START automl_translate_create_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - # model_name = 'MODEL_NAME_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # Set model name and dataset. - my_model = { - "display_name": model_name, - "dataset_id": dataset_id, - "translation_model_metadata": {"base_model": ""}, - } - - # Create a model with the model metadata in the region. - response = client.create_model(project_location, my_model) - - print("Training operation name: {}".format(response.operation.name)) - print("Training started...") - - # [END automl_translate_create_model] - - -def list_models(project_id, compute_region, filter_): - """List all models.""" - # [START automl_translate_list_models] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # filter_ = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - from google.cloud.automl_v1beta1 import enums - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # List all the models available in the region by applying filter. - response = client.list_models(project_location, filter_) - - print("List of models:") - for model in response: - # Display the model information. - if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: - deployment_state = "deployed" - else: - deployment_state = "undeployed" - - print("Model name: {}".format(model.name)) - print("Model id: {}".format(model.name.split("/")[-1])) - print("Model display name: {}".format(model.display_name)) - print("Model create time:") - print("\tseconds: {}".format(model.create_time.seconds)) - print("\tnanos: {}".format(model.create_time.nanos)) - print("Model deployment state: {}".format(deployment_state)) - - # [END automl_translate_list_models] - - -def get_model(project_id, compute_region, model_id): - """Get model details.""" - # [START automl_translate_get_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - from google.cloud.automl_v1beta1 import enums - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # Get complete detail of the model. - model = client.get_model(model_full_id) - - # Retrieve deployment state. - if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: - deployment_state = "deployed" - else: - deployment_state = "undeployed" - - # Display the model information. - print("Model name: {}".format(model.name)) - print("Model id: {}".format(model.name.split("/")[-1])) - print("Model display name: {}".format(model.display_name)) - print("Model create time:") - print("\tseconds: {}".format(model.create_time.seconds)) - print("\tnanos: {}".format(model.create_time.nanos)) - print("Model deployment state: {}".format(deployment_state)) - - # [END automl_translate_get_model] - - -def list_model_evaluations(project_id, compute_region, model_id, filter_): - """List model evaluations.""" - # [START automl_translate_list_model_evaluations] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # filter_ = 'filter expression here' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - print("List of model evaluations:") - for element in client.list_model_evaluations(model_full_id, filter_): - print(element) - - # [END automl_translate_list_model_evaluations] - - -def get_model_evaluation( - project_id, compute_region, model_id, model_evaluation_id -): - """Get model evaluation.""" - # [START automl_translate_get_model_evaluation] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # model_evaluation_id = 'MODEL_EVALUATION_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model evaluation. - model_evaluation_full_id = client.model_evaluation_path( - project_id, compute_region, model_id, model_evaluation_id - ) - - # Get complete detail of the model evaluation. - response = client.get_model_evaluation(model_evaluation_full_id) - - print(response) - - # [END automl_translate_get_model_evaluation] - - -def delete_model(project_id, compute_region, model_id): - """Delete a model.""" - # [START automl_translate_delete_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # Delete a model. - response = client.delete_model(model_full_id) - - # synchronous check of operation status. - print("Model deleted. {}".format(response.result())) - - # [END automl_translate_delete_model] - - -def get_operation_status(operation_full_id): - """Get operation status.""" - # [START automl_translate_get_operation_status] - # TODO(developer): Uncomment and set the following variables - # operation_full_id = - # 'projects//locations//operations/' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the latest state of a long-running operation. - response = client.transport._operations_client.get_operation( - operation_full_id - ) - - print("Operation status: {}".format(response)) - - # [END automl_translate_get_operation_status] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - create_model_parser = subparsers.add_parser( - "create_model", help=create_model.__doc__ - ) - create_model_parser.add_argument("dataset_id") - create_model_parser.add_argument("model_name") - - list_model_evaluations_parser = subparsers.add_parser( - "list_model_evaluations", help=list_model_evaluations.__doc__ - ) - list_model_evaluations_parser.add_argument("model_id") - list_model_evaluations_parser.add_argument("filter", nargs="?", default="") - - get_model_evaluation_parser = subparsers.add_parser( - "get_model_evaluation", help=get_model_evaluation.__doc__ - ) - get_model_evaluation_parser.add_argument("model_id") - get_model_evaluation_parser.add_argument("model_evaluation_id") - - get_model_parser = subparsers.add_parser( - "get_model", help=get_model.__doc__ - ) - get_model_parser.add_argument("model_id") - - get_operation_status_parser = subparsers.add_parser( - "get_operation_status", help=get_operation_status.__doc__ - ) - get_operation_status_parser.add_argument("operation_full_id") - - list_models_parser = subparsers.add_parser( - "list_models", help=list_models.__doc__ - ) - list_models_parser.add_argument("filter", nargs="?", default="") - - delete_model_parser = subparsers.add_parser( - "delete_model", help=delete_model.__doc__ - ) - delete_model_parser.add_argument("model_id") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "create_model": - create_model( - project_id, compute_region, args.dataset_id, args.model_name - ) - if args.command == "list_models": - list_models(project_id, compute_region, args.filter) - if args.command == "get_model": - get_model(project_id, compute_region, args.model_id) - if args.command == "list_model_evaluations": - list_model_evaluations( - project_id, compute_region, args.model_id, args.filter - ) - if args.command == "get_model_evaluation": - get_model_evaluation( - project_id, compute_region, args.model_id, args.model_evaluation_id - ) - if args.command == "delete_model": - delete_model(project_id, compute_region, args.model_id) - if args.command == "get_operation_status": - get_operation_status(args.operation_full_id) diff --git a/translation/samples/snippets/automl_translation_predict.py b/translation/samples/snippets/automl_translation_predict.py deleted file mode 100644 index b15e0e3096f..00000000000 --- a/translation/samples/snippets/automl_translation_predict.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This application demonstrates how to perform basic operations on prediction -with the Google AutoML Translation API. - -For more information, see the documentation at -https://cloud.google.com/translate/automl/docs -""" - -import argparse -import os - - -def predict(project_id, compute_region, model_id, file_path): - """Translate the content.""" - # [START automl_translate_predict] - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # file_path = '/local/path/to/file' - - from google.cloud import automl_v1beta1 as automl - - automl_client = automl.AutoMlClient() - - # Create client for prediction service. - prediction_client = automl.PredictionServiceClient() - - # Get the full path of the model. - model_full_id = automl_client.model_path( - project_id, compute_region, model_id - ) - - # Read the file content for translation. - with open(file_path, "rb") as content_file: - content = content_file.read() - content.decode("utf-8") - - # Set the payload by giving the content of the file. - payload = {"text_snippet": {"content": content}} - - # params is additional domain-specific parameters. - params = {} - - response = prediction_client.predict(model_full_id, payload, params) - translated_content = response.payload[0].translation.translated_content - - print(u"Translated content: {}".format(translated_content.content)) - - # [END automl_translate_predict] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - predict_parser = subparsers.add_parser("predict", help=predict.__doc__) - predict_parser.add_argument("model_id") - predict_parser.add_argument("file_path") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "predict": - predict(project_id, compute_region, args.model_id, args.file_path) diff --git a/translation/samples/snippets/dataset_test.py b/translation/samples/snippets/dataset_test.py deleted file mode 100644 index eb5796d58c0..00000000000 --- a/translation/samples/snippets/dataset_test.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import uuid - -import pytest - -import automl_translation_dataset - -project_id = os.environ["GOOGLE_CLOUD_PROJECT"] -compute_region = "us-central1" - - -@pytest.mark.slow -def test_dataset_create_import_delete(capsys): - # create dataset - dataset_name = f"test_{uuid.uuid4().hex[:27]}" - automl_translation_dataset.create_dataset( - project_id, compute_region, dataset_name, "en", "ja" - ) - out, _ = capsys.readouterr() - create_dataset_output = out.splitlines() - assert "Dataset id: " in create_dataset_output[1] - - # import data - dataset_id = create_dataset_output[1].split()[2] - data = "gs://{}-vcm/en-ja.csv".format(project_id) - automl_translation_dataset.import_data( - project_id, compute_region, dataset_id, data - ) - out, _ = capsys.readouterr() - assert "Data imported." in out - - # delete dataset - automl_translation_dataset.delete_dataset( - project_id, compute_region, dataset_id - ) - out, _ = capsys.readouterr() - assert "Dataset deleted." in out - - -def test_dataset_list_get(capsys): - # list datasets - automl_translation_dataset.list_datasets(project_id, compute_region, "") - out, _ = capsys.readouterr() - list_dataset_output = out.splitlines() - assert "Dataset id: " in list_dataset_output[2] - - # get dataset - dataset_id = list_dataset_output[2].split()[2] - automl_translation_dataset.get_dataset( - project_id, compute_region, dataset_id - ) - out, _ = capsys.readouterr() - assert "Dataset name: " in out diff --git a/translation/samples/snippets/model_test.py b/translation/samples/snippets/model_test.py deleted file mode 100644 index fd2fabc38a7..00000000000 --- a/translation/samples/snippets/model_test.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import datetime -import os - -from google.cloud import automl_v1beta1 as automl -import pytest - -import automl_translation_model - -project_id = os.environ["GOOGLE_CLOUD_PROJECT"] -compute_region = "us-central1" - - -@pytest.mark.skip(reason="creates too many models") -def test_model_create_status_delete(capsys): - # create model - client = automl.AutoMlClient() - model_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") - project_location = client.location_path(project_id, compute_region) - my_model = { - "display_name": model_name, - "dataset_id": "3876092572857648864", - "translation_model_metadata": {"base_model": ""}, - } - response = client.create_model(project_location, my_model) - operation_name = response.operation.name - assert operation_name - - # get operation status - automl_translation_model.get_operation_status(operation_name) - out, _ = capsys.readouterr() - assert "Operation status: " in out - - # cancel operation - response.cancel() - - -def test_model_list_get_evaluate(capsys): - # list models - automl_translation_model.list_models(project_id, compute_region, "") - out, _ = capsys.readouterr() - list_models_output = out.splitlines() - assert "Model id: " in list_models_output[2] - - # get model - model_id = list_models_output[2].split()[2] - automl_translation_model.get_model(project_id, compute_region, model_id) - out, _ = capsys.readouterr() - assert "Model name: " in out - - # list model evaluations - automl_translation_model.list_model_evaluations( - project_id, compute_region, model_id, "" - ) - out, _ = capsys.readouterr() - list_evals_output = out.splitlines() - assert "name: " in list_evals_output[1] - - # get model evaluation - model_evaluation_id = list_evals_output[1].split("/")[-1][:-1] - automl_translation_model.get_model_evaluation( - project_id, compute_region, model_id, model_evaluation_id - ) - out, _ = capsys.readouterr() - assert model_evaluation_id in out diff --git a/translation/samples/snippets/predict_test.py b/translation/samples/snippets/predict_test.py deleted file mode 100644 index d00a4658d7b..00000000000 --- a/translation/samples/snippets/predict_test.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os - -import automl_translation_predict - -project_id = os.environ["GOOGLE_CLOUD_PROJECT"] -compute_region = "us-central1" - - -def test_predict(capsys): - model_id = "TRL3128559826197068699" - automl_translation_predict.predict( - project_id, compute_region, model_id, "resources/input.txt" - ) - out, _ = capsys.readouterr() - assert "Translated content: " in out diff --git a/translation/samples/snippets/resources/input.txt b/translation/samples/snippets/resources/input.txt deleted file mode 100644 index 5aecd6590fc..00000000000 --- a/translation/samples/snippets/resources/input.txt +++ /dev/null @@ -1 +0,0 @@ -Tell me how this ends \ No newline at end of file From 63115d2e59cf65b41bbba49c47d8b4377f782284 Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Tue, 18 Aug 2020 00:21:44 +0000 Subject: [PATCH 116/270] docs: add w/ glossary and model --- ..._translate_text_with_glossary_and_model.py | 137 ++++++++++++++++++ ...slate_text_with_glossary_and_model_test.py | 72 +++++++++ 2 files changed, 209 insertions(+) create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py create mode 100644 translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py new file mode 100644 index 00000000000..72ddcfee54f --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# DO NOT EDIT! This is a generated sample ("LongRunningPromise", "translate_v3_batch_translate_text_with_glossary_and_model") + +# To install the latest published package dependency, execute the following: +# pip install google-cloud-translate + +# sample-metadata +# title: Batch Translate with Glossary and Model +# description: Batch translate text with Glossary using AutoML Translation model +# usage: python3 translate_v3_batch_translate_text_with_glossary_and_model.py [--input_uri "gs://cloud-samples-data/text.txt"] [--output_uri "gs://YOUR_BUCKET_ID/path_to_store_results/"] [--project "[Google Cloud Project ID]"] [--location "us-central1"] [--target_language en] [--source_language de] [--model_id "{your-model-id}"] [--glossary_id "{your-glossary-id}"] + +# [START translate_v3_batch_translate_text_with_glossary_and_model] +from google.cloud import translate + +def sample_batch_translate_text_with_glossary_and_model( + input_uri, + output_uri, + project_id, + location, + target_language, + source_language, + model_id, + glossary_id +): + """ + Batch translate text with Glossary and Translation model + """ + + client = translate.TranslationServiceClient() + + # TODO(developer): Uncomment and set the following variables + # input_uri = 'gs://cloud-samples-data/text.txt' + # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' + # project = '[Google Cloud Project ID]' + # location = 'us-central1' + # target_language = 'en' + # source_language = 'de' + # model_id = '{your-model-id}' + # glossary_id = '[YOUR_GLOSSARY_ID]' + target_language_codes = [target_language] + gcs_source = {"input_uri": input_uri} + + # Optional. Can be "text/plain" or "text/html". + mime_type = "text/plain" + input_configs_element = {"gcs_source": gcs_source, "mime_type": mime_type} + input_configs = [input_configs_element] + gcs_destination = {"output_uri_prefix": output_uri} + output_config = {"gcs_destination": gcs_destination} + parent = client.location_path(project_id, location) + model_path = 'projects/{}/locations/{}/models/{}'.format(project_id, 'us-central1', model_id) + models = {target_language: model_path} + + glossary_path = client.glossary_path( + project_id, + 'us-central1', # The location of the glossary + glossary_id) + + glossary_config = translate.types.TranslateTextGlossaryConfig( + glossary=glossary_path) + glossaries = {"ja": glossary_config} #target lang as key + + operation = client.batch_translate_text( + parent=parent, + source_language_code=source_language, + target_language_codes=target_language_codes, + input_configs=input_configs, + output_config=output_config, + models=models, + glossaries=glossaries + ) + + print(u"Waiting for operation to complete...") + response = operation.result() + + # Display the translation for each input text provided + print(u"Total Characters: {}".format(response.total_characters)) + print(u"Translated Characters: {}".format(response.translated_characters)) + + +# [END translate_v3_batch_translate_text_with_glossary_and_model] + + +def main(): + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument( + "--input_uri", type=str, default="gs://cloud-samples-data/text.txt" + ) + parser.add_argument( + "--output_uri", type=str, default="gs://YOUR_BUCKET_ID/path_to_store_results/" + ) + parser.add_argument("--project_id", type=str, default="[Google Cloud Project ID]") + parser.add_argument("--location", type=str, default="us-central1") + parser.add_argument("--target_language", type=str, default="en") + parser.add_argument("--source_language", type=str, default="de") + parser.add_argument( + "--model_id", + type=str, + default="{your-model-id}" + ) + parser.add_argument( + "--glossary_id", + type=str, + default="[YOUR_GLOSSARY_ID]", + ) + args = parser.parse_args() + + sample_batch_translate_text_with_glossary_and_model( + args.input_uri, + args.output_uri, + args.project_id, + args.location, + args.target_language, + args.source_language, + args.model_id, + args.glossary_id + ) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py new file mode 100644 index 00000000000..563c9f74a69 --- /dev/null +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -0,0 +1,72 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import pytest +import uuid +import translate_v3_batch_translate_text_with_glossary_and_model +import translate_v3_create_glossary +import translate_v3_delete_glossary +from google.cloud import storage + +PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] +GLOSSARY_INPUT_URI = 'gs://cloud-samples-data/translation/glossary_ja.csv' +MODEL_ID = 'TRL3128559826197068699' + +@pytest.fixture(scope='session') +def glossary(): + """Get the ID of a glossary available to session (do not mutate/delete).""" + glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) + translate_v3_create_glossary.sample_create_glossary( + PROJECT_ID, + GLOSSARY_INPUT_URI, + glossary_id + ) + + yield glossary_id + + try: + translate_v3_delete_glossary.sample_delete_glossary(PROJECT_ID, glossary_id) + except Exception: + pass + +@pytest.fixture(scope='function') +def bucket(): + """Create a temporary bucket to store annotation output.""" + bucket_name = "mike-test-delete-" + str(uuid.uuid1()) + storage_client = storage.Client() + bucket = storage_client.create_bucket(bucket_name) + + yield bucket + + bucket.delete(force=True) + +def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): + translate_v3_batch_translate_text_with_glossary_and_model.sample_batch_translate_text_with_glossary_and_model( + 'gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt', + 'gs://{}/translation/BATCH_TRANSLATION_OUTPUT/'.format(bucket.name), + PROJECT_ID, + 'us-central1', + 'ja', + 'en', + MODEL_ID, + glossary + ) + + out, _ = capsys.readouterr() + assert 'Total Characters: 25' in out + #TODO: find a way to make sure it translates correctly + # SHOULD NOT BE - Google NMT model -> それはしません。欺ception" + # literal: "それはそうだ" # custom model + # literal: "欺く" # glossary \ No newline at end of file From fe11b1baa109005db1fd4dacbb3bcdc88dac51da Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Tue, 18 Aug 2020 00:40:42 +0000 Subject: [PATCH 117/270] test: fix sample test --- ...translate_v3_batch_translate_text_with_glossary_and_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py index 72ddcfee54f..acb53fcdf3d 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py @@ -61,7 +61,7 @@ def sample_batch_translate_text_with_glossary_and_model( input_configs = [input_configs_element] gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/location" model_path = 'projects/{}/locations/{}/models/{}'.format(project_id, 'us-central1', model_id) models = {target_language: model_path} From ad1a6569b9c3a8dd910f8d917a96a5e0539ba3a8 Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Tue, 18 Aug 2020 01:19:29 +0000 Subject: [PATCH 118/270] test: fix remaining --- translation/samples/snippets/beta_snippets.py | 246 +++++++++--------- .../samples/snippets/beta_snippets_test.py | 54 ++-- .../hybrid_glossaries/hybrid_tutorial.py | 89 +++---- .../hybrid_glossaries/hybrid_tutorial_test.py | 37 ++- .../snippets/hybrid_glossaries/noxfile.py | 26 +- translation/samples/snippets/noxfile.py | 26 +- translation/samples/snippets/quickstart.py | 14 +- .../samples/snippets/quickstart_test.py | 2 +- translation/samples/snippets/snippets.py | 77 +++--- translation/samples/snippets/snippets_test.py | 20 +- .../translate_v3_batch_translate_text.py | 18 +- .../translate_v3_batch_translate_text_test.py | 2 +- ...e_v3_batch_translate_text_with_glossary.py | 24 +- ..._translate_text_with_glossary_and_model.py | 57 ++-- ...slate_text_with_glossary_and_model_test.py | 51 ++-- ...batch_translate_text_with_glossary_test.py | 8 +- ...late_v3_batch_translate_text_with_model.py | 24 +- ...v3_batch_translate_text_with_model_test.py | 2 +- .../snippets/translate_v3_create_glossary.py | 8 +- .../translate_v3_create_glossary_test.py | 4 +- .../snippets/translate_v3_delete_glossary.py | 4 +- .../snippets/translate_v3_detect_language.py | 4 +- .../translate_v3_get_glossary_test.py | 4 +- .../translate_v3_get_supported_languages.py | 2 +- ..._v3_get_supported_languages_with_target.py | 8 +- ...et_supported_languages_with_target_test.py | 4 +- .../translate_v3_list_glossary_test.py | 4 +- .../snippets/translate_v3_translate_text.py | 4 +- .../translate_v3_translate_text_test.py | 3 +- ...anslate_v3_translate_text_with_glossary.py | 7 +- ...te_v3_translate_text_with_glossary_test.py | 4 +- .../translate_v3_translate_text_with_model.py | 3 +- 32 files changed, 419 insertions(+), 421 deletions(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 10ec2dc6e64..835e55b16ad 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -19,11 +19,12 @@ def translate_text(project_id, text): # [START translate_translate_text_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = YOUR_PROJECT_ID # text = 'Text you wish to translate' - location = 'global' + location = "global" parent = f"projects/{project_id}/locations/{location}" @@ -33,38 +34,38 @@ def translate_text(project_id, text): "contents": [text], "mime_type": "text/plain", # mime types: text/plain, text/html "source_language_code": "en-US", - "target_language_code": "sr-Latn" + "target_language_code": "sr-Latn", } ) for translation in response.translations: - print(u'Translated Text: {}'.format(translation)) + print("Translated Text: {}".format(translation)) # [END translate_translate_text_beta] def batch_translate_text(project_id, input_uri, output_uri): # [START translate_batch_translate_text_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = YOUR_PROJECT_ID # input_uri = 'gs://cloud-samples-data/translation/text.txt' # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' - location = 'us-central1' + location = "us-central1" parent = f"projects/{project_id}/locations/{location}" gcs_source = translate.types.GcsSource(input_uri=input_uri) input_config = translate.types.InputConfig( - mime_type='text/plain', # mime types: text/plain, text/html - gcs_source=gcs_source) + mime_type="text/plain", # mime types: text/plain, text/html + gcs_source=gcs_source, + ) - gcs_destination = translate.types.GcsDestination( - output_uri_prefix=output_uri) + gcs_destination = translate.types.GcsDestination(output_uri_prefix=output_uri) - output_config = translate.types.OutputConfig( - gcs_destination=gcs_destination) + output_config = translate.types.OutputConfig(gcs_destination=gcs_destination) operation = client.batch_translate_text( request={ @@ -72,25 +73,26 @@ def batch_translate_text(project_id, input_uri, output_uri): "source_language_code": "en-US", "target_language_codes": ["sr-Latn"], "input_configs": [input_config], - "output_config": output_config + "output_config": output_config, } ) result = operation.result(timeout=240) - print(u'Total Characters: {}'.format(result.total_characters)) - print(u'Translated Characters: {}'.format(result.translated_characters)) + print("Total Characters: {}".format(result.total_characters)) + print("Translated Characters: {}".format(result.translated_characters)) # [END translate_batch_translate_text_beta] def detect_language(project_id, text): # [START translate_detect_language_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = YOUR_PROJECT_ID # text = 'Text you wish to translate' - location = 'global' + location = "global" parent = f"projects/{project_id}/locations/{location}" @@ -98,176 +100,178 @@ def detect_language(project_id, text): request={ "parent": parent, "content": text, - "mime_type": "text/plain" # mime types: text/plain, text/html + "mime_type": "text/plain", # mime types: text/plain, text/html } ) for language in response.languages: - print(u'Language Code: {} (Confidence: {})'.format( - language.language_code, - language.confidence)) + print( + "Language Code: {} (Confidence: {})".format( + language.language_code, language.confidence + ) + ) # [END translate_detect_language_beta] def list_languages(project_id): # [START translate_list_codes_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = YOUR_PROJECT_ID - location = 'global' + location = "global" parent = f"projects/{project_id}/locations/{location}" response = client.get_supported_languages(parent=parent) - print('Supported Languages:') + print("Supported Languages:") for language in response.languages: - print(u'Language Code: {}'.format(language.language_code)) + print("Language Code: {}".format(language.language_code)) # [END translate_list_codes_beta] def list_languages_with_target(project_id, display_language_code): # [START translate_list_language_names_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = YOUR_PROJECT_ID # display_language_code = 'is' - location = 'global' + location = "global" parent = f"projects/{project_id}/locations/{location}" response = client.get_supported_languages( - parent=parent, - display_language_code=display_language_code) + parent=parent, display_language_code=display_language_code + ) - print('Supported Languages:') + print("Supported Languages:") for language in response.languages: - print(u'Language Code: {}'.format(language.language_code)) - print(u'Display Name: {}\n'.format(language.display_name)) + print("Language Code: {}".format(language.language_code)) + print("Display Name: {}\n".format(language.display_name)) # [END translate_list_language_names_beta] def create_glossary(project_id, glossary_id): # [START translate_create_glossary_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'glossary-id' - location = 'us-central1' # The location of the glossary + location = "us-central1" # The location of the glossary - name = client.glossary_path( - project_id, - location, - glossary_id) + name = client.glossary_path(project_id, location, glossary_id) language_codes_set = translate.types.Glossary.LanguageCodesSet( - language_codes=['en', 'es']) + language_codes=["en", "es"] + ) gcs_source = translate.types.GcsSource( - input_uri='gs://cloud-samples-data/translation/glossary.csv') + input_uri="gs://cloud-samples-data/translation/glossary.csv" + ) - input_config = translate.types.GlossaryInputConfig( - gcs_source=gcs_source) + input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source) glossary = translate.types.Glossary( - name=name, - language_codes_set=language_codes_set, - input_config=input_config) + name=name, language_codes_set=language_codes_set, input_config=input_config + ) parent = f"projects/{project_id}/locations/{location}" operation = client.create_glossary(parent=parent, glossary=glossary) result = operation.result(timeout=90) - print(u'Created: {}'.format(result.name)) - print(u'Input Uri: {}'.format(result.input_config.gcs_source.input_uri)) + print("Created: {}".format(result.name)) + print("Input Uri: {}".format(result.input_config.gcs_source.input_uri)) # [END translate_create_glossary_beta] def list_glossaries(project_id): # [START translate_list_glossary_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = 'YOUR_PROJECT_ID' - location = 'us-central1' # The location of the glossary + location = "us-central1" # The location of the glossary parent = f"projects/{project_id}/locations/{location}" for glossary in client.list_glossaries(parent=parent): - print(u'Name: {}'.format(glossary.name)) - print(u'Entry count: {}'.format(glossary.entry_count)) - print(u'Input uri: {}'.format( - glossary.input_config.gcs_source.input_uri)) + print("Name: {}".format(glossary.name)) + print("Entry count: {}".format(glossary.entry_count)) + print("Input uri: {}".format(glossary.input_config.gcs_source.input_uri)) for language_code in glossary.language_codes_set.language_codes: - print(u'Language code: {}'.format(language_code)) + print("Language code: {}".format(language_code)) # [END translate_list_glossary_beta] def get_glossary(project_id, glossary_id): # [START translate_get_glossary_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'GLOSSARY_ID' name = client.glossary_path( - project_id, - 'us-central1', # The location of the glossary - glossary_id) + project_id, "us-central1", glossary_id # The location of the glossary + ) response = client.get_glossary(name=name) - print(u'Name: {}'.format(response.name)) - print(u'Language Pair:') - print(u'\tSource Language Code: {}'.format( - response.language_pair.source_language_code)) - print(u'\tTarget Language Code: {}'.format( - response.language_pair.target_language_code)) - print(u'Input Uri: {}'.format( - response.input_config.gcs_source.input_uri)) + print("Name: {}".format(response.name)) + print("Language Pair:") + print( + "\tSource Language Code: {}".format(response.language_pair.source_language_code) + ) + print( + "\tTarget Language Code: {}".format(response.language_pair.target_language_code) + ) + print("Input Uri: {}".format(response.input_config.gcs_source.input_uri)) # [END translate_get_glossary_beta] def delete_glossary(project_id, glossary_id): # [START translate_delete_glossary_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'GLOSSARY_ID' name = client.glossary_path( - project_id, - 'us-central1', # The location of the glossary - glossary_id) + project_id, "us-central1", glossary_id # The location of the glossary + ) operation = client.delete_glossary(name=name) result = operation.result(timeout=90) - print(u'Deleted: {}'.format(result.name)) + print("Deleted: {}".format(result.name)) # [END translate_delete_glossary_beta] def translate_text_with_glossary(project_id, glossary_id, text): # [START translate_translate_text_with_glossary_beta] from google.cloud import translate_v3beta1 as translate + client = translate.TranslationServiceClient() # project_id = 'YOUR_PROJECT_ID' # glossary_id = 'GLOSSARY_ID' # text = 'Text you wish to translate' - location = 'us-central1' # The location of the glossary + location = "us-central1" # The location of the glossary glossary = client.glossary_path( - project_id, - 'us-central1', # The location of the glossary - glossary_id) + project_id, "us-central1", glossary_id # The location of the glossary + ) - glossary_config = translate.types.TranslateTextGlossaryConfig( - glossary=glossary) + glossary_config = translate.types.TranslateTextGlossaryConfig(glossary=glossary) parent = f"projects/{project_id}/locations/{location}" @@ -278,7 +282,7 @@ def translate_text_with_glossary(project_id, glossary_id, text): "mime_type": "text/plain", "source_language_code": "en", "target_language_code": "es", - "glossary_config": glossary_config + "glossary_config": glossary_config, } ) @@ -287,84 +291,92 @@ def translate_text_with_glossary(project_id, glossary_id, text): # [END translate_translate_text_with_glossary_beta] -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter) + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) - subparsers = parser.add_subparsers(dest='command') + subparsers = parser.add_subparsers(dest="command") translate_text_parser = subparsers.add_parser( - 'translate-text', help=translate_text.__doc__) - translate_text_parser.add_argument('project_id') - translate_text_parser.add_argument('text') + "translate-text", help=translate_text.__doc__ + ) + translate_text_parser.add_argument("project_id") + translate_text_parser.add_argument("text") batch_translate_text_parser = subparsers.add_parser( - 'batch-translate-text', help=translate_text.__doc__) - batch_translate_text_parser.add_argument('project_id') - batch_translate_text_parser.add_argument('gcs_source') - batch_translate_text_parser.add_argument('gcs_destination') + "batch-translate-text", help=translate_text.__doc__ + ) + batch_translate_text_parser.add_argument("project_id") + batch_translate_text_parser.add_argument("gcs_source") + batch_translate_text_parser.add_argument("gcs_destination") detect_langage_parser = subparsers.add_parser( - 'detect-language', help=detect_language.__doc__) - detect_langage_parser.add_argument('project_id') - detect_langage_parser.add_argument('text') + "detect-language", help=detect_language.__doc__ + ) + detect_langage_parser.add_argument("project_id") + detect_langage_parser.add_argument("text") list_languages_parser = subparsers.add_parser( - 'list-languages', help=list_languages.__doc__) - list_languages_parser.add_argument('project_id') + "list-languages", help=list_languages.__doc__ + ) + list_languages_parser.add_argument("project_id") list_languages_with_target_parser = subparsers.add_parser( - 'list-languages-with-target', help=list_languages_with_target.__doc__) - list_languages_with_target_parser.add_argument('project_id') - list_languages_with_target_parser.add_argument('display_language_code') + "list-languages-with-target", help=list_languages_with_target.__doc__ + ) + list_languages_with_target_parser.add_argument("project_id") + list_languages_with_target_parser.add_argument("display_language_code") create_glossary_parser = subparsers.add_parser( - 'create-glossary', help=create_glossary.__doc__) - create_glossary_parser.add_argument('project_id') - create_glossary_parser.add_argument('glossary_id') + "create-glossary", help=create_glossary.__doc__ + ) + create_glossary_parser.add_argument("project_id") + create_glossary_parser.add_argument("glossary_id") get_glossary_parser = subparsers.add_parser( - 'get-glossary', help=get_glossary.__doc__) - get_glossary_parser.add_argument('project_id') - get_glossary_parser.add_argument('glossary_id') + "get-glossary", help=get_glossary.__doc__ + ) + get_glossary_parser.add_argument("project_id") + get_glossary_parser.add_argument("glossary_id") list_glossary_parser = subparsers.add_parser( - 'list-glossaries', help=list_glossaries.__doc__) - list_glossary_parser.add_argument('project_id') + "list-glossaries", help=list_glossaries.__doc__ + ) + list_glossary_parser.add_argument("project_id") delete_glossary_parser = subparsers.add_parser( - 'delete-glossary', help=delete_glossary.__doc__) - delete_glossary_parser.add_argument('project_id') - delete_glossary_parser.add_argument('glossary_id') + "delete-glossary", help=delete_glossary.__doc__ + ) + delete_glossary_parser.add_argument("project_id") + delete_glossary_parser.add_argument("glossary_id") translate_with_glossary_parser = subparsers.add_parser( - 'translate-with-glossary', help=translate_text_with_glossary.__doc__) - translate_with_glossary_parser.add_argument('project_id') - translate_with_glossary_parser.add_argument('glossary_id') - translate_with_glossary_parser.add_argument('text') + "translate-with-glossary", help=translate_text_with_glossary.__doc__ + ) + translate_with_glossary_parser.add_argument("project_id") + translate_with_glossary_parser.add_argument("glossary_id") + translate_with_glossary_parser.add_argument("text") args = parser.parse_args() - if args.command == 'translate-text': + if args.command == "translate-text": translate_text(args.project_id, args.text) - elif args.command == 'batch-translate-text': - batch_translate_text( - args.project_id, args.gcs_source, args.gcs_destination) - elif args.command == 'detect-language': + elif args.command == "batch-translate-text": + batch_translate_text(args.project_id, args.gcs_source, args.gcs_destination) + elif args.command == "detect-language": detect_language(args.project_id, args.text) - elif args.command == 'list-languages': + elif args.command == "list-languages": list_languages(args.project_id) - elif args.command == 'list-languages-with-target': + elif args.command == "list-languages-with-target": list_languages_with_target(args.project_id, args.display_language_code) - elif args.command == 'create-glossary': + elif args.command == "create-glossary": create_glossary(args.project_id, args.glossary_id) - elif args.command == 'get-glossary': + elif args.command == "get-glossary": get_glossary(args.project_id, args.glossary_id) - elif args.command == 'list-glossaries': + elif args.command == "list-glossaries": list_glossaries(args.project_id) - elif args.command == 'delete-glossary': + elif args.command == "delete-glossary": delete_glossary(args.project_id, args.glossary_id) - elif args.command == 'translate-with-glossary': - translate_text_with_glossary( - args.project_id, args.glossary_id, args.text) + elif args.command == "translate-with-glossary": + translate_text_with_glossary(args.project_id, args.glossary_id, args.text) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index a42ab08ce3f..7e0c2dc61ed 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -22,13 +22,13 @@ import beta_snippets -PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -@pytest.fixture(scope='function') +@pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = f'tmp-{uuid.uuid4().hex}' + bucket_name = f"tmp-{uuid.uuid4().hex}" storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) @@ -37,10 +37,10 @@ def bucket(): bucket.delete(force=True) -@pytest.fixture(scope='session') +@pytest.fixture(scope="session") def glossary(): """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) beta_snippets.create_glossary(PROJECT_ID, glossary_id) yield glossary_id @@ -51,10 +51,10 @@ def glossary(): pass -@pytest.fixture(scope='function') +@pytest.fixture(scope="function") def unique_glossary_id(): """Get a unique ID. Attempts to delete glossary with this ID after test.""" - glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) yield glossary_id @@ -65,69 +65,69 @@ def unique_glossary_id(): def test_translate_text(capsys): - beta_snippets.translate_text(PROJECT_ID, 'Hello world') + beta_snippets.translate_text(PROJECT_ID, "Hello world") out, _ = capsys.readouterr() - assert 'Translated Text:' in out + assert "Translated Text:" in out @pytest.mark.flaky(max_runs=3, min_passes=1) def test_batch_translate_text(capsys, bucket): beta_snippets.batch_translate_text( PROJECT_ID, - 'gs://cloud-samples-data/translation/text.txt', - 'gs://{}/translation/BATCH_TRANSLATION_OUTPUT/'.format(bucket.name)) + "gs://cloud-samples-data/translation/text.txt", + "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + ) out, _ = capsys.readouterr() - assert 'Total Characters: 13' in out - assert 'Translated Characters: 13' in out + assert "Total Characters: 13" in out + assert "Translated Characters: 13" in out def test_detect_language(capsys): - beta_snippets.detect_language(PROJECT_ID, u'Hæ sæta') + beta_snippets.detect_language(PROJECT_ID, "Hæ sæta") out, _ = capsys.readouterr() - assert 'is' in out + assert "is" in out def test_list_languages(capsys): beta_snippets.list_languages(PROJECT_ID) out, _ = capsys.readouterr() - assert 'zh-CN' in out + assert "zh-CN" in out def test_list_languages_with_target(capsys): - beta_snippets.list_languages_with_target(PROJECT_ID, 'is') + beta_snippets.list_languages_with_target(PROJECT_ID, "is") out, _ = capsys.readouterr() - assert u'Language Code: sq' in out - assert u'Display Name: albanska' in out + assert "Language Code: sq" in out + assert "Display Name: albanska" in out @pytest.mark.flaky(max_runs=3, min_passes=1) def test_create_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) out, _ = capsys.readouterr() - assert 'Created' in out + assert "Created" in out assert unique_glossary_id in out - assert 'gs://cloud-samples-data/translation/glossary.csv' in out + assert "gs://cloud-samples-data/translation/glossary.csv" in out def test_get_glossary(capsys, glossary): beta_snippets.get_glossary(PROJECT_ID, glossary) out, _ = capsys.readouterr() assert glossary in out - assert 'gs://cloud-samples-data/translation/glossary.csv' in out + assert "gs://cloud-samples-data/translation/glossary.csv" in out def test_list_glossary(capsys, glossary): beta_snippets.list_glossaries(PROJECT_ID) out, _ = capsys.readouterr() assert glossary in out - assert 'gs://cloud-samples-data/translation/glossary.csv' in out + assert "gs://cloud-samples-data/translation/glossary.csv" in out def test_translate_text_with_glossary(capsys, glossary): - beta_snippets.translate_text_with_glossary( - PROJECT_ID, glossary, 'account') + beta_snippets.translate_text_with_glossary(PROJECT_ID, glossary, "account") out, _ = capsys.readouterr() - assert 'cuenta' in out + assert "cuenta" in out @pytest.mark.flaky(max_runs=3, min_passes=1) @@ -135,5 +135,5 @@ def test_delete_glossary(capsys, unique_glossary_id): beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) beta_snippets.delete_glossary(PROJECT_ID, unique_glossary_id) out, _ = capsys.readouterr() - assert 'us-central1' in out + assert "us-central1" in out assert unique_glossary_id in out diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index a9ea9328f49..c98bdd0ee04 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -23,12 +23,13 @@ from google.cloud import texttospeech from google.cloud import translate_v3beta1 as translate from google.cloud import vision + # [END translate_hybrid_imports] # [START translate_hybrid_project_id] # extract GCP project id -PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] # [END translate_hybrid_project_id] @@ -47,7 +48,7 @@ def pic_to_text(infile): client = vision.ImageAnnotatorClient() # Opens the input image file - with io.open(infile, 'rb') as image_file: + with io.open(infile, "rb") as image_file: content = image_file.read() image = vision.types.Image(content=content) @@ -81,29 +82,24 @@ def create_glossary(languages, project_id, glossary_name, glossary_uri): client = translate.TranslationServiceClient() # Designates the data center location that you want to use - location = 'us-central1' + location = "us-central1" # Set glossary resource name - name = client.glossary_path( - project_id, - location, - glossary_name) + name = client.glossary_path(project_id, location, glossary_name) # Set language codes language_codes_set = translate.types.Glossary.LanguageCodesSet( - language_codes=languages) + language_codes=languages + ) - gcs_source = translate.types.GcsSource( - input_uri=glossary_uri) + gcs_source = translate.types.GcsSource(input_uri=glossary_uri) - input_config = translate.types.GlossaryInputConfig( - gcs_source=gcs_source) + input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source) # Set glossary resource information glossary = translate.types.Glossary( - name=name, - language_codes_set=language_codes_set, - input_config=input_config) + name=name, language_codes_set=language_codes_set, input_config=input_config + ) parent = f"projects/{project_id}/locations/{location}" @@ -113,16 +109,20 @@ def create_glossary(languages, project_id, glossary_name, glossary_uri): try: operation = client.create_glossary(parent=parent, glossary=glossary) operation.result(timeout=90) - print('Created glossary ' + glossary_name + '.') + print("Created glossary " + glossary_name + ".") except AlreadyExists: - print('The glossary ' + glossary_name + - ' already exists. No new glossary was created.') + print( + "The glossary " + + glossary_name + + " already exists. No new glossary was created." + ) # [END translate_hybrid_create_glossary] # [START translate_hybrid_translate] -def translate_text(text, source_language_code, target_language_code, - project_id, glossary_name): +def translate_text( + text, source_language_code, target_language_code, project_id, glossary_name +): """Translates text to a given language using a glossary ARGS @@ -141,15 +141,11 @@ def translate_text(text, source_language_code, target_language_code, client = translate.TranslationServiceClient() # Designates the data center location that you want to use - location = 'us-central1' + location = "us-central1" - glossary = client.glossary_path( - project_id, - location, - glossary_name) + glossary = client.glossary_path(project_id, location, glossary_name) - glossary_config = translate.types.TranslateTextGlossaryConfig( - glossary=glossary) + glossary_config = translate.types.TranslateTextGlossaryConfig(glossary=glossary) parent = f"projects/{project_id}/locations/{location}" @@ -160,7 +156,7 @@ def translate_text(text, source_language_code, target_language_code, "mime_type": "text/plain", # mime types: text/plain, text/html "source_language_code": source_language_code, "target_language_code": target_language_code, - "glossary_config": glossary_config + "glossary_config": glossary_config, } ) @@ -190,8 +186,9 @@ def text_to_speech(text, outfile): # Convert plaintext to SSML in order to wait two seconds # between each line in synthetic speech - ssml = '{}'.format( - escaped_lines.replace('\n', '\n')) + ssml = "{}".format( + escaped_lines.replace("\n", '\n') + ) # Instantiates a client client = texttospeech.TextToSpeechClient() @@ -202,28 +199,27 @@ def text_to_speech(text, outfile): # Builds the voice request, selects the language code ("en-US") and # the SSML voice gender ("MALE") voice = texttospeech.VoiceSelectionParams( - language_code='en-US', - ssml_gender=texttospeech.SsmlVoiceGender.MALE) + language_code="en-US", ssml_gender=texttospeech.SsmlVoiceGender.MALE + ) # Selects the type of audio file to return audio_config = texttospeech.AudioConfig( - audio_encoding=texttospeech.AudioEncoding.MP3) + audio_encoding=texttospeech.AudioEncoding.MP3 + ) # Performs the text-to-speech request on the text input with the selected # voice parameters and audio file type request = texttospeech.SynthesizeSpeechRequest( - input=synthesis_input, - voice=voice, - audio_config=audio_config + input=synthesis_input, voice=voice, audio_config=audio_config ) response = client.synthesize_speech(request=request) # Writes the synthetic audio to the output file. - with open(outfile, 'wb') as out: + with open(outfile, "wb") as out: out.write(response.audio_content) - print('Audio content written to file ' + outfile) + print("Audio content written to file " + outfile) # [END translate_hybrid_tts] @@ -231,30 +227,31 @@ def text_to_speech(text, outfile): def main(): # Photo from which to extract text - infile = 'resources/example.png' + infile = "resources/example.png" # Name of file that will hold synthetic speech - outfile = 'resources/example.mp3' + outfile = "resources/example.mp3" # Defines the languages in the glossary # This list must match the languages in the glossary # Here, the glossary includes French and English - glossary_langs = ['fr', 'en'] + glossary_langs = ["fr", "en"] # Name that will be assigned to your project's glossary resource - glossary_name = 'bistro-glossary' + glossary_name = "bistro-glossary" # uri of .csv file uploaded to Cloud Storage - glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' + glossary_uri = "gs://cloud-samples-data/translation/bistro_glossary.csv" create_glossary(glossary_langs, PROJECT_ID, glossary_name, glossary_uri) # photo -> detected text text_to_translate = pic_to_text(infile) # detected text -> translated text - text_to_speak = translate_text(text_to_translate, 'fr', 'en', - PROJECT_ID, glossary_name) + text_to_speak = translate_text( + text_to_translate, "fr", "en", PROJECT_ID, glossary_name + ) # translated text -> synthetic audio text_to_speech(text_to_speak, outfile) # [END translate_hybrid_integration] -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 5643968842f..eaccf7f2a51 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -22,7 +22,7 @@ from hybrid_tutorial import translate_text -PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] # VISION TESTS @@ -40,10 +40,10 @@ def test_vision_standard_format(capsys): def test_vision_non_standard_format(): # Generate text - text = pic_to_text('resources/non_standard_format.png') + text = pic_to_text("resources/non_standard_format.png") # Read expected text - with open('resources/non_standard_format.txt') as f: + with open("resources/non_standard_format.txt") as f: expected_text = f.read() assert text == expected_text @@ -53,16 +53,15 @@ def test_vision_non_standard_format(): def test_create_and_delete_glossary(): - sys.path.insert(1, '../') + sys.path.insert(1, "../") from beta_snippets import delete_glossary - languages = ['fr', 'en'] - glossary_name = f'test-glossary-{uuid.uuid4()}' - glossary_uri = 'gs://cloud-samples-data/translation/bistro_glossary.csv' + languages = ["fr", "en"] + glossary_name = f"test-glossary-{uuid.uuid4()}" + glossary_uri = "gs://cloud-samples-data/translation/bistro_glossary.csv" # create_glossary will raise an exception if creation fails - create_glossary(languages, PROJECT_ID, glossary_name, - glossary_uri) + create_glossary(languages, PROJECT_ID, glossary_name, glossary_uri) # Delete glossary so that future tests will pass # delete_glossary will raise an exception if deletion fails @@ -71,21 +70,19 @@ def test_create_and_delete_glossary(): def test_translate_standard(): - expected_text = 'Hello' + expected_text = "Hello" - text = translate_text('Bonjour', 'fr', 'en', PROJECT_ID, - 'bistro-glossary') + text = translate_text("Bonjour", "fr", "en", PROJECT_ID, "bistro-glossary") assert text == expected_text def test_translate_glossary(): - expected_text = 'I eat goat cheese' - input_text = 'Je mange du chevre' + expected_text = "I eat goat cheese" + input_text = "Je mange du chevre" - text = translate_text(input_text, 'fr', 'en', PROJECT_ID, - 'bistro-glossary') + text = translate_text(input_text, "fr", "en", PROJECT_ID, "bistro-glossary") assert text == expected_text @@ -94,10 +91,10 @@ def test_translate_glossary(): def test_tts_standard(capsys): - outfile = 'resources/test_standard_text.mp3' - textfile = 'resources/standard_format.txt' + outfile = "resources/test_standard_text.mp3" + textfile = "resources/standard_format.txt" - with open(textfile, 'r') as f: + with open(textfile, "r") as f: text = f.read() text_to_speech(text, outfile) @@ -107,7 +104,7 @@ def test_tts_standard(capsys): out, err = capsys.readouterr() # Assert success message printed - assert 'Audio content written to file ' + outfile in out + assert "Audio content written to file " + outfile in out # Delete test file os.remove(outfile) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index ba55d7ce53c..5660f08be44 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -37,24 +37,22 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': ["2.7"], - + "ignored_versions": ["2.7"], # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - 'envs': {}, + "envs": {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append('.') + sys.path.append(".") from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -69,12 +67,12 @@ def get_pytest_env_vars(): ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG['gcloud_project_env'] + env_key = TEST_CONFIG["gcloud_project_env"] # This should error out if not set. - ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG['envs']) + ret.update(TEST_CONFIG["envs"]) return ret @@ -83,7 +81,7 @@ def get_pytest_env_vars(): ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] +IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) @@ -138,7 +136,7 @@ def lint(session): args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - "." + ".", ] session.run("flake8", *args) @@ -182,9 +180,9 @@ def py(session): if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip("SKIPPED: {} tests are disabled for this sample.".format( - session.python - )) + session.skip( + "SKIPPED: {} tests are disabled for this sample.".format(session.python) + ) # diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index ba55d7ce53c..5660f08be44 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -37,24 +37,22 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': ["2.7"], - + "ignored_versions": ["2.7"], # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - 'envs': {}, + "envs": {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append('.') + sys.path.append(".") from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -69,12 +67,12 @@ def get_pytest_env_vars(): ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG['gcloud_project_env'] + env_key = TEST_CONFIG["gcloud_project_env"] # This should error out if not set. - ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG['envs']) + ret.update(TEST_CONFIG["envs"]) return ret @@ -83,7 +81,7 @@ def get_pytest_env_vars(): ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] +IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) @@ -138,7 +136,7 @@ def lint(session): args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - "." + ".", ] session.run("flake8", *args) @@ -182,9 +180,9 @@ def py(session): if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip("SKIPPED: {} tests are disabled for this sample.".format( - session.python - )) + session.skip( + "SKIPPED: {} tests are disabled for this sample.".format(session.python) + ) # diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py index 888b6691c40..9fc4027a8b8 100644 --- a/translation/samples/snippets/quickstart.py +++ b/translation/samples/snippets/quickstart.py @@ -24,19 +24,17 @@ def run_quickstart(): translate_client = translate.Client() # The text to translate - text = u'Hello, world!' + text = u"Hello, world!" # The target language - target = 'ru' + target = "ru" # Translates some text into Russian - translation = translate_client.translate( - text, - target_language=target) + translation = translate_client.translate(text, target_language=target) - print(u'Text: {}'.format(text)) - print(u'Translation: {}'.format(translation['translatedText'])) + print(u"Text: {}".format(text)) + print(u"Translation: {}".format(translation["translatedText"])) # [END translate_quickstart] -if __name__ == '__main__': +if __name__ == "__main__": run_quickstart() diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py index 8def7f3e9ac..e4dc4886bc3 100644 --- a/translation/samples/snippets/quickstart_test.py +++ b/translation/samples/snippets/quickstart_test.py @@ -20,4 +20,4 @@ def test_quickstart(capsys): quickstart.run_quickstart() out, _ = capsys.readouterr() - assert u'Translation' in out + assert u"Translation" in out diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 24b457162fa..41d64c32291 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -30,15 +30,16 @@ def detect_language(text): # [START translate_detect_language] """Detects the text's language.""" from google.cloud import translate_v2 as translate + translate_client = translate.Client() # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. result = translate_client.detect_language(text) - print('Text: {}'.format(text)) - print('Confidence: {}'.format(result['confidence'])) - print('Language: {}'.format(result['language'])) + print("Text: {}".format(text)) + print("Confidence: {}".format(result["confidence"])) + print("Language: {}".format(result["language"])) # [END translate_detect_language] @@ -46,12 +47,13 @@ def list_languages(): # [START translate_list_codes] """Lists all available languages.""" from google.cloud import translate_v2 as translate + translate_client = translate.Client() results = translate_client.get_languages() for language in results: - print(u'{name} ({language})'.format(**language)) + print(u"{name} ({language})".format(**language)) # [END translate_list_codes] @@ -63,16 +65,17 @@ def list_languages_with_target(target): See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ from google.cloud import translate_v2 as translate + translate_client = translate.Client() results = translate_client.get_languages(target_language=target) for language in results: - print(u'{name} ({language})'.format(**language)) + print(u"{name} ({language})".format(**language)) # [END translate_list_language_names] -def translate_text_with_model(target, text, model='nmt'): +def translate_text_with_model(target, text, model="nmt"): # [START translate_text_with_model] """Translates text into the target language. @@ -82,20 +85,19 @@ def translate_text_with_model(target, text, model='nmt'): See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ from google.cloud import translate_v2 as translate + translate_client = translate.Client() if isinstance(text, six.binary_type): - text = text.decode('utf-8') + text = text.decode("utf-8") # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. - result = translate_client.translate( - text, target_language=target, model=model) + result = translate_client.translate(text, target_language=target, model=model) - print(u'Text: {}'.format(result['input'])) - print(u'Translation: {}'.format(result['translatedText'])) - print(u'Detected source language: {}'.format( - result['detectedSourceLanguage'])) + print(u"Text: {}".format(result["input"])) + print(u"Translation: {}".format(result["translatedText"])) + print(u"Detected source language: {}".format(result["detectedSourceLanguage"])) # [END translate_text_with_model] @@ -107,52 +109,55 @@ def translate_text(target, text): See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ from google.cloud import translate_v2 as translate + translate_client = translate.Client() if isinstance(text, six.binary_type): - text = text.decode('utf-8') + text = text.decode("utf-8") # Text can also be a sequence of strings, in which case this method # will return a sequence of results for each text. - result = translate_client.translate( - text, target_language=target) + result = translate_client.translate(text, target_language=target) - print(u'Text: {}'.format(result['input'])) - print(u'Translation: {}'.format(result['translatedText'])) - print(u'Detected source language: {}'.format( - result['detectedSourceLanguage'])) + print(u"Text: {}".format(result["input"])) + print(u"Translation: {}".format(result["translatedText"])) + print(u"Detected source language: {}".format(result["detectedSourceLanguage"])) # [END translate_translate_text] -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter) - subparsers = parser.add_subparsers(dest='command') + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + subparsers = parser.add_subparsers(dest="command") detect_langage_parser = subparsers.add_parser( - 'detect-language', help=detect_language.__doc__) - detect_langage_parser.add_argument('text') + "detect-language", help=detect_language.__doc__ + ) + detect_langage_parser.add_argument("text") list_languages_parser = subparsers.add_parser( - 'list-languages', help=list_languages.__doc__) + "list-languages", help=list_languages.__doc__ + ) list_languages_with_target_parser = subparsers.add_parser( - 'list-languages-with-target', help=list_languages_with_target.__doc__) - list_languages_with_target_parser.add_argument('target') + "list-languages-with-target", help=list_languages_with_target.__doc__ + ) + list_languages_with_target_parser.add_argument("target") translate_text_parser = subparsers.add_parser( - 'translate-text', help=translate_text.__doc__) - translate_text_parser.add_argument('target') - translate_text_parser.add_argument('text') + "translate-text", help=translate_text.__doc__ + ) + translate_text_parser.add_argument("target") + translate_text_parser.add_argument("text") args = parser.parse_args() - if args.command == 'detect-language': + if args.command == "detect-language": detect_language(args.text) - elif args.command == 'list-languages': + elif args.command == "list-languages": list_languages() - elif args.command == 'list-languages-with-target': + elif args.command == "list-languages-with-target": list_languages_with_target(args.target) - elif args.command == 'translate-text': + elif args.command == "translate-text": translate_text(args.target, args.text) diff --git a/translation/samples/snippets/snippets_test.py b/translation/samples/snippets/snippets_test.py index ab489dfa0ad..b5fe362cafc 100644 --- a/translation/samples/snippets/snippets_test.py +++ b/translation/samples/snippets/snippets_test.py @@ -19,31 +19,31 @@ def test_detect_language(capsys): - snippets.detect_language('Hæ sæta') + snippets.detect_language("Hæ sæta") out, _ = capsys.readouterr() - assert 'is' in out + assert "is" in out def test_list_languages(capsys): snippets.list_languages() out, _ = capsys.readouterr() - assert 'Icelandic (is)' in out + assert "Icelandic (is)" in out def test_list_languages_with_target(capsys): - snippets.list_languages_with_target('is') + snippets.list_languages_with_target("is") out, _ = capsys.readouterr() - assert u'íslenska (is)' in out + assert u"íslenska (is)" in out def test_translate_text(capsys): - snippets.translate_text('is', 'Hello world') + snippets.translate_text("is", "Hello world") out, _ = capsys.readouterr() - assert u'Halló heimur' in out + assert u"Halló heimur" in out def test_translate_utf8(capsys): - text = u'파인애플 13개' - snippets.translate_text('en', text) + text = u"파인애플 13개" + snippets.translate_text("en", text) out, _ = capsys.readouterr() - assert u'13 pineapples' in out + assert u"13 pineapples" in out diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py index 487b0965774..0f4161c917e 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -17,10 +17,10 @@ def batch_translate_text( - input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", - output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", - project_id="YOUR_PROJECT_ID", - timeout=180, + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + timeout=180, ): """Translates a batch of texts on GCS and stores the result in a GCS location.""" @@ -32,7 +32,7 @@ def batch_translate_text( input_configs_element = { "gcs_source": gcs_source, - "mime_type": "text/plain" # Can be "text/plain" or "text/html". + "mime_type": "text/plain", # Can be "text/plain" or "text/html". } gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} @@ -45,15 +45,15 @@ def batch_translate_text( "source_language_code": "en", "target_language_codes": ["ja"], # Up to 10 language codes here. "input_configs": [input_configs_element], - "output_config": output_config + "output_config": output_config, } ) - print(u"Waiting for operation to complete...") + print("Waiting for operation to complete...") response = operation.result(timeout) - print(u"Total Characters: {}".format(response.total_characters)) - print(u"Translated Characters: {}".format(response.translated_characters)) + print("Total Characters: {}".format(response.total_characters)) + print("Translated Characters: {}".format(response.translated_characters)) # [END translate_v3_batch_translate_text] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index f604a3e1ac0..8629d47521b 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -42,7 +42,7 @@ def test_batch_translate_text(capsys, bucket): "gs://cloud-samples-data/translation/text.txt", "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, - timeout=240 + timeout=240, ) out, _ = capsys.readouterr() assert "Total Characters" in out diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py index e9c4a7c2637..6250034246b 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -18,11 +18,11 @@ def batch_translate_text_with_glossary( - input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", - output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", - project_id="YOUR_PROJECT_ID", - glossary_id="YOUR_GLOSSARY_ID", - timeout=180, + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """Translates a batch of texts on GCS and stores the result in a GCS location. Glossary is applied for translation.""" @@ -37,7 +37,7 @@ def batch_translate_text_with_glossary( input_configs_element = { "gcs_source": gcs_source, - "mime_type": "text/plain" # Can be "text/plain" or "text/html". + "mime_type": "text/plain", # Can be "text/plain" or "text/html". } gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} @@ -50,9 +50,7 @@ def batch_translate_text_with_glossary( project_id, "us-central1", glossary_id # The location of the glossary ) - glossary_config = translate.TranslateTextGlossaryConfig( - glossary=glossary_path - ) + glossary_config = translate.TranslateTextGlossaryConfig(glossary=glossary_path) glossaries = {"ja": glossary_config} # target lang as key @@ -63,15 +61,15 @@ def batch_translate_text_with_glossary( "target_language_codes": ["ja"], # Up to 10 language codes here. "input_configs": [input_configs_element], "glossaries": glossaries, - "output_config": output_config + "output_config": output_config, } ) - print(u"Waiting for operation to complete...") + print("Waiting for operation to complete...") response = operation.result(timeout) - print(u"Total Characters: {}".format(response.total_characters)) - print(u"Translated Characters: {}".format(response.translated_characters)) + print("Total Characters: {}".format(response.total_characters)) + print("Translated Characters: {}".format(response.translated_characters)) # [END translate_v3_batch_translate_text_with_glossary] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py index acb53fcdf3d..e9a6905e8d4 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py @@ -27,6 +27,7 @@ # [START translate_v3_batch_translate_text_with_glossary_and_model] from google.cloud import translate + def sample_batch_translate_text_with_glossary_and_model( input_uri, output_uri, @@ -35,7 +36,7 @@ def sample_batch_translate_text_with_glossary_and_model( target_language, source_language, model_id, - glossary_id + glossary_id, ): """ Batch translate text with Glossary and Translation model @@ -61,35 +62,37 @@ def sample_batch_translate_text_with_glossary_and_model( input_configs = [input_configs_element] gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} - parent = f"projects/{project_id}/locations/location" - model_path = 'projects/{}/locations/{}/models/{}'.format(project_id, 'us-central1', model_id) + parent = f"projects/{project_id}/locations/{location}" + model_path = "projects/{}/locations/{}/models/{}".format( + project_id, "us-central1", model_id + ) models = {target_language: model_path} glossary_path = client.glossary_path( - project_id, - 'us-central1', # The location of the glossary - glossary_id) - - glossary_config = translate.types.TranslateTextGlossaryConfig( - glossary=glossary_path) - glossaries = {"ja": glossary_config} #target lang as key + project_id, "us-central1", glossary_id # The location of the glossary + ) + + glossary_config = translate.TranslateTextGlossaryConfig(glossary=glossary_path) + glossaries = {"ja": glossary_config} # target lang as key operation = client.batch_translate_text( - parent=parent, - source_language_code=source_language, - target_language_codes=target_language_codes, - input_configs=input_configs, - output_config=output_config, - models=models, - glossaries=glossaries + request={ + "parent": parent, + "source_language_code": "en", + "target_language_codes": target_language_codes, + "input_configs": input_configs, + "output_config": output_config, + "models": models, + "glossaries": glossaries, + } ) - print(u"Waiting for operation to complete...") + print("Waiting for operation to complete...") response = operation.result() # Display the translation for each input text provided - print(u"Total Characters: {}".format(response.total_characters)) - print(u"Translated Characters: {}".format(response.translated_characters)) + print("Total Characters: {}".format(response.total_characters)) + print("Translated Characters: {}".format(response.translated_characters)) # [END translate_v3_batch_translate_text_with_glossary_and_model] @@ -109,15 +112,9 @@ def main(): parser.add_argument("--location", type=str, default="us-central1") parser.add_argument("--target_language", type=str, default="en") parser.add_argument("--source_language", type=str, default="de") + parser.add_argument("--model_id", type=str, default="{your-model-id}") parser.add_argument( - "--model_id", - type=str, - default="{your-model-id}" - ) - parser.add_argument( - "--glossary_id", - type=str, - default="[YOUR_GLOSSARY_ID]", + "--glossary_id", type=str, default="[YOUR_GLOSSARY_ID]", ) args = parser.parse_args() @@ -129,9 +126,9 @@ def main(): args.target_language, args.source_language, args.model_id, - args.glossary_id + args.glossary_id, ) if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index 563c9f74a69..a750f0df3d3 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -13,25 +13,26 @@ # limitations under the License. import os -import pytest import uuid + +from google.cloud import storage +import pytest + import translate_v3_batch_translate_text_with_glossary_and_model import translate_v3_create_glossary import translate_v3_delete_glossary -from google.cloud import storage -PROJECT_ID = os.environ['GOOGLE_CLOUD_PROJECT'] -GLOSSARY_INPUT_URI = 'gs://cloud-samples-data/translation/glossary_ja.csv' -MODEL_ID = 'TRL3128559826197068699' +PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] +GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" +MODEL_ID = "TRL3128559826197068699" + -@pytest.fixture(scope='session') +@pytest.fixture(scope="session") def glossary(): """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = 'must-start-with-letters-' + str(uuid.uuid1()) - translate_v3_create_glossary.sample_create_glossary( - PROJECT_ID, - GLOSSARY_INPUT_URI, - glossary_id + glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) + translate_v3_create_glossary.create_glossary( + project_id=PROJECT_ID, input_uri=GLOSSARY_INPUT_URI, glossary_id=glossary_id ) yield glossary_id @@ -40,8 +41,9 @@ def glossary(): translate_v3_delete_glossary.sample_delete_glossary(PROJECT_ID, glossary_id) except Exception: pass - -@pytest.fixture(scope='function') + + +@pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" bucket_name = "mike-test-delete-" + str(uuid.uuid1()) @@ -52,21 +54,22 @@ def bucket(): bucket.delete(force=True) + def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): translate_v3_batch_translate_text_with_glossary_and_model.sample_batch_translate_text_with_glossary_and_model( - 'gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt', - 'gs://{}/translation/BATCH_TRANSLATION_OUTPUT/'.format(bucket.name), + "gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt", + "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, - 'us-central1', - 'ja', - 'en', + "us-central1", + "ja", + "en", MODEL_ID, - glossary - ) - + glossary, + ) + out, _ = capsys.readouterr() - assert 'Total Characters: 25' in out - #TODO: find a way to make sure it translates correctly + assert "Total Characters: 25" in out + # TODO: find a way to make sure it translates correctly # SHOULD NOT BE - Google NMT model -> それはしません。欺ception" # literal: "それはそうだ" # custom model - # literal: "欺く" # glossary \ No newline at end of file + # literal: "欺く" # glossary diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 23aa6691f1e..726a8e0c066 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -46,18 +46,18 @@ def glossary(): ) def delete_glossary(): try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) except NotFound as e: # Ignoring this case. print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = f'tmp-{uuid.uuid4().hex}' + bucket_name = f"tmp-{uuid.uuid4().hex}" storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) @@ -73,7 +73,7 @@ def test_batch_translate_text_with_glossary(capsys, bucket, glossary): "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, glossary, - 240 + 240, ) out, _ = capsys.readouterr() diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py index 010f7f93a90..07d967d7177 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py @@ -34,11 +34,11 @@ def batch_translate_text_with_model( input_configs_element = { "gcs_source": gcs_source, - "mime_type": "text/plain" # Can be "text/plain" or "text/html". + "mime_type": "text/plain", # Can be "text/plain" or "text/html". } gcs_destination = {"output_uri_prefix": output_uri} output_config = {"gcs_destination": gcs_destination} - parent = client.location_path(project_id, location) + parent = f"projects/{project_id}/locations/{location}" model_path = "projects/{}/locations/{}/models/{}".format( project_id, location, model_id # The location of AutoML model. @@ -48,20 +48,22 @@ def batch_translate_text_with_model( models = {"ja": model_path} # takes a target lang as key. operation = client.batch_translate_text( - parent=parent, - source_language_code="en", - target_language_codes=["ja"], # Up to 10 language codes here. - input_configs=[input_configs_element], - output_config=output_config, - models=models, + request={ + "parent": parent, + "source_language_code": "en", + "target_language_codes": ["ja"], # Up to 10 language codes here. + "input_configs": [input_configs_element], + "output_config": output_config, + "models": models, + } ) - print(u"Waiting for operation to complete...") + print("Waiting for operation to complete...") response = operation.result() # Display the translation for each input text provided. - print(u"Total Characters: {}".format(response.total_characters)) - print(u"Translated Characters: {}".format(response.translated_characters)) + print("Total Characters: {}".format(response.total_characters)) + print("Translated Characters: {}".format(response.translated_characters)) # [END translate_v3_batch_translate_text_with_model] diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index 4d0def04df3..f6ad1007c6b 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -28,7 +28,7 @@ @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = f'tmp-{uuid.uuid4().hex}' + bucket_name = f"tmp-{uuid.uuid4().hex}" storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translation/samples/snippets/translate_v3_create_glossary.py index 2955acaa347..b2fd38634cd 100644 --- a/translation/samples/snippets/translate_v3_create_glossary.py +++ b/translation/samples/snippets/translate_v3_create_glossary.py @@ -17,10 +17,10 @@ def create_glossary( - project_id="YOUR_PROJECT_ID", - input_uri="YOUR_INPUT_URI", - glossary_id="YOUR_GLOSSARY_ID", - timeout=180, + project_id="YOUR_PROJECT_ID", + input_uri="YOUR_INPUT_URI", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """ Create a equivalent term sets glossary. Glossary can be words or diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translation/samples/snippets/translate_v3_create_glossary_test.py index a24f461e05a..3e4b61cf89e 100644 --- a/translation/samples/snippets/translate_v3_create_glossary_test.py +++ b/translation/samples/snippets/translate_v3_create_glossary_test.py @@ -46,9 +46,9 @@ def test_create_glossary(capsys): ) def delete_glossary(): try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) except NotFound as e: # Ignoring this case. print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py index fb9f86afe59..336b7a06b08 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary.py +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -17,9 +17,7 @@ def delete_glossary( - project_id="YOUR_PROJECT_ID", - glossary_id="YOUR_GLOSSARY_ID", - timeout=180, + project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID", timeout=180, ): """Delete a specific glossary based on the glossary ID.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_detect_language.py b/translation/samples/snippets/translate_v3_detect_language.py index 9e92b6079d5..eae985c3d63 100644 --- a/translation/samples/snippets/translate_v3_detect_language.py +++ b/translation/samples/snippets/translate_v3_detect_language.py @@ -37,9 +37,9 @@ def detect_language(project_id="YOUR_PROJECT_ID"): # The most probable language is first. for language in response.languages: # The language detected - print(u"Language code: {}".format(language.language_code)) + print("Language code: {}".format(language.language_code)) # Confidence of detection result for this language - print(u"Confidence: {}".format(language.confidence)) + print("Confidence: {}".format(language.confidence)) # [END translate_v3_detect_language] diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py index 96ea6b78103..a4fc32319ae 100644 --- a/translation/samples/snippets/translate_v3_get_glossary_test.py +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -45,11 +45,11 @@ def glossary(): ) def delete_glossary(): try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) except NotFound as e: # Ignoring this case. print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translation/samples/snippets/translate_v3_get_supported_languages.py index db779278724..3802a7e1422 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages.py @@ -29,7 +29,7 @@ def get_supported_languages(project_id="YOUR_PROJECT_ID"): # List language codes of supported languages. print("Supported Languages:") for language in response.languages: - print(u"Language Code: {}".format(language.language_code)) + print("Language Code: {}".format(language.language_code)) # [END translate_v3_get_supported_languages] diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py index 3a164dcbd28..856b317846a 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py @@ -27,12 +27,12 @@ def get_supported_languages_with_target(project_id="YOUR_PROJECT_ID"): # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.get_supported_languages( - display_language_code="is", # target language code - parent=parent + display_language_code="is", parent=parent # target language code ) # List language codes of supported languages for language in response.languages: - print(u"Language Code: {}".format(language.language_code)) - print(u"Display Name: {}".format(language.display_name)) + print("Language Code: {}".format(language.language_code)) + print("Display Name: {}".format(language.display_name)) + # [END translate_v3_get_supported_languages_for_target] diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py index 8f3f52cfe54..9688efee3b9 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py @@ -21,9 +21,7 @@ def test_list_languages_with_target(capsys): - get_supported_langs.get_supported_languages_with_target( - PROJECT_ID - ) + get_supported_langs.get_supported_languages_with_target(PROJECT_ID) out, _ = capsys.readouterr() assert u"Language Code: sq" in out assert u"Display Name: albanska" in out diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py index 8f4eaa1ac51..ed2a4754216 100644 --- a/translation/samples/snippets/translate_v3_list_glossary_test.py +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -45,11 +45,11 @@ def glossary(): ) def delete_glossary(): try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) except NotFound as e: # Ignoring this case. print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index 78a79b4e107..cdfe819fa64 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -33,13 +33,13 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): "contents": [text], "mime_type": "text/plain", # mime types: text/plain, text/html "source_language_code": "en-US", - "target_language_code": "fr" + "target_language_code": "fr", } ) # Display the translation for each input text provided for translation in response.translations: - print(u"Translated text: {}".format(translation.translated_text)) + print("Translated text: {}".format(translation.translated_text)) # [END translate_v3_translate_text] diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translation/samples/snippets/translate_v3_translate_text_test.py index c93cb91f6dd..fee6e771566 100644 --- a/translation/samples/snippets/translate_v3_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_test.py @@ -21,7 +21,6 @@ def test_translate_text(capsys): - translate_v3_translate_text.translate_text( - "Hello World!", PROJECT_ID) + translate_v3_translate_text.translate_text("Hello World!", PROJECT_ID) out, _ = capsys.readouterr() assert "Bonjour le monde" in out diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py index b62d54133b2..addd737f6ad 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary.py @@ -32,8 +32,7 @@ def translate_text_with_glossary( project_id, "us-central1", glossary_id # The location of the glossary ) - glossary_config = translate.TranslateTextGlossaryConfig( - glossary=glossary) + glossary_config = translate.TranslateTextGlossaryConfig(glossary=glossary) # Supported language codes: https://cloud.google.com/translate/docs/languages response = client.translate_text( @@ -42,13 +41,13 @@ def translate_text_with_glossary( "target_language_code": "ja", "source_language_code": "en", "parent": parent, - "glossary_config": glossary_config + "glossary_config": glossary_config, } ) print("Translated text: \n") for translation in response.glossary_translations: - print(u"\t {}".format(translation.translated_text)) + print("\t {}".format(translation.translated_text)) # [END translate_v3_translate_text_with_glossary] diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py index 1caa9e6e9e0..46724dde355 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -46,11 +46,11 @@ def glossary(): ) def delete_glossary(): try: - translate_v3_delete_glossary.delete_glossary( - PROJECT_ID, glossary_id) + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) except NotFound as e: # Ignoring this case. print("Got NotFound, detail: {}".format(str(e))) + delete_glossary() diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model.py b/translation/samples/snippets/translate_v3_translate_text_with_model.py index 44c92f96b43..bd61bb76910 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_model.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_model.py @@ -40,11 +40,10 @@ def translate_text_with_model( "parent": parent, "mime_type": "text/plain", # mime types: text/plain, text/html } - ) # Display the translation for each input text provided for translation in response.translations: - print(u"Translated text: {}".format(translation.translated_text)) + print("Translated text: {}".format(translation.translated_text)) # [END translate_v3_translate_text_with_model] From b07ff6443c660a8d7c5238ac064aa2bbc60c4fac Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Tue, 1 Sep 2020 19:22:31 +0000 Subject: [PATCH 119/270] chore: delete comments --- ...te_v3_batch_translate_text_with_glossary_and_model_test.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index a750f0df3d3..6ba15118fc5 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -69,7 +69,3 @@ def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): out, _ = capsys.readouterr() assert "Total Characters: 25" in out - # TODO: find a way to make sure it translates correctly - # SHOULD NOT BE - Google NMT model -> それはしません。欺ception" - # literal: "それはそうだ" # custom model - # literal: "欺く" # glossary From d5c430e8b42ff950b583862e1557758097bea00f Mon Sep 17 00:00:00 2001 From: Bu Sun Kim Date: Tue, 1 Sep 2020 20:28:04 +0000 Subject: [PATCH 120/270] fix: fix package name --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 16f45f9707b..ca4e6935ed1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -oogle-cloud-translate==3.0.0 +google-cloud-translate==3.0.0 google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 From 7fef5e85eb49991617cdf56872aaf9fb04e734c2 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Wed, 2 Sep 2020 09:58:04 -0700 Subject: [PATCH 121/270] chore: update version to latest (#63) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ca4e6935ed1..74c2243f09e 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.0 +google-cloud-translate==3.0.1 google-cloud-storage==1.30.0 google-cloud-automl==1.0.1 From 483039f6e055ef43c9ce1b9224bde23ad86dfd27 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Wed, 9 Sep 2020 10:26:50 -0700 Subject: [PATCH 122/270] fix: adjusts flaky test; deletes unneeded test (#66) --- .../hybrid_glossaries/hybrid_tutorial_test.py | 20 ++---------- .../resources/non_standard_format.png | Bin 138990 -> 0 bytes .../resources/non_standard_format.txt | 30 ------------------ 3 files changed, 3 insertions(+), 47 deletions(-) delete mode 100644 translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.png delete mode 100644 translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index eaccf7f2a51..2b4f65593ae 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -28,25 +28,11 @@ # VISION TESTS -def test_vision_standard_format(capsys): +def test_vision_standard_format(): # Generate text using Vision API - pic_to_text('resources/standard_format.jpeg') - out, err = capsys.readouterr() - - assert 'Detected text:' in out - assert 'test!' in out - - -def test_vision_non_standard_format(): + text = pic_to_text('resources/standard_format.jpeg') - # Generate text - text = pic_to_text("resources/non_standard_format.png") - - # Read expected text - with open("resources/non_standard_format.txt") as f: - expected_text = f.read() - - assert text == expected_text + assert len(text) > 0 # TRANSLATE TESTS diff --git a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.png b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.png deleted file mode 100644 index eeee9c7f6a6fe57b3d5dc84a63b6ae9e04e37e52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138990 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�dw@jIA}60uH}U512OV|r3bAc^ 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

  • 2_^)PyNj~VsxIk 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

    Iy%1l023^7IvM_Ot>326JD4 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 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt b/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt deleted file mode 100644 index 529799ee94b..00000000000 --- a/translation/samples/snippets/hybrid_glossaries/resources/non_standard_format.txt +++ /dev/null @@ -1,30 +0,0 @@ -MENU -Google Cloud Bistro -SALADS -SANDWICHES -GCP Green Salad -Fresh Greens -$5 -Kubernetes Sandwich -ham and cheese sandwich -$10 -Cloud Caprese -Mozzarella, tomatoes, basil, -balsamic reduction -$8 -Dialogflow Panini -chicken, pesto, and -mozzarella panini -$10 -Firebase Fruit Salad -watermelon, honeydew melon, -and pineapple -$6 -Compute Engine Burger -quarter-pound burger with -cheddar cheese -$10 -BigQuery BLT -bacon, lettuce, and tomato -sandwich -$10 From 3abc7bc926a0d6c4cd338bd383c333639478ee1a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 13 Oct 2020 22:36:33 +0200 Subject: [PATCH 123/270] chore(deps): update dependency google-cloud-vision to v2 (#71) * chore(deps): update dependency google-cloud-vision to v2 * remove types Co-authored-by: Leah Cole Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com> --- .../snippets/hybrid_glossaries/hybrid_tutorial.py | 12 ++++++------ .../snippets/hybrid_glossaries/requirements.txt | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py index c98bdd0ee04..9eae168ada3 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py @@ -51,7 +51,7 @@ def pic_to_text(infile): with io.open(infile, "rb") as image_file: content = image_file.read() - image = vision.types.Image(content=content) + image = vision.Image(content=content) # For dense text, use document_text_detection # For less dense text, use text_detection @@ -88,16 +88,16 @@ def create_glossary(languages, project_id, glossary_name, glossary_uri): name = client.glossary_path(project_id, location, glossary_name) # Set language codes - language_codes_set = translate.types.Glossary.LanguageCodesSet( + language_codes_set = translate.Glossary.LanguageCodesSet( language_codes=languages ) - gcs_source = translate.types.GcsSource(input_uri=glossary_uri) + gcs_source = translate.GcsSource(input_uri=glossary_uri) - input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source) + input_config = translate.GlossaryInputConfig(gcs_source=gcs_source) # Set glossary resource information - glossary = translate.types.Glossary( + glossary = translate.Glossary( name=name, language_codes_set=language_codes_set, input_config=input_config ) @@ -145,7 +145,7 @@ def translate_text( glossary = client.glossary_path(project_id, location, glossary_name) - glossary_config = translate.types.TranslateTextGlossaryConfig(glossary=glossary) + glossary_config = translate.TranslateTextGlossaryConfig(glossary=glossary) parent = f"projects/{project_id}/locations/{location}" diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index af2fa067315..86b3d1b3959 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 -google-cloud-vision==1.0.0 +google-cloud-vision==2.0.0 google-cloud-texttospeech==2.1.0 From 1ee57398f52163fc3e2a9389e1c5d1e233ca944b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Oct 2020 21:30:47 +0200 Subject: [PATCH 124/270] chore(deps): update dependency google-cloud-texttospeech to v2.2.0 (#49) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 86b3d1b3959..24dfa3063dd 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.0 google-cloud-vision==2.0.0 -google-cloud-texttospeech==2.1.0 +google-cloud-texttospeech==2.2.0 From a4072823ee79f0872fbbcb24928e3bc792b3713f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Oct 2020 21:40:05 +0200 Subject: [PATCH 125/270] chore(deps): update dependency google-cloud-storage to v1.31.2 (#55) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | minor | `==1.30.0` -> `==1.31.2` | --- ### Release Notes

    googleapis/python-storage ### [`v1.31.2`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1312-httpswwwgithubcomgoogleapispython-storagecomparev1311v1312-2020-09-23) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.31.1...v1.31.2) ### [`v1.31.1`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1311-httpswwwgithubcomgoogleapispython-storagecomparev1310v1311-2020-09-16) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.31.0...v1.31.1) ### [`v1.31.0`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1310-httpswwwgithubcomgoogleapispython-storagecomparev1300v1310-2020-08-26) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.30.0...v1.31.0) ##### Features - add configurable checksumming for blob uploads and downloads ([#​246](https://www.github.com/googleapis/python-storage/issues/246)) ([23b7d1c](https://www.github.com/googleapis/python-storage/commit/23b7d1c3155deae3c804c510dee3a7cec97cd46c)) - add support for 'Blob.custom_time' and lifecycle rules ([#​199](https://www.github.com/googleapis/python-storage/issues/199)) ([180873d](https://www.github.com/googleapis/python-storage/commit/180873de139f7f8e00b7bef423bc15760cf68cc2)) - error message return from api ([#​235](https://www.github.com/googleapis/python-storage/issues/235)) ([a8de586](https://www.github.com/googleapis/python-storage/commit/a8de5868f32b45868f178f420138fcd2fe42f5fd)) - **storage:** add support of daysSinceNoncurrentTime and noncurrentTimeBefore ([#​162](https://www.github.com/googleapis/python-storage/issues/162)) ([136c097](https://www.github.com/googleapis/python-storage/commit/136c0970f8ef7ad4751104e3b8b7dd3204220a67)) - pass 'client_options' to base class ctor ([#​225](https://www.github.com/googleapis/python-storage/issues/225)) ([e1f91fc](https://www.github.com/googleapis/python-storage/commit/e1f91fcca6c001bc3b0c5f759a7a003fcf60c0a6)), closes [#​210](https://www.github.com/googleapis/python-storage/issues/210) - rename 'Blob.download_as_{string,bytes}', add 'Blob.download_as_text' ([#​182](https://www.github.com/googleapis/python-storage/issues/182)) ([73107c3](https://www.github.com/googleapis/python-storage/commit/73107c35f23c4a358e957c2b8188300a7fa958fe)) ##### Bug Fixes - change datetime.now to utcnow ([#​251](https://www.github.com/googleapis/python-storage/issues/251)) ([3465d08](https://www.github.com/googleapis/python-storage/commit/3465d08e098edb250dee5e97d1fb9ded8bae5700)), closes [#​228](https://www.github.com/googleapis/python-storage/issues/228) - extract hashes correctly during download ([#​238](https://www.github.com/googleapis/python-storage/issues/238)) ([23cfb65](https://www.github.com/googleapis/python-storage/commit/23cfb65c3a3b10759c67846e162e4ed77a3f5307)) - repair mal-formed docstring ([#​255](https://www.github.com/googleapis/python-storage/issues/255)) ([e722376](https://www.github.com/googleapis/python-storage/commit/e722376371cb8a3acc46d6c84fb41f4e874f41aa)) ##### Documentation - update docs build (via synth) ([#​222](https://www.github.com/googleapis/python-storage/issues/222)) ([4c5adfa](https://www.github.com/googleapis/python-storage/commit/4c5adfa6e05bf018d72ee1a7e99679fd55f2c662))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 74c2243f09e..3c4ef316034 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 -google-cloud-storage==1.30.0 +google-cloud-storage==1.31.2 google-cloud-automl==1.0.1 From cf57dc4b23424a4274c3ba4d66b853f8a3b75ac3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Oct 2020 22:00:07 +0200 Subject: [PATCH 126/270] chore(deps): update dependency google-cloud-translate to v3.0.1 (#45) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | patch | `==3.0.0` -> `==3.0.1` | --- ### Release Notes
    googleapis/python-translate ### [`v3.0.1`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​301-httpswwwgithubcomgoogleapispython-translatecomparev300v301-2020-08-08) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v3.0.0...v3.0.1)
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 24dfa3063dd..ff0077c1703 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.0 +google-cloud-translate==3.0.1 google-cloud-vision==2.0.0 google-cloud-texttospeech==2.2.0 From bd631a83143b32e7ed19dd8ab00ff01bb35e7881 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Oct 2020 22:16:06 +0200 Subject: [PATCH 127/270] chore(deps): update dependency google-cloud-automl to v2 (#67) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-automl](https://togithub.com/googleapis/python-automl) | major | `==1.0.1` -> `==2.0.0` | --- ### Release Notes
    googleapis/python-automl ### [`v2.0.0`](https://togithub.com/googleapis/python-automl/blob/master/CHANGELOG.md#​200-httpswwwgithubcomgoogleapispython-automlcomparev101v200-2020-09-16) [Compare Source](https://togithub.com/googleapis/python-automl/compare/v1.0.1...v2.0.0) ##### ⚠ BREAKING CHANGES - move to microgen. See [Migration Guide](https://togithub.com/googleapis/python-automl/blob/release-v2.0.0/UPGRADING.md) ([#​61](https://togithub.com/googleapis/python-automl/issues/61)) ##### Features - move to microgen ([#​61](https://www.github.com/googleapis/python-automl/issues/61)) ([009085e](https://www.github.com/googleapis/python-automl/commit/009085e0a82d1d7729349746c2c8954d5d60e0a9)) ##### Bug Fixes - **translate:** fix a broken test [(\[#​4360\](https://www.github.com/googleapis/python-automl/issues/4360))](https://togithub.com/GoogleCloudPlatform/python-docs-samples/issues/4360) ([5f7d141](https://www.github.com/googleapis/python-automl/commit/5f7d141afe732acf7458a9ac98618e93baa93d38)), closes [#​4353](https://www.github.com/googleapis/python-automl/issues/4353) - `update_column_spec` typo in TablesClient docstring ([#​18](https://www.github.com/googleapis/python-automl/issues/18)) ([9feb4cc](https://www.github.com/googleapis/python-automl/commit/9feb4cc5e04a01a4199da43400457cca6c0bfa05)), closes [#​17](https://www.github.com/googleapis/python-automl/issues/17) - update retry configs ([#​44](https://www.github.com/googleapis/python-automl/issues/44)) ([7df9059](https://www.github.com/googleapis/python-automl/commit/7df905910b86721a6ee3a3b6c916a4f8e27d0aa7)) ##### Documentation - add cancel operation sample ([abc5070](https://www.github.com/googleapis/python-automl/commit/abc507005d5255ed5adf2c4b8e0b23042a0bdf47)) - add samples from tables/automl ([#​54](https://www.github.com/googleapis/python-automl/issues/54)) ([d225a5f](https://www.github.com/googleapis/python-automl/commit/d225a5f97c2823218b91a79e77d3383132875231)), closes [#​2090](https://www.github.com/googleapis/python-automl/issues/2090) [#​2100](https://www.github.com/googleapis/python-automl/issues/2100) [#​2102](https://www.github.com/googleapis/python-automl/issues/2102) [#​2103](https://www.github.com/googleapis/python-automl/issues/2103) [#​2101](https://www.github.com/googleapis/python-automl/issues/2101) [#​2110](https://www.github.com/googleapis/python-automl/issues/2110) [#​2115](https://www.github.com/googleapis/python-automl/issues/2115) [#​2150](https://www.github.com/googleapis/python-automl/issues/2150) [#​2145](https://www.github.com/googleapis/python-automl/issues/2145) [#​2203](https://www.github.com/googleapis/python-automl/issues/2203) [#​2340](https://www.github.com/googleapis/python-automl/issues/2340) [#​2337](https://www.github.com/googleapis/python-automl/issues/2337) [#​2336](https://www.github.com/googleapis/python-automl/issues/2336) [#​2339](https://www.github.com/googleapis/python-automl/issues/2339) [#​2338](https://www.github.com/googleapis/python-automl/issues/2338) [#​2276](https://www.github.com/googleapis/python-automl/issues/2276) [#​2257](https://www.github.com/googleapis/python-automl/issues/2257) [#​2424](https://www.github.com/googleapis/python-automl/issues/2424) [#​2407](https://www.github.com/googleapis/python-automl/issues/2407) [#​2501](https://www.github.com/googleapis/python-automl/issues/2501) [#​2459](https://www.github.com/googleapis/python-automl/issues/2459) [#​2601](https://www.github.com/googleapis/python-automl/issues/2601) [#​2523](https://www.github.com/googleapis/python-automl/issues/2523) [#​2005](https://www.github.com/googleapis/python-automl/issues/2005) [#​3033](https://www.github.com/googleapis/python-automl/issues/3033) [#​2806](https://www.github.com/googleapis/python-automl/issues/2806) [#​3750](https://www.github.com/googleapis/python-automl/issues/3750) [#​3571](https://www.github.com/googleapis/python-automl/issues/3571) [#​3929](https://www.github.com/googleapis/python-automl/issues/3929) [#​4022](https://www.github.com/googleapis/python-automl/issues/4022) [#​4127](https://www.github.com/googleapis/python-automl/issues/4127) ##### [1.0.1](https://www.github.com/googleapis/python-automl/compare/v1.0.0...v1.0.1) (2020-06-18) ##### Bug Fixes - fixes release status trove classifier ([#​39](https://www.github.com/googleapis/python-automl/issues/39)) ([5b5d6c3](https://www.github.com/googleapis/python-automl/commit/5b5d6c33178f4f052cba01cc08cf3023d4303d7a))
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 3c4ef316034..aa75e4fbd7c 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 google-cloud-storage==1.31.2 -google-cloud-automl==1.0.1 +google-cloud-automl==2.0.0 From 5ba9780587ab8ae206f5d616667db81f9a73f398 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 23 Oct 2020 20:49:36 +0200 Subject: [PATCH 128/270] chore(deps): update dependency google-cloud-storage to v1.32.0 (#72) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index aa75e4fbd7c..5896f2e211d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 -google-cloud-storage==1.31.2 +google-cloud-storage==1.32.0 google-cloud-automl==2.0.0 From bc7576c299b372e30f0c507d5c718240c52244e5 Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Mon, 26 Oct 2020 16:59:24 -0700 Subject: [PATCH 129/270] fix: re-generated v3 client and fix system.py (#76) * fix: re-generated v3 client * fix: skip v2 client system test for mtls testing --- .../samples/snippets/hybrid_glossaries/noxfile.py | 5 +++++ translation/samples/snippets/noxfile.py | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 5660f08be44..f3a90583ad5 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -199,6 +199,11 @@ def _get_repo_root(): break if Path(p / ".git").exists(): return str(p) + # .git is not available in repos cloned via Cloud Build + # setup.py is always in the library's root, so use that instead + # https://github.com/googleapis/synthtool/issues/792 + if Path(p / "setup.py").exists(): + return str(p) p = p.parent raise Exception("Unable to detect repository root.") diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 5660f08be44..27d948d6058 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -180,9 +180,9 @@ def py(session): if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip( - "SKIPPED: {} tests are disabled for this sample.".format(session.python) - ) + session.skip("SKIPPED: {} tests are disabled for this sample.".format( + session.python + )) # @@ -199,6 +199,11 @@ def _get_repo_root(): break if Path(p / ".git").exists(): return str(p) + # .git is not available in repos cloned via Cloud Build + # setup.py is always in the library's root, so use that instead + # https://github.com/googleapis/synthtool/issues/792 + if Path(p / "setup.py").exists(): + return str(p) p = p.parent raise Exception("Unable to detect repository root.") From e832681a3ee0c5400648f0f2afed27fae61d45c6 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Oct 2020 19:18:10 +0100 Subject: [PATCH 130/270] chore(deps): update dependency google-cloud-automl to v2.1.0 (#77) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 5896f2e211d..1c85e6c652b 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 google-cloud-storage==1.32.0 -google-cloud-automl==2.0.0 +google-cloud-automl==2.1.0 From e3d767b6192b71d69d7336959fa61dc257da2c29 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 29 Oct 2020 12:32:58 -0700 Subject: [PATCH 131/270] chore: fix flaky tests (#78) * chore: fix flaky tests * fixed the lint * removed yaml file --- translation/samples/snippets/beta_snippets.py | 2 +- .../translate_v3_batch_translate_text_test.py | 2 +- ...e_v3_batch_translate_text_with_glossary.py | 2 +- ..._translate_text_with_glossary_and_model.py | 81 +++---------------- ...slate_text_with_glossary_and_model_test.py | 5 +- ...batch_translate_text_with_glossary_test.py | 2 +- 6 files changed, 17 insertions(+), 77 deletions(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 835e55b16ad..6b770e6126d 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -77,7 +77,7 @@ def batch_translate_text(project_id, input_uri, output_uri): } ) - result = operation.result(timeout=240) + result = operation.result(timeout=320) print("Total Characters: {}".format(result.total_characters)) print("Translated Characters: {}".format(result.translated_characters)) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_test.py index 8629d47521b..ad637cd8938 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_test.py @@ -42,7 +42,7 @@ def test_batch_translate_text(capsys, bucket): "gs://cloud-samples-data/translation/text.txt", "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, - timeout=240, + timeout=320, ) out, _ = capsys.readouterr() assert "Total Characters" in out diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py index 6250034246b..574b001c665 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py @@ -22,7 +22,7 @@ def batch_translate_text_with_glossary( output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID", - timeout=180, + timeout=320, ): """Translates a batch of texts on GCS and stores the result in a GCS location. Glossary is applied for translation.""" diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py index e9a6905e8d4..3110dcee53c 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py @@ -1,12 +1,10 @@ -# -*- coding: utf-8 -*- -# # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# https://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -14,29 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -# DO NOT EDIT! This is a generated sample ("LongRunningPromise", "translate_v3_batch_translate_text_with_glossary_and_model") - -# To install the latest published package dependency, execute the following: -# pip install google-cloud-translate - -# sample-metadata -# title: Batch Translate with Glossary and Model -# description: Batch translate text with Glossary using AutoML Translation model -# usage: python3 translate_v3_batch_translate_text_with_glossary_and_model.py [--input_uri "gs://cloud-samples-data/text.txt"] [--output_uri "gs://YOUR_BUCKET_ID/path_to_store_results/"] [--project "[Google Cloud Project ID]"] [--location "us-central1"] [--target_language en] [--source_language de] [--model_id "{your-model-id}"] [--glossary_id "{your-glossary-id}"] - # [START translate_v3_batch_translate_text_with_glossary_and_model] from google.cloud import translate -def sample_batch_translate_text_with_glossary_and_model( - input_uri, - output_uri, - project_id, - location, - target_language, - source_language, - model_id, - glossary_id, +def batch_translate_text_with_glossary_and_model( + input_uri="gs://YOUR_BUCKET_ID/path/to/your/file.txt", + output_uri="gs://YOUR_BUCKET_ID/path/to/save/results/", + project_id="YOUR_PROJECT_ID", + model_id="YOUR_MODEL_ID", + glossary_id="YOUR_GLOSSARY_ID", ): """ Batch translate text with Glossary and Translation model @@ -44,16 +29,10 @@ def sample_batch_translate_text_with_glossary_and_model( client = translate.TranslationServiceClient() - # TODO(developer): Uncomment and set the following variables - # input_uri = 'gs://cloud-samples-data/text.txt' - # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' - # project = '[Google Cloud Project ID]' - # location = 'us-central1' - # target_language = 'en' - # source_language = 'de' - # model_id = '{your-model-id}' - # glossary_id = '[YOUR_GLOSSARY_ID]' - target_language_codes = [target_language] + # Supported language codes: https://cloud.google.com/translate/docs/languages + location = "us-central1" + + target_language_codes = ["ja"] gcs_source = {"input_uri": input_uri} # Optional. Can be "text/plain" or "text/html". @@ -66,7 +45,7 @@ def sample_batch_translate_text_with_glossary_and_model( model_path = "projects/{}/locations/{}/models/{}".format( project_id, "us-central1", model_id ) - models = {target_language: model_path} + models = {"ja": model_path} glossary_path = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary @@ -96,39 +75,3 @@ def sample_batch_translate_text_with_glossary_and_model( # [END translate_v3_batch_translate_text_with_glossary_and_model] - - -def main(): - import argparse - - parser = argparse.ArgumentParser() - parser.add_argument( - "--input_uri", type=str, default="gs://cloud-samples-data/text.txt" - ) - parser.add_argument( - "--output_uri", type=str, default="gs://YOUR_BUCKET_ID/path_to_store_results/" - ) - parser.add_argument("--project_id", type=str, default="[Google Cloud Project ID]") - parser.add_argument("--location", type=str, default="us-central1") - parser.add_argument("--target_language", type=str, default="en") - parser.add_argument("--source_language", type=str, default="de") - parser.add_argument("--model_id", type=str, default="{your-model-id}") - parser.add_argument( - "--glossary_id", type=str, default="[YOUR_GLOSSARY_ID]", - ) - args = parser.parse_args() - - sample_batch_translate_text_with_glossary_and_model( - args.input_uri, - args.output_uri, - args.project_id, - args.location, - args.target_language, - args.source_language, - args.model_id, - args.glossary_id, - ) - - -if __name__ == "__main__": - main() diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index 6ba15118fc5..6579831af27 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -56,13 +56,10 @@ def bucket(): def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): - translate_v3_batch_translate_text_with_glossary_and_model.sample_batch_translate_text_with_glossary_and_model( + translate_v3_batch_translate_text_with_glossary_and_model.batch_translate_text_with_glossary_and_model( "gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt", "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, - "us-central1", - "ja", - "en", MODEL_ID, glossary, ) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 726a8e0c066..33a1f829b3a 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -73,7 +73,7 @@ def test_batch_translate_text_with_glossary(capsys, bucket, glossary): "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), PROJECT_ID, glossary, - 240, + 320, ) out, _ = capsys.readouterr() From 5701559973db0a19e72ba738bc41a9cc11581eac Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 25 Nov 2020 20:32:50 +0100 Subject: [PATCH 132/270] chore(deps): update dependency google-cloud-storage to v1.33.0 (#79) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 1c85e6c652b..4f26184f07f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 -google-cloud-storage==1.32.0 +google-cloud-storage==1.33.0 google-cloud-automl==2.1.0 From d2cc36536d3ae6b1bd69cd196fd2a9d0b7e58fe2 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Wed, 9 Dec 2020 09:36:39 -0800 Subject: [PATCH 133/270] fix: moves import six inside of region tags (#83) --- translation/samples/snippets/snippets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 41d64c32291..5700969cef9 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -23,8 +23,6 @@ import argparse -import six - def detect_language(text): # [START translate_detect_language] @@ -84,6 +82,7 @@ def translate_text_with_model(target, text, model="nmt"): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ + import six from google.cloud import translate_v2 as translate translate_client = translate.Client() @@ -108,6 +107,7 @@ def translate_text(target, text): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ + import six from google.cloud import translate_v2 as translate translate_client = translate.Client() From 4ccbbe6a89b8222750cc6e598c731c23ce5a10a2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 11 Dec 2020 21:40:58 +0100 Subject: [PATCH 134/270] chore(deps): update dependency google-cloud-storage to v1.34.0 (#85) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 4f26184f07f..aa60c3f59eb 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.1 -google-cloud-storage==1.33.0 +google-cloud-storage==1.34.0 google-cloud-automl==2.1.0 From 15574e3ec1ebd9253067b59519a578902d3cd597 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 11 Dec 2020 21:48:05 +0100 Subject: [PATCH 135/270] chore(deps): update dependency google-cloud-translate to v3.0.2 (#84) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | patch | `==3.0.1` -> `==3.0.2` | --- ### Release Notes
    googleapis/python-translate ### [`v3.0.2`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​302-httpswwwgithubcomgoogleapispython-translatecomparev301v302-2020-12-09) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v3.0.1...v3.0.2)
    --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index ff0077c1703..32454869ace 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.1 +google-cloud-translate==3.0.2 google-cloud-vision==2.0.0 google-cloud-texttospeech==2.2.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index aa60c3f59eb..65753e92d27 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.1 +google-cloud-translate==3.0.2 google-cloud-storage==1.34.0 google-cloud-automl==2.1.0 From ba89b49dfa3f2f96d59313ddee59c2b4da7c8d69 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 15 Dec 2020 22:33:30 +0100 Subject: [PATCH 136/270] chore(deps): update dependency google-cloud-storage to v1.35.0 (#86) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 65753e92d27..3eafbbe548a 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.34.0 +google-cloud-storage==1.35.0 google-cloud-automl==2.1.0 From 089f1b1e9596dc8a36a4554045330b2c392e9098 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 23 Dec 2020 11:44:46 -0800 Subject: [PATCH 137/270] chore: update testing and docs config (#89) * changes without context autosynth cannot find the source of changes triggered by earlier changes in this repository, or by version upgrades to tools such as linters. * docs: add proto-plus to intersphinx mapping Source-Author: Tim Swast Source-Date: Tue Oct 27 12:01:14 2020 -0500 Source-Repo: googleapis/synthtool Source-Sha: ea52b8a0bd560f72f376efcf45197fb7c8869120 Source-Link: https://github.com/googleapis/synthtool/commit/ea52b8a0bd560f72f376efcf45197fb7c8869120 * fix(python_library): fix external unit test dependencies I recently submitted https://github.com/googleapis/synthtool/pull/811/files, allowing external dependencies for unit tests. This fixes a small missing comma bug Source-Author: Daniel Sanche Source-Date: Thu Oct 29 16:58:01 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 6542bd723403513626f61642fc02ddca528409aa Source-Link: https://github.com/googleapis/synthtool/commit/6542bd723403513626f61642fc02ddca528409aa * chore: add type hint check Source-Author: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Source-Date: Wed Nov 4 17:36:32 2020 -0800 Source-Repo: googleapis/synthtool Source-Sha: 3d3e94c4e02370f307a9a200b0c743c3d8d19f29 Source-Link: https://github.com/googleapis/synthtool/commit/3d3e94c4e02370f307a9a200b0c743c3d8d19f29 * chore: add blacken to template Source-Author: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Source-Date: Thu Nov 5 15:22:03 2020 -0800 Source-Repo: googleapis/synthtool Source-Sha: 1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b Source-Link: https://github.com/googleapis/synthtool/commit/1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b * fix: address lint issues Source-Author: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Source-Date: Thu Nov 12 11:30:49 2020 -0800 Source-Repo: googleapis/synthtool Source-Sha: e89175cf074dccc4babb4eca66ae913696e47a71 Source-Link: https://github.com/googleapis/synthtool/commit/e89175cf074dccc4babb4eca66ae913696e47a71 * docs(python): update intersphinx for grpc and auth * docs(python): update intersphinx for grpc and auth * use https for python intersphinx Co-authored-by: Tim Swast Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Source-Date: Wed Nov 18 14:37:25 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 9a7d9fbb7045c34c9d3d22c1ff766eeae51f04c9 Source-Link: https://github.com/googleapis/synthtool/commit/9a7d9fbb7045c34c9d3d22c1ff766eeae51f04c9 * docs(python): fix intersphinx link for google-auth Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Source-Date: Thu Nov 19 10:16:05 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: a073c873f3928c561bdf87fdfbf1d081d1998984 Source-Link: https://github.com/googleapis/synthtool/commit/a073c873f3928c561bdf87fdfbf1d081d1998984 * chore: add config / docs for 'pre-commit' support Source-Author: Tres Seaver Source-Date: Tue Dec 1 16:01:20 2020 -0500 Source-Repo: googleapis/synthtool Source-Sha: 32af6da519a6b042e3da62008e2a75e991efb6b4 Source-Link: https://github.com/googleapis/synthtool/commit/32af6da519a6b042e3da62008e2a75e991efb6b4 * chore(deps): update precommit hook pre-commit/pre-commit-hooks to v3.3.0 Source-Author: WhiteSource Renovate Source-Date: Wed Dec 2 17:18:24 2020 +0100 Source-Repo: googleapis/synthtool Source-Sha: 69629b64b83c6421d616be2b8e11795738ec8a6c Source-Link: https://github.com/googleapis/synthtool/commit/69629b64b83c6421d616be2b8e11795738ec8a6c * test(python): give filesystem paths to pytest-cov https://pytest-cov.readthedocs.io/en/latest/config.html The pytest-cov docs seem to suggest a filesystem path is expected. Source-Author: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Source-Date: Wed Dec 2 09:28:04 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: f94318521f63085b9ccb43d42af89f153fb39f15 Source-Link: https://github.com/googleapis/synthtool/commit/f94318521f63085b9ccb43d42af89f153fb39f15 * chore: update noxfile.py.j2 * Update noxfile.py.j2 add changes from @glasnt to the template template to ensure that enforcing type hinting doesn't fail for repos with the sample noxfile (aka all samples repos) See https://github.com/GoogleCloudPlatform/python-docs-samples/pull/4869/files for context * fix typo Source-Author: Leah E. Cole <6719667+leahecole@users.noreply.github.com> Source-Date: Thu Dec 3 13:44:30 2020 -0800 Source-Repo: googleapis/synthtool Source-Sha: 18c5dbdb4ac8cf75d4d8174e7b4558f48e76f8a1 Source-Link: https://github.com/googleapis/synthtool/commit/18c5dbdb4ac8cf75d4d8174e7b4558f48e76f8a1 * chore(deps): update precommit hook pre-commit/pre-commit-hooks to v3.4.0 Co-authored-by: Tres Seaver Source-Author: WhiteSource Renovate Source-Date: Wed Dec 16 18:13:24 2020 +0100 Source-Repo: googleapis/synthtool Source-Sha: aa255b15d52b6d8950cca48cfdf58f7d27a60c8a Source-Link: https://github.com/googleapis/synthtool/commit/aa255b15d52b6d8950cca48cfdf58f7d27a60c8a * docs(python): document adding Python 3.9 support, dropping 3.5 support Closes #787 Source-Author: Tres Seaver Source-Date: Thu Dec 17 16:08:02 2020 -0500 Source-Repo: googleapis/synthtool Source-Sha: b670a77a454f415d247907908e8ee7943e06d718 Source-Link: https://github.com/googleapis/synthtool/commit/b670a77a454f415d247907908e8ee7943e06d718 * chore: exclude `.nox` directories from linting The samples tests create `.nox` directories with all dependencies installed. These directories should be excluded from linting. I've tested this change locally, and it significantly speeds up linting on my machine. Source-Author: Tim Swast Source-Date: Tue Dec 22 13:04:04 2020 -0600 Source-Repo: googleapis/synthtool Source-Sha: 373861061648b5fe5e0ac4f8a38b32d639ee93e4 Source-Link: https://github.com/googleapis/synthtool/commit/373861061648b5fe5e0ac4f8a38b32d639ee93e4 --- .../snippets/hybrid_glossaries/noxfile.py | 60 ++++++++++++------- translation/samples/snippets/noxfile.py | 54 +++++++++++------ 2 files changed, 77 insertions(+), 37 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index f3a90583ad5..bca0522ec4d 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -17,6 +17,7 @@ import os from pathlib import Path import sys +from typing import Callable, Dict, List, Optional import nox @@ -37,22 +38,28 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - "ignored_versions": ["2.7"], + 'ignored_versions': ["2.7"], + + # Old samples are opted out of enforcing Python type hints + # All new samples should feature them + 'enforce_type_hints': False, + # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", + 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', + # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - "envs": {}, + 'envs': {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append(".") + sys.path.append('.') from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -62,17 +69,17 @@ TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) -def get_pytest_env_vars(): +def get_pytest_env_vars() -> Dict[str, str]: """Returns a dict for pytest invocation.""" ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG["gcloud_project_env"] + env_key = TEST_CONFIG['gcloud_project_env'] # This should error out if not set. - ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] + ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG["envs"]) + ret.update(TEST_CONFIG['envs']) return ret @@ -81,7 +88,7 @@ def get_pytest_env_vars(): ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] +IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) @@ -91,7 +98,7 @@ def get_pytest_env_vars(): # -def _determine_local_import_names(start_dir): +def _determine_local_import_names(start_dir: str) -> List[str]: """Determines all import names that should be considered "local". This is used when running the linter to insure that import order is @@ -129,17 +136,30 @@ def _determine_local_import_names(start_dir): @nox.session -def lint(session): - session.install("flake8", "flake8-import-order") +def lint(session: nox.sessions.Session) -> None: + if not TEST_CONFIG['enforce_type_hints']: + session.install("flake8", "flake8-import-order") + else: + session.install("flake8", "flake8-import-order", "flake8-annotations") local_names = _determine_local_import_names(".") args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - ".", + "." ] session.run("flake8", *args) +# +# Black +# + + +@nox.session +def blacken(session: nox.sessions.Session) -> None: + session.install("black") + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + session.run("black", *python_files) # # Sample Tests @@ -149,7 +169,7 @@ def lint(session): PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] -def _session_tests(session, post_install=None): +def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): session.install("-r", "requirements.txt") @@ -175,14 +195,14 @@ def _session_tests(session, post_install=None): @nox.session(python=ALL_VERSIONS) -def py(session): +def py(session: nox.sessions.Session) -> None: """Runs py.test for a sample using the specified version of Python.""" if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip( - "SKIPPED: {} tests are disabled for this sample.".format(session.python) - ) + session.skip("SKIPPED: {} tests are disabled for this sample.".format( + session.python + )) # @@ -190,7 +210,7 @@ def py(session): # -def _get_repo_root(): +def _get_repo_root() -> Optional[str]: """ Returns the root folder of the project. """ # Get root of this repository. Assume we don't have directories nested deeper than 10 items. p = Path(os.getcwd()) @@ -213,7 +233,7 @@ def _get_repo_root(): @nox.session @nox.parametrize("path", GENERATED_READMES) -def readmegen(session, path): +def readmegen(session: nox.sessions.Session, path: str) -> None: """(Re-)generates the readme for a sample.""" session.install("jinja2", "pyyaml") dir_ = os.path.dirname(path) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 27d948d6058..bca0522ec4d 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -17,6 +17,7 @@ import os from pathlib import Path import sys +from typing import Callable, Dict, List, Optional import nox @@ -37,22 +38,28 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - "ignored_versions": ["2.7"], + 'ignored_versions': ["2.7"], + + # Old samples are opted out of enforcing Python type hints + # All new samples should feature them + 'enforce_type_hints': False, + # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", + 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', + # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - "envs": {}, + 'envs': {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append(".") + sys.path.append('.') from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -62,17 +69,17 @@ TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) -def get_pytest_env_vars(): +def get_pytest_env_vars() -> Dict[str, str]: """Returns a dict for pytest invocation.""" ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG["gcloud_project_env"] + env_key = TEST_CONFIG['gcloud_project_env'] # This should error out if not set. - ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] + ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG["envs"]) + ret.update(TEST_CONFIG['envs']) return ret @@ -81,7 +88,7 @@ def get_pytest_env_vars(): ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] +IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) @@ -91,7 +98,7 @@ def get_pytest_env_vars(): # -def _determine_local_import_names(start_dir): +def _determine_local_import_names(start_dir: str) -> List[str]: """Determines all import names that should be considered "local". This is used when running the linter to insure that import order is @@ -129,17 +136,30 @@ def _determine_local_import_names(start_dir): @nox.session -def lint(session): - session.install("flake8", "flake8-import-order") +def lint(session: nox.sessions.Session) -> None: + if not TEST_CONFIG['enforce_type_hints']: + session.install("flake8", "flake8-import-order") + else: + session.install("flake8", "flake8-import-order", "flake8-annotations") local_names = _determine_local_import_names(".") args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - ".", + "." ] session.run("flake8", *args) +# +# Black +# + + +@nox.session +def blacken(session: nox.sessions.Session) -> None: + session.install("black") + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + session.run("black", *python_files) # # Sample Tests @@ -149,7 +169,7 @@ def lint(session): PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] -def _session_tests(session, post_install=None): +def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): session.install("-r", "requirements.txt") @@ -175,7 +195,7 @@ def _session_tests(session, post_install=None): @nox.session(python=ALL_VERSIONS) -def py(session): +def py(session: nox.sessions.Session) -> None: """Runs py.test for a sample using the specified version of Python.""" if session.python in TESTED_VERSIONS: _session_tests(session) @@ -190,7 +210,7 @@ def py(session): # -def _get_repo_root(): +def _get_repo_root() -> Optional[str]: """ Returns the root folder of the project. """ # Get root of this repository. Assume we don't have directories nested deeper than 10 items. p = Path(os.getcwd()) @@ -213,7 +233,7 @@ def _get_repo_root(): @nox.session @nox.parametrize("path", GENERATED_READMES) -def readmegen(session, path): +def readmegen(session: nox.sessions.Session, path: str) -> None: """(Re-)generates the readme for a sample.""" session.install("jinja2", "pyyaml") dir_ = os.path.dirname(path) From 781b153df3612f9c0e96b4c8a9161e009f31d5b7 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 7 Jan 2021 16:34:05 -0800 Subject: [PATCH 138/270] chore: fixed wrong method name (#100) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Due to wrong method usage one method, it led to glossary max [1000] from not deleting glossary in the teardown. Fixes #95, #96, #97, #98 🦕 --- ...slate_text_with_glossary_and_model_test.py | 21 ++++++++++++++----- ...late_v3_batch_translate_text_with_model.py | 2 +- .../snippets/translate_v3_delete_glossary.py | 4 +++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index 6579831af27..dc12e2d1b69 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -15,7 +15,10 @@ import os import uuid +import backoff +from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud import storage +from google.cloud.exceptions import NotFound import pytest import translate_v3_batch_translate_text_with_glossary_and_model @@ -37,16 +40,24 @@ def glossary(): yield glossary_id - try: - translate_v3_delete_glossary.sample_delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass + # clean up + @backoff.on_exception( + backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 + ) + def delete_glossary(): + try: + translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) + except NotFound as e: + # Ignoring this case. + print("Got NotFound, detail: {}".format(str(e))) + + delete_glossary() @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" - bucket_name = "mike-test-delete-" + str(uuid.uuid1()) + bucket_name = "test-bucket-for-glossary-" + str(uuid.uuid1()) storage_client = storage.Client() bucket = storage_client.create_bucket(bucket_name) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py index 07d967d7177..a5b94866623 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py @@ -24,7 +24,7 @@ def batch_translate_text_with_model( model_id="YOUR_MODEL_ID", ): """Batch translate text using Translation model. - Model can be AutoML or General[built-in] model. """ + Model can be AutoML or General[built-in] model.""" client = translate.TranslationServiceClient() diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translation/samples/snippets/translate_v3_delete_glossary.py index 336b7a06b08..b5c55b2ba09 100644 --- a/translation/samples/snippets/translate_v3_delete_glossary.py +++ b/translation/samples/snippets/translate_v3_delete_glossary.py @@ -17,7 +17,9 @@ def delete_glossary( - project_id="YOUR_PROJECT_ID", glossary_id="YOUR_GLOSSARY_ID", timeout=180, + project_id="YOUR_PROJECT_ID", + glossary_id="YOUR_GLOSSARY_ID", + timeout=180, ): """Delete a specific glossary based on the glossary ID.""" client = translate.TranslationServiceClient() From c04dd782ca15f4aca9027bb0b0b0985291c9f3cf Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Wed, 13 Jan 2021 11:22:14 -0800 Subject: [PATCH 139/270] fix: moves region tags (#103) * fix: moves import six inside of region tags * fix: moves region tags to show function parameters --- translation/samples/snippets/snippets.py | 26 +++++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 5700969cef9..8f4381a94e4 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -24,8 +24,8 @@ import argparse +# [START translate_detect_language] def detect_language(text): - # [START translate_detect_language] """Detects the text's language.""" from google.cloud import translate_v2 as translate @@ -38,11 +38,12 @@ def detect_language(text): print("Text: {}".format(text)) print("Confidence: {}".format(result["confidence"])) print("Language: {}".format(result["language"])) - # [END translate_detect_language] +# [END translate_detect_language] + +# [START translate_list_codes] def list_languages(): - # [START translate_list_codes] """Lists all available languages.""" from google.cloud import translate_v2 as translate @@ -52,11 +53,12 @@ def list_languages(): for language in results: print(u"{name} ({language})".format(**language)) - # [END translate_list_codes] +# [END translate_list_codes] + +# [START translate_list_language_names] def list_languages_with_target(target): - # [START translate_list_language_names] """Lists all available languages and localizes them to the target language. Target must be an ISO 639-1 language code. @@ -70,11 +72,12 @@ def list_languages_with_target(target): for language in results: print(u"{name} ({language})".format(**language)) - # [END translate_list_language_names] +# [END translate_list_language_names] + +# [START translate_text_with_model] def translate_text_with_model(target, text, model="nmt"): - # [START translate_text_with_model] """Translates text into the target language. Make sure your project is allowlisted. @@ -97,11 +100,12 @@ def translate_text_with_model(target, text, model="nmt"): print(u"Text: {}".format(result["input"])) print(u"Translation: {}".format(result["translatedText"])) print(u"Detected source language: {}".format(result["detectedSourceLanguage"])) - # [END translate_text_with_model] +# [END translate_text_with_model] + +# [START translate_translate_text] def translate_text(target, text): - # [START translate_translate_text] """Translates text into the target language. Target must be an ISO 639-1 language code. @@ -122,7 +126,9 @@ def translate_text(target, text): print(u"Text: {}".format(result["input"])) print(u"Translation: {}".format(result["translatedText"])) print(u"Detected source language: {}".format(result["detectedSourceLanguage"])) - # [END translate_translate_text] + + +# [END translate_translate_text] if __name__ == "__main__": From f79dc176d7dea510523d47832d92edc211a28a4a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 2 Feb 2021 19:33:01 +0100 Subject: [PATCH 140/270] chore(deps): update dependency google-cloud-vision to v2.1.0 (#110) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 32454869ace..49a4c9c9400 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-vision==2.0.0 +google-cloud-vision==2.1.0 google-cloud-texttospeech==2.2.0 From e1e23fee46f0e7e31a88f0c6f73bd712b8f20ab3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 9 Feb 2021 21:24:26 +0100 Subject: [PATCH 141/270] chore(deps): update dependency google-cloud-storage to v1.35.1 (#111) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 3eafbbe548a..9adf6bd3e5d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.35.0 +google-cloud-storage==1.35.1 google-cloud-automl==2.1.0 From 0b4e5a28fa203b76014a103cea69c0dbad0832e2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 12 Feb 2021 07:23:21 +0100 Subject: [PATCH 142/270] chore(deps): update dependency google-cloud-vision to v2.2.0 (#113) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 49a4c9c9400..43508a3fb41 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-vision==2.1.0 +google-cloud-vision==2.2.0 google-cloud-texttospeech==2.2.0 From 988b56b9062b435638e3ff39480e8e96a5359e33 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 12 Feb 2021 07:23:53 +0100 Subject: [PATCH 143/270] chore(deps): update dependency google-cloud-storage to v1.36.0 (#112) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 9adf6bd3e5d..c453266c3f2 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.35.1 +google-cloud-storage==1.36.0 google-cloud-automl==2.1.0 From a63e2c45aa82c256279b75cd512c7db0b4c05a74 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 24 Feb 2021 05:38:45 +0100 Subject: [PATCH 144/270] chore(deps): update dependency google-cloud-storage to v1.36.1 (#114) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index c453266c3f2..a57efff2676 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.36.0 +google-cloud-storage==1.36.1 google-cloud-automl==2.1.0 From d064c33333a47b90191ecd312cdff4383ebc1fd9 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 5 Mar 2021 03:43:12 +0100 Subject: [PATCH 145/270] chore(deps): update dependency google-cloud-automl to v2.2.0 (#117) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index a57efff2676..fa83b98ec79 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 google-cloud-storage==1.36.1 -google-cloud-automl==2.1.0 +google-cloud-automl==2.2.0 From 3024b24ed9331fbed23e1d4ea3abbd35651e5aca Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 11 Mar 2021 22:36:41 +0100 Subject: [PATCH 146/270] chore(deps): update dependency google-cloud-storage to v1.36.2 (#118) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index fa83b98ec79..a6420cad975 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.36.1 +google-cloud-storage==1.36.2 google-cloud-automl==2.2.0 From ec9f2dd9b43d0b7ed43984c0557db5baa3462215 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Tue, 23 Mar 2021 12:50:06 -0700 Subject: [PATCH 147/270] chore: renamed output dir to prevent bucket concurrency error (#120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #115, #116 🦕 --- translation/samples/snippets/beta_snippets_test.py | 2 +- ...late_v3_batch_translate_text_with_glossary_and_model_test.py | 2 +- .../translate_v3_batch_translate_text_with_glossary_test.py | 2 +- .../translate_v3_batch_translate_text_with_model_test.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index 7e0c2dc61ed..dcb396ed1cf 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -75,7 +75,7 @@ def test_batch_translate_text(capsys, bucket): beta_snippets.batch_translate_text( PROJECT_ID, "gs://cloud-samples-data/translation/text.txt", - "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + "gs://{}/translation/BATCH_TRANSLATION_BETA_OUTPUT/".format(bucket.name), ) out, _ = capsys.readouterr() assert "Total Characters: 13" in out diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index dc12e2d1b69..5abadec41b8 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -69,7 +69,7 @@ def bucket(): def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): translate_v3_batch_translate_text_with_glossary_and_model.batch_translate_text_with_glossary_and_model( "gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt", - "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + "gs://{}/translation/BATCH_TRANSLATION_GLOS_MODEL_OUTPUT/".format(bucket.name), PROJECT_ID, MODEL_ID, glossary, diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 33a1f829b3a..ffac21a12fb 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -70,7 +70,7 @@ def bucket(): def test_batch_translate_text_with_glossary(capsys, bucket, glossary): translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( "gs://cloud-samples-data/translation/text_with_glossary.txt", - "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + "gs://{}/translation/BATCH_TRANSLATION_GLOS_OUTPUT/".format(bucket.name), PROJECT_ID, glossary, 320, diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index f6ad1007c6b..02e99b69060 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -40,7 +40,7 @@ def bucket(): def test_batch_translate_text_with_model(capsys, bucket): translate_v3_batch_translate_text_with_model.batch_translate_text_with_model( "gs://cloud-samples-data/translation/custom_model_text.txt", - "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name), + "gs://{}/translation/BATCH_TRANSLATION_MODEL_OUTPUT/".format(bucket.name), PROJECT_ID, MODEL_ID, ) From f1626fa762ab62220caac22ea4fcb77eb5b40195 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 23 Mar 2021 17:00:08 -0700 Subject: [PATCH 148/270] feat(v3beta1): add online and batch document translation (#121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat(v3beta1): add online and batch document translation  feat: add `from_service_account_info` fix: use correct retry deadlines --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 2 +- translation/samples/snippets/noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index bca0522ec4d..97bf7da80e3 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -85,7 +85,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to tested samples. -ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] +ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index bca0522ec4d..97bf7da80e3 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -85,7 +85,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to tested samples. -ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8"] +ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] From 762ce9a829c8914efd3208fc626e21ba14a45313 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 26 Mar 2021 06:26:25 +0100 Subject: [PATCH 149/270] chore(deps): update dependency google-cloud-storage to v1.37.0 (#124) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index a6420cad975..bf4676fa91d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-storage==1.36.2 +google-cloud-storage==1.37.0 google-cloud-automl==2.2.0 From 3ec0ae7c4f999471962d61ae6b75df8c89a44c43 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 1 Apr 2021 19:25:08 +0200 Subject: [PATCH 150/270] chore(deps): update dependency google-cloud-vision to v2.3.0 (#129) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 43508a3fb41..bc8c45c4cd0 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.0.2 -google-cloud-vision==2.2.0 +google-cloud-vision==2.3.0 google-cloud-texttospeech==2.2.0 From f038cdb58d29d2487266185e27b37cc943d8c436 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 1 Apr 2021 19:52:47 +0200 Subject: [PATCH 151/270] chore(deps): update dependency google-cloud-translate to v3.1.0 (#128) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index bc8c45c4cd0..cd914224e6c 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.2 +google-cloud-translate==3.1.0 google-cloud-vision==2.3.0 google-cloud-texttospeech==2.2.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index bf4676fa91d..657823b3ace 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.0.2 +google-cloud-translate==3.1.0 google-cloud-storage==1.37.0 google-cloud-automl==2.2.0 From 616bd2a48817fb9214f6e9258a8a471b78474252 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 2 Apr 2021 07:33:28 +0200 Subject: [PATCH 152/270] chore(deps): update dependency google-cloud-texttospeech to v2.3.0 (#127) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index cd914224e6c..a5a7ac71b50 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.1.0 google-cloud-vision==2.3.0 -google-cloud-texttospeech==2.2.0 +google-cloud-texttospeech==2.3.0 From 1ac08cc1155b2360ac8b335b54b6013389339db8 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 8 Apr 2021 20:33:01 +0200 Subject: [PATCH 153/270] chore(deps): update dependency google-cloud-storage to v1.37.1 (#131) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 657823b3ace..d5eefa511ba 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.1.0 -google-cloud-storage==1.37.0 +google-cloud-storage==1.37.1 google-cloud-automl==2.2.0 From ddea73ddf64d9e670fb9f7652d398fe7b2cbfea6 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Fri, 23 Apr 2021 12:10:03 -0400 Subject: [PATCH 154/270] chore: migrate to owl bot (#137) --- .../samples/snippets/hybrid_glossaries/noxfile.py | 10 ++++++++-- translation/samples/snippets/noxfile.py | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 97bf7da80e3..956cdf4f925 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -172,10 +172,16 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): - session.install("-r", "requirements.txt") + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") if os.path.exists("requirements-test.txt"): - session.install("-r", "requirements-test.txt") + if os.path.exists("constraints-test.txt"): + session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") + else: + session.install("-r", "requirements-test.txt") if INSTALL_LIBRARY_FROM_SOURCE: session.install("-e", _get_repo_root()) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 97bf7da80e3..956cdf4f925 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -172,10 +172,16 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): - session.install("-r", "requirements.txt") + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") if os.path.exists("requirements-test.txt"): - session.install("-r", "requirements-test.txt") + if os.path.exists("constraints-test.txt"): + session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") + else: + session.install("-r", "requirements-test.txt") if INSTALL_LIBRARY_FROM_SOURCE: session.install("-e", _get_repo_root()) From 44cc81aa439bef43dd32dfdd054761b45bdbd366 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Apr 2021 19:47:29 +0200 Subject: [PATCH 155/270] chore(deps): update dependency google-cloud-vision to v2.3.1 (#134) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index a5a7ac71b50..57fa106ec4c 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.1.0 -google-cloud-vision==2.3.0 +google-cloud-vision==2.3.1 google-cloud-texttospeech==2.3.0 From 521b8c4b64704ba623c0fa24cd7012e16ee0a901 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Apr 2021 19:54:31 +0200 Subject: [PATCH 156/270] chore(deps): update dependency pytest to v6 (#138) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 79738af5f26..f7e3ec09da6 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==5.4.3 +pytest==6.2.3 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index bd6c7999049..1e6d9640771 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.10.0 flaky==3.7.0 -pytest==5.4.3 +pytest==6.2.3 From f231e2c43311b9a59e56462e2b9d8e8370750377 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Apr 2021 19:57:03 +0200 Subject: [PATCH 157/270] chore(deps): update dependency google-cloud-automl to v2.3.0 (#136) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index d5eefa511ba..99e560b6233 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.1.0 google-cloud-storage==1.37.1 -google-cloud-automl==2.2.0 +google-cloud-automl==2.3.0 From 0f0be34d98718ee6024282ca474016f2535d7d45 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Apr 2021 20:24:05 +0200 Subject: [PATCH 158/270] chore(deps): update dependency google-cloud-storage to v1.38.0 (#140) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 99e560b6233..5969547bbff 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.1.0 -google-cloud-storage==1.37.1 +google-cloud-storage==1.38.0 google-cloud-automl==2.3.0 From d124c8adb2c7a14e2d4252831535fafa1c0f7d33 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 14 May 2021 03:06:13 +0200 Subject: [PATCH 159/270] chore(deps): update dependency pytest to v6.2.4 (#150) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index f7e3ec09da6..95ea1e6a02b 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==6.2.3 +pytest==6.2.4 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 1e6d9640771..a2d247d830b 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.10.0 flaky==3.7.0 -pytest==6.2.3 +pytest==6.2.4 From f66adfda01dd797d894affaf147711f2cde9b52c Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Wed, 19 May 2021 14:08:06 -0700 Subject: [PATCH 160/270] =?UTF-8?q?chore:=20refactored=20all=20glossaries?= =?UTF-8?q?=20samples=20to=20use=20predefined=20glossary=20i=E2=80=A6=20(#?= =?UTF-8?q?159)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...slate_text_with_glossary_and_model_test.py | 35 ++--------------- ...batch_translate_text_with_glossary_test.py | 35 ++--------------- .../translate_v3_get_glossary_test.py | 38 ++----------------- .../translate_v3_list_glossary_test.py | 38 ++----------------- ...te_v3_translate_text_with_glossary_test.py | 38 ++----------------- 5 files changed, 15 insertions(+), 169 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index 5abadec41b8..2c40d6ee3d5 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -15,45 +15,16 @@ import os import uuid -import backoff -from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud import storage -from google.cloud.exceptions import NotFound import pytest import translate_v3_batch_translate_text_with_glossary_and_model -import translate_v3_create_glossary -import translate_v3_delete_glossary PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" +GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" MODEL_ID = "TRL3128559826197068699" -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - translate_v3_create_glossary.create_glossary( - project_id=PROJECT_ID, input_uri=GLOSSARY_INPUT_URI, glossary_id=glossary_id - ) - - yield glossary_id - - # clean up - @backoff.on_exception( - backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 - ) - def delete_glossary(): - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except NotFound as e: - # Ignoring this case. - print("Got NotFound, detail: {}".format(str(e))) - - delete_glossary() - - @pytest.fixture(scope="function") def bucket(): """Create a temporary bucket to store annotation output.""" @@ -66,13 +37,13 @@ def bucket(): bucket.delete(force=True) -def test_batch_translate_text_with_glossary_and_model(capsys, bucket, glossary): +def test_batch_translate_text_with_glossary_and_model(capsys, bucket): translate_v3_batch_translate_text_with_glossary_and_model.batch_translate_text_with_glossary_and_model( "gs://cloud-samples-data/translation/text_with_custom_model_and_glossary.txt", "gs://{}/translation/BATCH_TRANSLATION_GLOS_MODEL_OUTPUT/".format(bucket.name), PROJECT_ID, MODEL_ID, - glossary, + GLOSSARY_ID, ) out, _ = capsys.readouterr() diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index ffac21a12fb..d2b1f21198d 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -15,43 +15,14 @@ import os import uuid -import backoff -from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError from google.cloud import storage -from google.cloud.exceptions import NotFound import pytest import translate_v3_batch_translate_text_with_glossary -import translate_v3_create_glossary -import translate_v3_delete_glossary PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" - - -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "test-{}".format(uuid.uuid4()) - translate_v3_create_glossary.create_glossary( - PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id - ) - - yield glossary_id - - # cleanup - @backoff.on_exception( - backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 - ) - def delete_glossary(): - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except NotFound as e: - # Ignoring this case. - print("Got NotFound, detail: {}".format(str(e))) - - delete_glossary() +GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" @pytest.fixture(scope="function") @@ -67,12 +38,12 @@ def bucket(): @pytest.mark.flaky(max_runs=3, min_passes=1) -def test_batch_translate_text_with_glossary(capsys, bucket, glossary): +def test_batch_translate_text_with_glossary(capsys, bucket): translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( "gs://cloud-samples-data/translation/text_with_glossary.txt", "gs://{}/translation/BATCH_TRANSLATION_GLOS_OUTPUT/".format(bucket.name), PROJECT_ID, - glossary, + GLOSSARY_ID, 320, ) diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translation/samples/snippets/translate_v3_get_glossary_test.py index a4fc32319ae..9dfa5e81c47 100644 --- a/translation/samples/snippets/translate_v3_get_glossary_test.py +++ b/translation/samples/snippets/translate_v3_get_glossary_test.py @@ -13,47 +13,15 @@ # limitations under the License. import os -import uuid -import backoff -from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError -from google.cloud.exceptions import NotFound -import pytest - -import translate_v3_create_glossary -import translate_v3_delete_glossary import translate_v3_get_glossary PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" - - -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - translate_v3_create_glossary.create_glossary( - PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id - ) - - yield glossary_id - - # cleanup - @backoff.on_exception( - backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 - ) - def delete_glossary(): - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except NotFound as e: - # Ignoring this case. - print("Got NotFound, detail: {}".format(str(e))) - - delete_glossary() +GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" -def test_get_glossary(capsys, glossary): - translate_v3_get_glossary.get_glossary(PROJECT_ID, glossary) +def test_get_glossary(capsys): + translate_v3_get_glossary.get_glossary(PROJECT_ID, GLOSSARY_ID) out, _ = capsys.readouterr() assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translation/samples/snippets/translate_v3_list_glossary_test.py index ed2a4754216..9d87f0cda9b 100644 --- a/translation/samples/snippets/translate_v3_list_glossary_test.py +++ b/translation/samples/snippets/translate_v3_list_glossary_test.py @@ -13,48 +13,16 @@ # limitations under the License. import os -import uuid -import backoff -from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError -from google.cloud.exceptions import NotFound -import pytest - -import translate_v3_create_glossary -import translate_v3_delete_glossary import translate_v3_list_glossary PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" - - -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - translate_v3_create_glossary.create_glossary( - PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id - ) - - yield glossary_id - - # clean up - @backoff.on_exception( - backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 - ) - def delete_glossary(): - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except NotFound as e: - # Ignoring this case. - print("Got NotFound, detail: {}".format(str(e))) - - delete_glossary() +GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" -def test_list_glossary(capsys, glossary): +def test_list_glossary(capsys): translate_v3_list_glossary.list_glossaries(PROJECT_ID) out, _ = capsys.readouterr() - assert glossary in out + assert GLOSSARY_ID in out assert "gs://cloud-samples-data/translation/glossary_ja.csv" in out diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py index 46724dde355..ef5a90823d0 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py @@ -14,49 +14,17 @@ # limitations under the License. import os -import uuid -import backoff -from google.api_core.exceptions import DeadlineExceeded, GoogleAPICallError -from google.cloud.exceptions import NotFound -import pytest - -import translate_v3_create_glossary -import translate_v3_delete_glossary import translate_v3_translate_text_with_glossary PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -GLOSSARY_INPUT_URI = "gs://cloud-samples-data/translation/glossary_ja.csv" - - -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - translate_v3_create_glossary.create_glossary( - PROJECT_ID, GLOSSARY_INPUT_URI, glossary_id - ) - - yield glossary_id - - # cleanup - @backoff.on_exception( - backoff.expo, (DeadlineExceeded, GoogleAPICallError), max_time=60 - ) - def delete_glossary(): - try: - translate_v3_delete_glossary.delete_glossary(PROJECT_ID, glossary_id) - except NotFound as e: - # Ignoring this case. - print("Got NotFound, detail: {}".format(str(e))) - - delete_glossary() +GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" -def test_translate_text_with_glossary(capsys, glossary): +def test_translate_text_with_glossary(capsys): translate_v3_translate_text_with_glossary.translate_text_with_glossary( - "account", PROJECT_ID, glossary + "account", PROJECT_ID, GLOSSARY_ID ) out, _ = capsys.readouterr() assert "アカウント" or "口座" in out From 862678dc6fd044f95933d2b9ef74d827d41a87d6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 22 May 2021 09:18:27 +0000 Subject: [PATCH 161/270] chore: new owl bot post processor docker image (#163) gcr.io/repo-automation-bots/owlbot-python:latest@sha256:3c3a445b3ddc99ccd5d31edc4b4519729635d20693900db32c4f587ed51f7479 --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 8 +++++++- translation/samples/snippets/noxfile.py | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 956cdf4f925..5ff9e1db580 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -50,7 +50,10 @@ # to use your own Cloud project. 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - + # If you need to use a specific version of pip, + # change pip_version_override to the string representation + # of the version number, for example, "20.2.4" + "pip_version_override": None, # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. 'envs': {}, @@ -170,6 +173,9 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): if os.path.exists("constraints.txt"): diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 956cdf4f925..5ff9e1db580 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -50,7 +50,10 @@ # to use your own Cloud project. 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - + # If you need to use a specific version of pip, + # change pip_version_override to the string representation + # of the version number, for example, "20.2.4" + "pip_version_override": None, # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. 'envs': {}, @@ -170,6 +173,9 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") """Runs py.test for a particular project.""" if os.path.exists("requirements.txt"): if os.path.exists("constraints.txt"): From 4c830cd5061e805f841ac9c6d38de001d0bca2a4 Mon Sep 17 00:00:00 2001 From: wesley chun Date: Thu, 27 May 2021 18:30:02 -0700 Subject: [PATCH 162/270] docs: connect Python Translate client library to nebulous serverless example (#162) Not adding new code but linking to another repo with a sample app using this API as another sample for users; added folder with README per @busunkim96 --- translation/samples/cloud-nebulous-serverless-python/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 translation/samples/cloud-nebulous-serverless-python/README.md diff --git a/translation/samples/cloud-nebulous-serverless-python/README.md b/translation/samples/cloud-nebulous-serverless-python/README.md new file mode 100644 index 00000000000..9dfab667625 --- /dev/null +++ b/translation/samples/cloud-nebulous-serverless-python/README.md @@ -0,0 +1 @@ +This sample can be found at . From 77aafe70a913ecfbc9874b80c5f3aa56f336e16e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 3 Jun 2021 03:40:34 +0200 Subject: [PATCH 163/270] chore(deps): update dependency google-cloud-translate to v3.2.0 (#167) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | `==3.1.0` -> `==3.2.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.2.0/compatibility-slim/3.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.2.0/confidence-slim/3.1.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-translate ### [`v3.2.0`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​320-httpswwwgithubcomgoogleapispython-translatecomparev310v320-2021-05-28) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v3.1.0...v3.2.0) ##### Features - support self-signed JWT flow for service accounts ([959a35c](https://www.github.com/googleapis/python-translate/commit/959a35c85e32867ed63c63d96593a240a5e8a1c4)) ##### Bug Fixes - add async client to %name\_%version/init.py ([959a35c](https://www.github.com/googleapis/python-translate/commit/959a35c85e32867ed63c63d96593a240a5e8a1c4)) - **deps:** add packaging requirement ([959a35c](https://www.github.com/googleapis/python-translate/commit/959a35c85e32867ed63c63d96593a240a5e8a1c4)) ##### Documentation - connect Python Translate client library to nebulous serverless example ([#​162](https://www.github.com/googleapis/python-translate/issues/162)) ([2986864](https://www.github.com/googleapis/python-translate/commit/2986864db391e5216dbead83eb822fd1fb2c19d0))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻️ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 57fa106ec4c..58c912da9c3 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.1.0 +google-cloud-translate==3.2.0 google-cloud-vision==2.3.1 google-cloud-texttospeech==2.3.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 5969547bbff..3fd771d0ebd 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.1.0 +google-cloud-translate==3.2.0 google-cloud-storage==1.38.0 google-cloud-automl==2.3.0 From de538eb71d4e21febc416fcd8e13b703a761747e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 3 Jun 2021 03:40:40 +0200 Subject: [PATCH 164/270] chore(deps): update dependency google-cloud-texttospeech to v2.4.0 (#166) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-texttospeech](https://togithub.com/googleapis/python-texttospeech) | `==2.3.0` -> `==2.4.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.4.0/compatibility-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.4.0/confidence-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-texttospeech ### [`v2.4.0`](https://togithub.com/googleapis/python-texttospeech/blob/master/CHANGELOG.md#​240-httpswwwgithubcomgoogleapispython-texttospeechcomparev230v240-2021-05-28) [Compare Source](https://togithub.com/googleapis/python-texttospeech/compare/v2.3.0...v2.4.0) ##### Features - support self-signed JWT flow for service accounts ([8a08836](https://www.github.com/googleapis/python-texttospeech/commit/8a08836487c1b7e4e58d3c07a4e26005d40793f0)) ##### Bug Fixes - add async client to %name\_%version/init.py ([8a08836](https://www.github.com/googleapis/python-texttospeech/commit/8a08836487c1b7e4e58d3c07a4e26005d40793f0))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻️ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 58c912da9c3..673b30de419 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.0 google-cloud-vision==2.3.1 -google-cloud-texttospeech==2.3.0 +google-cloud-texttospeech==2.4.0 From e947d24d19125c7d8274737931b21469b03ba5c3 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Thu, 3 Jun 2021 10:17:45 -0700 Subject: [PATCH 165/270] samples: changed v1beta1 AutoML model for v1 (#168) --- ...late_v3_batch_translate_text_with_glossary_and_model_test.py | 2 +- .../translate_v3_batch_translate_text_with_model_test.py | 2 +- .../snippets/translate_v3_translate_text_with_model_test.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py index 2c40d6ee3d5..9c2e5610166 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py @@ -22,7 +22,7 @@ PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" -MODEL_ID = "TRL3128559826197068699" +MODEL_ID = "TRL251293382528204800" @pytest.fixture(scope="function") diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py index 02e99b69060..21ca6c33d7d 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py @@ -22,7 +22,7 @@ PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -MODEL_ID = "TRL3128559826197068699" +MODEL_ID = "TRL251293382528204800" @pytest.fixture(scope="function") diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py index f1cd5968752..e547c8ce29e 100644 --- a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py +++ b/translation/samples/snippets/translate_v3_translate_text_with_model_test.py @@ -19,7 +19,7 @@ PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] -MODEL_ID = "TRL3128559826197068699" +MODEL_ID = "TRL251293382528204800" def test_translate_text_with_model(capsys): From 8359f4bf2d570f1a18603f7a364b68e0542f66ce Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 18 Jun 2021 16:54:03 +0200 Subject: [PATCH 166/270] chore(deps): update dependency google-cloud-vision to v2.3.2 (#174) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-vision](https://togithub.com/googleapis/python-vision) | `==2.3.1` -> `==2.3.2` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.3.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.3.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.3.2/compatibility-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.3.2/confidence-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-vision ### [`v2.3.2`](https://togithub.com/googleapis/python-vision/blob/master/CHANGELOG.md#​232-httpswwwgithubcomgoogleapispython-visioncomparev231v232-2021-06-02) [Compare Source](https://togithub.com/googleapis/python-vision/compare/v2.3.1...v2.3.2)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 673b30de419..33d32b3befb 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.0 -google-cloud-vision==2.3.1 +google-cloud-vision==2.3.2 google-cloud-texttospeech==2.4.0 From d24475dbbb4e638aeca5c79667cf8c756e25d9f0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 23 Jun 2021 18:27:51 +0200 Subject: [PATCH 167/270] chore(deps): update dependency google-cloud-translate to v3.2.1 (#181) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 33d32b3befb..8c2aee9ca12 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.2.0 +google-cloud-translate==3.2.1 google-cloud-vision==2.3.2 google-cloud-texttospeech==2.4.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 3fd771d0ebd..dc46730050f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.2.0 +google-cloud-translate==3.2.1 google-cloud-storage==1.38.0 google-cloud-automl==2.3.0 From 6d81d2f19bfc902ea73e46d575f511a9decea513 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 23 Jun 2021 18:58:22 +0200 Subject: [PATCH 168/270] chore(deps): update dependency google-cloud-storage to v1.39.0 (#182) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.38.0` -> `==1.39.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.39.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.39.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.39.0/compatibility-slim/1.38.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.39.0/confidence-slim/1.38.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v1.39.0`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1390-httpswwwgithubcomgoogleapispython-storagecomparev1380v1390-2021-06-21) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.38.0...v1.39.0) ##### Features - media operation retries can be configured using the same interface as with non-media operation ([#​447](https://www.github.com/googleapis/python-storage/issues/447)) ([0dbbb8a](https://www.github.com/googleapis/python-storage/commit/0dbbb8ac17a4b632707485ee6c7cc15e4670efaa)) ##### Bug Fixes - add ConnectionError to default retry ([#​445](https://www.github.com/googleapis/python-storage/issues/445)) ([8344253](https://www.github.com/googleapis/python-storage/commit/8344253a1969b9d04b81f87a6d7bddd3ddb55006)) - apply idempotency policies for ACLs ([#​458](https://www.github.com/googleapis/python-storage/issues/458)) ([2232f38](https://www.github.com/googleapis/python-storage/commit/2232f38933dbdfeb4f6585291794d332771ffdf2)) - replace python lifecycle action parsing ValueError with warning ([#​437](https://www.github.com/googleapis/python-storage/issues/437)) ([2532d50](https://www.github.com/googleapis/python-storage/commit/2532d506b44fc1ef0fa0a996822d29e7459c465a)) - revise blob.compose query parameters `if_generation_match` ([#​454](https://www.github.com/googleapis/python-storage/issues/454)) ([70d19e7](https://www.github.com/googleapis/python-storage/commit/70d19e72831dee112bb07f38b50beef4890c1155)) ##### Documentation - streamline 'timeout' / 'retry' docs in docstrings ([#​461](https://www.github.com/googleapis/python-storage/issues/461)) ([78b2eba](https://www.github.com/googleapis/python-storage/commit/78b2eba81003b437cd24f2b8d269ea2455682507)) - streamline docstrings for conditional parmas ([#​464](https://www.github.com/googleapis/python-storage/issues/464)) ([6999370](https://www.github.com/googleapis/python-storage/commit/69993702390322df07cc2e818003186a47524c2b))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index dc46730050f..96ade60de42 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 -google-cloud-storage==1.38.0 +google-cloud-storage==1.39.0 google-cloud-automl==2.3.0 From d3e94dcfe1599ed882259c3ab50e74c0966a664f Mon Sep 17 00:00:00 2001 From: aribray <45905583+aribray@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:06:18 -0700 Subject: [PATCH 169/270] add: Document Translation snippets - translate_document and batch_translate_document (#183) * add translate document snippet and test Change-Id: I44375a48211e4e25ebbd239e8d5cac84b5ce5eaf * remove gcs_source Change-Id: Iacf445ef4b24eb5abc8bad776a3217622c14b063 * language code Change-Id: I2bab14b86f60520dacb60fba741d64372f5090ac * never mind Change-Id: I4aacc10e31154672272c22c4ab780e10c82a517e * add batch translate document snippet and test Change-Id: I858d4b05c7efd1f7dac2c409eee841208663b22d * increase timeout Change-Id: Ic7b4bee9c74721fffcc05dfe1dacb5fe5bb14c13 * increase timeout Change-Id: I62d71a5a4b444d73d658afa243173814f3cbe900 * increase timeout Change-Id: I8d15d94473471e3028f08699205877c5d972522d * update year Change-Id: Ide83e4507e140d7a6e92ed03b0d864ef4b3f2721 * remove unnecessary comments Change-Id: Id778e7a0fff787f8b3e1eb63a7bf3217c0145524 * fix formatting Change-Id: I45d0b1519b975a22f8166acf0d60e6ff57699cd2 * remove whitespace Change-Id: I597a64c5ad9a99abc1c94c609cd87ec1867ba8a8 --- .../snippets/resources/fake_invoice.pdf | Bin 0 -> 88986 bytes ...nslate_v3beta1_batch_translate_document.py | 62 ++++++++++++++++++ ...e_v3beta1_batch_translate_document_test.py | 52 +++++++++++++++ .../translate_v3beta1_translate_document.py | 50 ++++++++++++++ ...anslate_v3beta1_translate_document_test.py | 28 ++++++++ 5 files changed, 192 insertions(+) create mode 100644 translation/samples/snippets/resources/fake_invoice.pdf create mode 100644 translation/samples/snippets/translate_v3beta1_batch_translate_document.py create mode 100644 translation/samples/snippets/translate_v3beta1_batch_translate_document_test.py create mode 100644 translation/samples/snippets/translate_v3beta1_translate_document.py create mode 100644 translation/samples/snippets/translate_v3beta1_translate_document_test.py diff --git a/translation/samples/snippets/resources/fake_invoice.pdf b/translation/samples/snippets/resources/fake_invoice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b9107fba129d5c78ce6688e366c06f700b758c03 GIT binary patch literal 88986 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
    googleapis/python-storage ### [`v1.40.0`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1400-httpswwwgithubcomgoogleapispython-storagecomparev1390v1400-2021-06-30) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.39.0...v1.40.0) ##### Features - add preconditions and retry configuration to blob.create_resumable_upload_session ([#​484](https://www.github.com/googleapis/python-storage/issues/484)) ([0ae35ee](https://www.github.com/googleapis/python-storage/commit/0ae35eef0fe82fe60bc095c4b183102bb1dabeeb)) - add public access prevention to bucket IAM configuration ([#​304](https://www.github.com/googleapis/python-storage/issues/304)) ([e3e57a9](https://www.github.com/googleapis/python-storage/commit/e3e57a9c779d6b87852063787f19e27c76b1bb14)) ##### Bug Fixes - replace default retry for upload operations ([#​480](https://www.github.com/googleapis/python-storage/issues/480)) ([c027ccf](https://www.github.com/googleapis/python-storage/commit/c027ccf4279fb05e041754294f10744b7d81beea))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 96ade60de42..19dbb5cdf04 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 -google-cloud-storage==1.39.0 +google-cloud-storage==1.40.0 google-cloud-automl==2.3.0 From a9335d4e58f60f2a0a70a868b8ec4a6b396ba5dd Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 1 Jul 2021 20:19:55 +0200 Subject: [PATCH 171/270] chore(deps): update dependency google-cloud-texttospeech to v2.5.0 (#188) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 8c2aee9ca12..87ed4196ff1 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 google-cloud-vision==2.3.2 -google-cloud-texttospeech==2.4.0 +google-cloud-texttospeech==2.5.0 From 2aeb805e847da3bb502ab435f16b208c1184d226 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 12 Jul 2021 20:16:09 +0200 Subject: [PATCH 172/270] chore(deps): update dependency backoff to v1.11.0 (#192) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [backoff](https://togithub.com/litl/backoff) | `==1.10.0` -> `==1.11.0` | [![age](https://badges.renovateapi.com/packages/pypi/backoff/1.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/backoff/1.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/backoff/1.11.0/compatibility-slim/1.10.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/backoff/1.11.0/confidence-slim/1.10.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    litl/backoff ### [`v1.11.0`](https://togithub.com/litl/backoff/blob/master/CHANGELOG.md#v1110-2021-07-12) [Compare Source](https://togithub.com/litl/backoff/compare/v1.10.0...v1.11.0) ##### Changed - Configurable logging levels for backoff and giveup events - Minor documentation fixes ##### NOTE THIS WILL BE THE FINAL PYTHON 2.7 COMPATIBLE RELEASE.
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index a2d247d830b..1686e66f21b 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==1.10.0 +backoff==1.11.0 flaky==3.7.0 pytest==6.2.4 From fc25c2082b854b2db072cbc67a1aa3a46e5aa257 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 13 Jul 2021 01:28:32 +0200 Subject: [PATCH 173/270] chore(deps): update dependency google-cloud-automl to v2.4.0 (#193) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-automl](https://togithub.com/googleapis/python-automl) | `==2.3.0` -> `==2.4.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.0/compatibility-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.0/confidence-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-automl ### [`v2.4.0`](https://togithub.com/googleapis/python-automl/blob/master/CHANGELOG.md#​240-httpswwwgithubcomgoogleapispython-automlcomparev230v240-2021-07-12) [Compare Source](https://togithub.com/googleapis/python-automl/compare/v2.3.0...v2.4.0) ##### Features - add always_use_jwt_access ([#​175](https://www.github.com/googleapis/python-automl/issues/175)) ([7da3fc7](https://www.github.com/googleapis/python-automl/commit/7da3fc7b4a8e648afad733cb2ee4e1dbe74fb736)) - support self-signed JWT flow for service accounts ([bfece77](https://www.github.com/googleapis/python-automl/commit/bfece7799fe6cf803d650c26e0d6e2a78e64f7c1)) ##### Bug Fixes - add async client to %name\_%version/init.py ([bfece77](https://www.github.com/googleapis/python-automl/commit/bfece7799fe6cf803d650c26e0d6e2a78e64f7c1)) - **deps:** add packaging requirement ([#​162](https://www.github.com/googleapis/python-automl/issues/162)) ([dea0cc3](https://www.github.com/googleapis/python-automl/commit/dea0cc37794c57a4b0521c039dc251becf694021)) - disable always_use_jwt_access ([160a7ad](https://www.github.com/googleapis/python-automl/commit/160a7adad3f2d53ca6f733a21e72bfe866a5ebc1)) - disable always_use_jwt_access ([#​181](https://www.github.com/googleapis/python-automl/issues/181)) ([160a7ad](https://www.github.com/googleapis/python-automl/commit/160a7adad3f2d53ca6f733a21e72bfe866a5ebc1)) ##### Documentation - omit mention of Python 2.7 in 'CONTRIBUTING.rst' ([#​1127](https://www.github.com/googleapis/python-automl/issues/1127)) ([#​172](https://www.github.com/googleapis/python-automl/issues/172)) ([2489e39](https://www.github.com/googleapis/python-automl/commit/2489e397c1fc66d5dc360f150935673a25537c02)), closes [#​1126](https://www.github.com/googleapis/python-automl/issues/1126)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 19dbb5cdf04..52a3819fb73 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 google-cloud-storage==1.40.0 -google-cloud-automl==2.3.0 +google-cloud-automl==2.4.0 From aaa89781a0f8febd978fb59b05f73245af123873 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 15 Jul 2021 15:22:22 +0200 Subject: [PATCH 174/270] chore(deps): update dependency google-cloud-storage to v1.41.0 (#198) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.40.0` -> `==1.41.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.41.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.41.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.41.0/compatibility-slim/1.40.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.41.0/confidence-slim/1.40.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v1.41.0`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1410-httpswwwgithubcomgoogleapispython-storagecomparev1400v1410-2021-07-13) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.40.0...v1.41.0) ##### Features - add support for Etag headers on reads ([#​489](https://www.github.com/googleapis/python-storage/issues/489)) ([741d3fd](https://www.github.com/googleapis/python-storage/commit/741d3fda4e4280022cede29ebeb7c2ea09e73b6f)) ##### Bug Fixes - **deps:** update minimum dependency versions to pick up bugfixes ([#​496](https://www.github.com/googleapis/python-storage/issues/496)) ([92251a5](https://www.github.com/googleapis/python-storage/commit/92251a5c8ea4d663773506eb1c630201a657aa69)), closes [#​494](https://www.github.com/googleapis/python-storage/issues/494) - populate etag / generation / metageneration properties during download ([#​488](https://www.github.com/googleapis/python-storage/issues/488)) ([49ba14c](https://www.github.com/googleapis/python-storage/commit/49ba14c9c47dbe6bc2bb45d53bbe5621c131fbcb)) - revise and rename is_etag_in_json(data) ([#​483](https://www.github.com/googleapis/python-storage/issues/483)) ([0a52546](https://www.github.com/googleapis/python-storage/commit/0a5254647bf1155874fe48f3891bcc34a76b0b81))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 52a3819fb73..fd82ea83e3e 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 -google-cloud-storage==1.40.0 +google-cloud-storage==1.41.0 google-cloud-automl==2.4.0 From 0fa7de670bee1c3edfef326e73601a378beaf8eb Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Jul 2021 16:56:22 +0200 Subject: [PATCH 175/270] chore(deps): update dependency backoff to v1.11.1 (#200) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [backoff](https://togithub.com/litl/backoff) | `==1.11.0` -> `==1.11.1` | [![age](https://badges.renovateapi.com/packages/pypi/backoff/1.11.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/backoff/1.11.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/backoff/1.11.1/compatibility-slim/1.11.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/backoff/1.11.1/confidence-slim/1.11.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    litl/backoff ### [`v1.11.1`](https://togithub.com/litl/backoff/blob/master/CHANGELOG.md#v1111-2021-07-14) [Compare Source](https://togithub.com/litl/backoff/compare/v1.11.0...v1.11.1) ##### Changed - Update **version** in backoff module
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 1686e66f21b..2f23bc5c192 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==1.11.0 +backoff==1.11.1 flaky==3.7.0 pytest==6.2.4 From e2afa57042bd581fe2ad5c6dc54dcda0cfd8efd1 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 19 Jul 2021 13:14:25 +0200 Subject: [PATCH 176/270] chore(deps): update dependency google-cloud-vision to v2.4.0 (#194) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-vision](https://togithub.com/googleapis/python-vision) | `==2.3.2` -> `==2.4.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.0/compatibility-slim/2.3.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.0/confidence-slim/2.3.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-vision ### [`v2.4.0`](https://togithub.com/googleapis/python-vision/blob/master/CHANGELOG.md#​240-httpswwwgithubcomgoogleapispython-visioncomparev232v240-2021-07-12) [Compare Source](https://togithub.com/googleapis/python-vision/compare/v2.3.2...v2.4.0) ##### Features - add always_use_jwt_access ([#​166](https://www.github.com/googleapis/python-vision/issues/166)) ([bff7763](https://www.github.com/googleapis/python-vision/commit/bff7763c586284eab96b3f43573006273e2e71ee)) ##### Bug Fixes - disable always_use_jwt_access ([8cc57cc](https://www.github.com/googleapis/python-vision/commit/8cc57cc21809596737e7a42102510942426ee3e6)) - disable always_use_jwt_access ([#​171](https://www.github.com/googleapis/python-vision/issues/171)) ([8cc57cc](https://www.github.com/googleapis/python-vision/commit/8cc57cc21809596737e7a42102510942426ee3e6)) ##### Documentation - omit mention of Python 2.7 in 'CONTRIBUTING.rst' ([#​1127](https://www.github.com/googleapis/python-vision/issues/1127)) ([#​161](https://www.github.com/googleapis/python-vision/issues/161)) ([78740ad](https://www.github.com/googleapis/python-vision/commit/78740ade95bf3eb7a2c613383e6ed602dfd1f1db)), closes [#​1126](https://www.github.com/googleapis/python-vision/issues/1126) ##### [2.3.2](https://www.github.com/googleapis/python-vision/compare/v2.3.1...v2.3.2) (2021-06-02) ##### Bug Fixes - **deps:** add packaging requirement ([#​147](https://www.github.com/googleapis/python-vision/issues/147)) ([41b88bd](https://www.github.com/googleapis/python-vision/commit/41b88bd482d4d6ec76fc6efc99aa9343496faf72)) ##### [2.3.1](https://www.github.com/googleapis/python-vision/compare/v2.3.0...v2.3.1) (2021-04-13) ##### Documentation - insert spaces between classes and methods in docs ([#​133](https://www.github.com/googleapis/python-vision/issues/133)) ([1495241](https://www.github.com/googleapis/python-vision/commit/1495241f7f19098ba33412e5c6f98c76b0bedfb2))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 87ed4196ff1..98901c2302d 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 -google-cloud-vision==2.3.2 +google-cloud-vision==2.4.0 google-cloud-texttospeech==2.5.0 From d6ff82380803b9afd75ff9326ed854eae4f7f06b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 21 Jul 2021 19:37:50 +0200 Subject: [PATCH 177/270] chore(deps): update dependency google-cloud-storage to v1.41.1 (#208) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index fd82ea83e3e..d282f0f7ec1 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.2.1 -google-cloud-storage==1.41.0 +google-cloud-storage==1.41.1 google-cloud-automl==2.4.0 From 9d378c5dbfa10fa344efd7d51cbaf76bd0a38f1e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 22 Jul 2021 15:42:25 +0200 Subject: [PATCH 178/270] chore(deps): update dependency google-cloud-translate to v3.3.1 (#212) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | `==3.2.1` -> `==3.3.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.1/compatibility-slim/3.2.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.1/confidence-slim/3.2.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-translate ### [`v3.3.1`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​331-httpswwwgithubcomgoogleapispython-translatecomparev330v331-2021-07-21) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v3.2.1...v3.3.1)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 98901c2302d..90583c98bc4 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.2.1 +google-cloud-translate==3.3.1 google-cloud-vision==2.4.0 google-cloud-texttospeech==2.5.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index d282f0f7ec1..ab2b88a6148 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.2.1 +google-cloud-translate==3.3.1 google-cloud-storage==1.41.1 google-cloud-automl==2.4.0 From 2031a6c6462da1f89ef46cc208da1aaf22a28bc5 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 22 Jul 2021 13:44:24 +0000 Subject: [PATCH 179/270] feat: add Samples section to CONTRIBUTING.rst (#206) Source-Link: https://github.com/googleapis/synthtool/commit/52e4e46eff2a0b70e3ff5506a02929d089d077d4 Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:6186535cbdbf6b9fe61f00294929221d060634dae4a0795c1cefdbc995b2d605 --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 5 +++-- translation/samples/snippets/noxfile.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 5ff9e1db580..6a8ccdae22c 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -28,8 +28,9 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -# Copy `noxfile_config.py` to your directory and modify it instead. +BLACK_VERSION = "black==19.10b0" +# Copy `noxfile_config.py` to your directory and modify it instead. # `TEST_CONFIG` dict is a configuration hook that allows users to # modify the test configurations. The values here should be in sync @@ -159,7 +160,7 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: - session.install("black") + session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 5ff9e1db580..6a8ccdae22c 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -28,8 +28,9 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -# Copy `noxfile_config.py` to your directory and modify it instead. +BLACK_VERSION = "black==19.10b0" +# Copy `noxfile_config.py` to your directory and modify it instead. # `TEST_CONFIG` dict is a configuration hook that allows users to # modify the test configurations. The values here should be in sync @@ -159,7 +160,7 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: - session.install("black") + session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) From dd7020dade4fbc5e7d9b2b31a6b0fe62e44eeb9a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 22 Jul 2021 15:46:23 +0200 Subject: [PATCH 180/270] chore(deps): update dependency google-cloud-texttospeech to v2.5.1 (#210) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-texttospeech](https://togithub.com/googleapis/python-texttospeech) | `==2.5.0` -> `==2.5.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.5.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.5.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.5.1/compatibility-slim/2.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.5.1/confidence-slim/2.5.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-texttospeech ### [`v2.5.1`](https://togithub.com/googleapis/python-texttospeech/blob/master/CHANGELOG.md#​251-httpswwwgithubcomgoogleapispython-texttospeechcomparev250v251-2021-07-20) [Compare Source](https://togithub.com/googleapis/python-texttospeech/compare/v2.5.0...v2.5.1)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 90583c98bc4..a42a22e98ec 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 google-cloud-vision==2.4.0 -google-cloud-texttospeech==2.5.0 +google-cloud-texttospeech==2.5.1 From 96ad19f5eea526c1b8e434f52ebe77e61deae154 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 22 Jul 2021 15:48:08 +0200 Subject: [PATCH 181/270] chore(deps): update dependency google-cloud-automl to v2.4.1 (#209) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-automl](https://togithub.com/googleapis/python-automl) | `==2.4.0` -> `==2.4.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.1/compatibility-slim/2.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-automl/2.4.1/confidence-slim/2.4.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-automl ### [`v2.4.1`](https://togithub.com/googleapis/python-automl/blob/master/CHANGELOG.md#​241-httpswwwgithubcomgoogleapispython-automlcomparev240v241-2021-07-21) [Compare Source](https://togithub.com/googleapis/python-automl/compare/v2.4.0...v2.4.1)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ab2b88a6148..267ba5c6adb 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 google-cloud-storage==1.41.1 -google-cloud-automl==2.4.0 +google-cloud-automl==2.4.1 From f05cb3638a7f3a44b5f570e721d3222a897b90c4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 22 Jul 2021 17:28:10 +0200 Subject: [PATCH 182/270] chore(deps): update dependency google-cloud-vision to v2.4.1 (#211) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-vision](https://togithub.com/googleapis/python-vision) | `==2.4.0` -> `==2.4.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.1/compatibility-slim/2.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-vision/2.4.1/confidence-slim/2.4.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-vision ### [`v2.4.1`](https://togithub.com/googleapis/python-vision/blob/master/CHANGELOG.md#​241-httpswwwgithubcomgoogleapispython-visioncomparev240v241-2021-07-21) [Compare Source](https://togithub.com/googleapis/python-vision/compare/v2.4.0...v2.4.1)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index a42a22e98ec..36fa8673151 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 -google-cloud-vision==2.4.0 +google-cloud-vision==2.4.1 google-cloud-texttospeech==2.5.1 From 4a552e0863aedce870e526d2a7ed041bf19aa975 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Jul 2021 22:02:08 +0200 Subject: [PATCH 183/270] chore(deps): update dependency google-cloud-texttospeech to v2.5.2 (#217) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 36fa8673151..90a545960f0 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 google-cloud-vision==2.4.1 -google-cloud-texttospeech==2.5.1 +google-cloud-texttospeech==2.5.2 From b058508c8367f4735e16e43d47b48a691836505e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 28 Jul 2021 22:02:19 +0200 Subject: [PATCH 184/270] chore(deps): update dependency google-cloud-automl to v2.4.2 (#216) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 267ba5c6adb..cbfd3a15846 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 google-cloud-storage==1.41.1 -google-cloud-automl==2.4.1 +google-cloud-automl==2.4.2 From 0f3d78de858f5e17de5ad4ee7ef41cfbe3f22639 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 29 Jul 2021 19:59:16 +0200 Subject: [PATCH 185/270] chore(deps): update dependency google-cloud-vision to v2.4.2 (#221) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 90a545960f0..064da4d20d4 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.1 -google-cloud-vision==2.4.1 +google-cloud-vision==2.4.2 google-cloud-texttospeech==2.5.2 From 635af5f2d662430116aa8e90bcd8478a82ab8fc0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 29 Jul 2021 20:24:24 +0200 Subject: [PATCH 186/270] chore(deps): update dependency google-cloud-translate to v3.3.2 (#220) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-translate](https://togithub.com/googleapis/python-translate) | `==3.3.1` -> `==3.3.2` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.2/compatibility-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-translate/3.3.2/confidence-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-translate ### [`v3.3.2`](https://togithub.com/googleapis/python-translate/blob/master/CHANGELOG.md#​332-httpswwwgithubcomgoogleapispython-translatecomparev331v332-2021-07-29) [Compare Source](https://togithub.com/googleapis/python-translate/compare/v3.3.1...v3.3.2)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 064da4d20d4..63660eaf5eb 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.3.1 +google-cloud-translate==3.3.2 google-cloud-vision==2.4.2 google-cloud-texttospeech==2.5.2 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index cbfd3a15846..b55296c7cb9 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.3.1 +google-cloud-translate==3.3.2 google-cloud-storage==1.41.1 google-cloud-automl==2.4.2 From 06e056b4da41728ace1b871dbc4960ffce0268ab Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 11 Aug 2021 16:32:30 +0000 Subject: [PATCH 187/270] chore: fix INSTALL_LIBRARY_FROM_SOURCE in noxfile.py (#226) Source-Link: https://github.com/googleapis/synthtool/commit/6252f2cd074c38f37b44abe5e96d128733eb1b61 Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:50e35228649c47b6ca82aa0be3ff9eb2afce51c82b66c4a03fe4afeb5ff6c0fc --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 2 +- translation/samples/snippets/noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 6a8ccdae22c..125bb619cc4 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -96,7 +96,7 @@ def get_pytest_env_vars() -> Dict[str, str]: TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) -INSTALL_LIBRARY_FROM_SOURCE = bool(os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False)) +INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ("True", "true") # # Style Checks # diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 6a8ccdae22c..125bb619cc4 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -96,7 +96,7 @@ def get_pytest_env_vars() -> Dict[str, str]: TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) -INSTALL_LIBRARY_FROM_SOURCE = bool(os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False)) +INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ("True", "true") # # Style Checks # From c80cd7c93bd2c9ba613b4cdfcea9af7f35e76abb Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 12 Aug 2021 16:56:46 +0200 Subject: [PATCH 188/270] chore(deps): update dependency google-cloud-storage to v1.42.0 (#228) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index b55296c7cb9..86787c2b130 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.3.2 -google-cloud-storage==1.41.1 +google-cloud-storage==1.42.0 google-cloud-automl==2.4.2 From 4d2949b69531b545ef6d8b731539cbbb685fdad2 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 13 Aug 2021 11:57:24 -0400 Subject: [PATCH 189/270] chore: drop mention of Python 2.7 from templates (#229) Source-Link: https://github.com/googleapis/synthtool/commit/facee4cc1ea096cd8bcc008bb85929daa7c414c0 Post-Processor: gcr.io/repo-automation-bots/owlbot-python:latest@sha256:9743664022bd63a8084be67f144898314c7ca12f0a03e422ac17c733c129d803 Co-authored-by: Owl Bot --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 6 +++--- translation/samples/snippets/noxfile.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 125bb619cc4..e73436a1562 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -39,7 +39,7 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': ["2.7"], + 'ignored_versions': [], # Old samples are opted out of enforcing Python type hints # All new samples should feature them @@ -88,8 +88,8 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. -# All versions used to tested samples. -ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8", "3.9"] +# All versions used to test samples. +ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 125bb619cc4..e73436a1562 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -39,7 +39,7 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': ["2.7"], + 'ignored_versions': [], # Old samples are opted out of enforcing Python type hints # All new samples should feature them @@ -88,8 +88,8 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. -# All versions used to tested samples. -ALL_VERSIONS = ["2.7", "3.6", "3.7", "3.8", "3.9"] +# All versions used to test samples. +ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] From eca363dfa576ea1eda067d4e3bcc11b3dcd6f116 Mon Sep 17 00:00:00 2001 From: aribray <45905583+aribray@users.noreply.github.com> Date: Sun, 29 Aug 2021 14:38:23 -0700 Subject: [PATCH 190/270] chore: Increase Batch Translate Text timeout (#225) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I0230ae19a14112009058100c0bb789a7d7a1543a Fixes #199 🦕 --- translation/samples/snippets/beta_snippets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py index 6b770e6126d..5ec1f298413 100644 --- a/translation/samples/snippets/beta_snippets.py +++ b/translation/samples/snippets/beta_snippets.py @@ -77,7 +77,7 @@ def batch_translate_text(project_id, input_uri, output_uri): } ) - result = operation.result(timeout=320) + result = operation.result(timeout=400) print("Total Characters: {}".format(result.total_characters)) print("Translated Characters: {}".format(result.translated_characters)) From 1e2b9a2d332cef3bbee00c356f4a0284e703e202 Mon Sep 17 00:00:00 2001 From: Tony Laidig Date: Sun, 29 Aug 2021 15:30:32 -0700 Subject: [PATCH 191/270] chore: fix broken link in sample (#223) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [x ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-translate/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x ] Ensure the tests and linter pass - [x ] Code coverage does not decrease (if any source code was changed) - [x ] Appropriate docs were updated (if necessary) Fixes #222 🦕 --- .../samples/snippets/translate_v3_batch_translate_text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translation/samples/snippets/translate_v3_batch_translate_text.py index 0f4161c917e..514eae2c59d 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text.py @@ -38,7 +38,7 @@ def batch_translate_text( output_config = {"gcs_destination": gcs_destination} parent = f"projects/{project_id}/locations/{location}" - # Supported language codes: https://cloud.google.com/translate/docs/language + # Supported language codes: https://cloud.google.com/translate/docs/languages operation = client.batch_translate_text( request={ "parent": parent, From a05648a8efc4e3d327f904fa307ea664f999fc7e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 31 Aug 2021 16:22:12 +0200 Subject: [PATCH 192/270] chore(deps): update dependency google-cloud-translate to v3.4.0 (#241) Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 63660eaf5eb..5ef3cbf04df 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.3.2 +google-cloud-translate==3.4.0 google-cloud-vision==2.4.2 google-cloud-texttospeech==2.5.2 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 86787c2b130..87cc046c1c3 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.3.2 +google-cloud-translate==3.4.0 google-cloud-storage==1.42.0 google-cloud-automl==2.4.2 From 17d5064762c0102e816345acabe4c2298fab3b87 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 31 Aug 2021 16:50:26 +0200 Subject: [PATCH 193/270] chore(deps): update dependency pytest to v6.2.5 (#237) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pytest](https://docs.pytest.org/en/latest/) ([source](https://togithub.com/pytest-dev/pytest), [changelog](https://docs.pytest.org/en/stable/changelog.html)) | `==6.2.4` -> `==6.2.5` | [![age](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/compatibility-slim/6.2.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/pytest/6.2.5/confidence-slim/6.2.4)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    pytest-dev/pytest ### [`v6.2.5`](https://togithub.com/pytest-dev/pytest/releases/6.2.5) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/6.2.4...6.2.5) # pytest 6.2.5 (2021-08-29) ## Trivial/Internal Changes - [#​8494](https://togithub.com/pytest-dev/pytest/issues/8494): Python 3.10 is now supported. - [#​9040](https://togithub.com/pytest-dev/pytest/issues/9040): Enable compatibility with `pluggy 1.0` or later.
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 95ea1e6a02b..927094516e6 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==6.2.4 +pytest==6.2.5 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 2f23bc5c192..23bba2f0c07 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.11.1 flaky==3.7.0 -pytest==6.2.4 +pytest==6.2.5 From fd83b03c5312a074fdf14ace20ca12808a2cb6b7 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 15 Sep 2021 00:42:25 +0200 Subject: [PATCH 194/270] chore(deps): update dependency google-cloud-storage to v1.42.1 (#248) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.42.0` -> `==1.42.1` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.1/compatibility-slim/1.42.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.1/confidence-slim/1.42.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v1.42.1`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1421-httpswwwgithubcomgoogleapispython-storagecomparev1420v1421-2021-09-07) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.42.0...v1.42.1)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 87cc046c1c3..08e1827ed37 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.0 -google-cloud-storage==1.42.0 +google-cloud-storage==1.42.1 google-cloud-automl==2.4.2 From 1802844c7cb61df9bf749bf117d1e9dde071aafc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 17 Sep 2021 00:46:12 +0200 Subject: [PATCH 195/270] chore(deps): update dependency google-cloud-storage to v1.42.2 (#250) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.42.1` -> `==1.42.2` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.2/compatibility-slim/1.42.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.2/confidence-slim/1.42.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v1.42.2`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1422-httpswwwgithubcomgoogleapispython-storagecomparev1421v1422-2021-09-16) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.42.1...v1.42.2)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 08e1827ed37..467a00a2fbb 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.0 -google-cloud-storage==1.42.1 +google-cloud-storage==1.42.2 google-cloud-automl==2.4.2 From ba84a9815b6cf98ed7bded6b35e067cbf6fddb04 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 17 Sep 2021 16:54:09 +0000 Subject: [PATCH 196/270] chore: blacken samples noxfile template (#249) --- .../snippets/hybrid_glossaries/noxfile.py | 44 +++++++++++-------- translation/samples/snippets/noxfile.py | 44 +++++++++++-------- 2 files changed, 50 insertions(+), 38 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index e73436a1562..b008613f03f 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -39,17 +39,15 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': [], - + "ignored_versions": [], # Old samples are opted out of enforcing Python type hints # All new samples should feature them - 'enforce_type_hints': False, - + "enforce_type_hints": False, # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', # If you need to use a specific version of pip, # change pip_version_override to the string representation @@ -57,13 +55,13 @@ "pip_version_override": None, # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - 'envs': {}, + "envs": {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append('.') + sys.path.append(".") from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -78,12 +76,12 @@ def get_pytest_env_vars() -> Dict[str, str]: ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG['gcloud_project_env'] + env_key = TEST_CONFIG["gcloud_project_env"] # This should error out if not set. - ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG['envs']) + ret.update(TEST_CONFIG["envs"]) return ret @@ -92,11 +90,14 @@ def get_pytest_env_vars() -> Dict[str, str]: ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] +IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) -INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ("True", "true") +INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ( + "True", + "true", +) # # Style Checks # @@ -141,7 +142,7 @@ def _determine_local_import_names(start_dir: str) -> List[str]: @nox.session def lint(session: nox.sessions.Session) -> None: - if not TEST_CONFIG['enforce_type_hints']: + if not TEST_CONFIG["enforce_type_hints"]: session.install("flake8", "flake8-import-order") else: session.install("flake8", "flake8-import-order", "flake8-annotations") @@ -150,9 +151,11 @@ def lint(session: nox.sessions.Session) -> None: args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - "." + ".", ] session.run("flake8", *args) + + # # Black # @@ -165,6 +168,7 @@ def blacken(session: nox.sessions.Session) -> None: session.run("black", *python_files) + # # Sample Tests # @@ -173,7 +177,9 @@ def blacken(session: nox.sessions.Session) -> None: PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] -def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: +def _session_tests( + session: nox.sessions.Session, post_install: Callable = None +) -> None: if TEST_CONFIG["pip_version_override"]: pip_version = TEST_CONFIG["pip_version_override"] session.install(f"pip=={pip_version}") @@ -203,7 +209,7 @@ def _session_tests(session: nox.sessions.Session, post_install: Callable = None) # on travis where slow and flaky tests are excluded. # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html success_codes=[0, 5], - env=get_pytest_env_vars() + env=get_pytest_env_vars(), ) @@ -213,9 +219,9 @@ def py(session: nox.sessions.Session) -> None: if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip("SKIPPED: {} tests are disabled for this sample.".format( - session.python - )) + session.skip( + "SKIPPED: {} tests are disabled for this sample.".format(session.python) + ) # diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index e73436a1562..b008613f03f 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -39,17 +39,15 @@ TEST_CONFIG = { # You can opt out from the test for specific Python versions. - 'ignored_versions': [], - + "ignored_versions": [], # Old samples are opted out of enforcing Python type hints # All new samples should feature them - 'enforce_type_hints': False, - + "enforce_type_hints": False, # An envvar key for determining the project id to use. Change it # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a # build specific Cloud project. You can also use your own string # to use your own Cloud project. - 'gcloud_project_env': 'GOOGLE_CLOUD_PROJECT', + "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', # If you need to use a specific version of pip, # change pip_version_override to the string representation @@ -57,13 +55,13 @@ "pip_version_override": None, # A dictionary you want to inject into your test. Don't put any # secrets here. These values will override predefined values. - 'envs': {}, + "envs": {}, } try: # Ensure we can import noxfile_config in the project's directory. - sys.path.append('.') + sys.path.append(".") from noxfile_config import TEST_CONFIG_OVERRIDE except ImportError as e: print("No user noxfile_config found: detail: {}".format(e)) @@ -78,12 +76,12 @@ def get_pytest_env_vars() -> Dict[str, str]: ret = {} # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG['gcloud_project_env'] + env_key = TEST_CONFIG["gcloud_project_env"] # This should error out if not set. - ret['GOOGLE_CLOUD_PROJECT'] = os.environ[env_key] + ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] # Apply user supplied envs. - ret.update(TEST_CONFIG['envs']) + ret.update(TEST_CONFIG["envs"]) return ret @@ -92,11 +90,14 @@ def get_pytest_env_vars() -> Dict[str, str]: ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] # Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG['ignored_versions'] +IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) -INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ("True", "true") +INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ( + "True", + "true", +) # # Style Checks # @@ -141,7 +142,7 @@ def _determine_local_import_names(start_dir: str) -> List[str]: @nox.session def lint(session: nox.sessions.Session) -> None: - if not TEST_CONFIG['enforce_type_hints']: + if not TEST_CONFIG["enforce_type_hints"]: session.install("flake8", "flake8-import-order") else: session.install("flake8", "flake8-import-order", "flake8-annotations") @@ -150,9 +151,11 @@ def lint(session: nox.sessions.Session) -> None: args = FLAKE8_COMMON_ARGS + [ "--application-import-names", ",".join(local_names), - "." + ".", ] session.run("flake8", *args) + + # # Black # @@ -165,6 +168,7 @@ def blacken(session: nox.sessions.Session) -> None: session.run("black", *python_files) + # # Sample Tests # @@ -173,7 +177,9 @@ def blacken(session: nox.sessions.Session) -> None: PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] -def _session_tests(session: nox.sessions.Session, post_install: Callable = None) -> None: +def _session_tests( + session: nox.sessions.Session, post_install: Callable = None +) -> None: if TEST_CONFIG["pip_version_override"]: pip_version = TEST_CONFIG["pip_version_override"] session.install(f"pip=={pip_version}") @@ -203,7 +209,7 @@ def _session_tests(session: nox.sessions.Session, post_install: Callable = None) # on travis where slow and flaky tests are excluded. # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html success_codes=[0, 5], - env=get_pytest_env_vars() + env=get_pytest_env_vars(), ) @@ -213,9 +219,9 @@ def py(session: nox.sessions.Session) -> None: if session.python in TESTED_VERSIONS: _session_tests(session) else: - session.skip("SKIPPED: {} tests are disabled for this sample.".format( - session.python - )) + session.skip( + "SKIPPED: {} tests are disabled for this sample.".format(session.python) + ) # From 6fb3c388e2744687f4909e6c78b9ca095f324932 Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Wed, 22 Sep 2021 12:14:16 -0400 Subject: [PATCH 197/270] chore: drop six (#253) --- translation/samples/snippets/snippets.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/translation/samples/snippets/snippets.py b/translation/samples/snippets/snippets.py index 8f4381a94e4..e0be2e1b065 100644 --- a/translation/samples/snippets/snippets.py +++ b/translation/samples/snippets/snippets.py @@ -85,12 +85,11 @@ def translate_text_with_model(target, text, model="nmt"): Target must be an ISO 639-1 language code. See https://g.co/cloud/translate/v2/translate-reference#supported_languages """ - import six from google.cloud import translate_v2 as translate translate_client = translate.Client() - if isinstance(text, six.binary_type): + if isinstance(text, bytes): text = text.decode("utf-8") # Text can also be a sequence of strings, in which case this method From fe308ffd1dc0f75de643c9d9576a692605285346 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 27 Sep 2021 17:40:45 +0200 Subject: [PATCH 198/270] chore(deps): update dependency google-cloud-vision to v2.4.3 (#257) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 5ef3cbf04df..9288195e0ee 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.0 -google-cloud-vision==2.4.2 +google-cloud-vision==2.4.3 google-cloud-texttospeech==2.5.2 From 8ec0661fd83b840b24c06289f93ab174cd200c2f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 27 Sep 2021 19:47:49 +0200 Subject: [PATCH 199/270] chore(deps): update dependency google-cloud-texttospeech to v2.5.3 (#258) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 9288195e0ee..984bbb64db7 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.0 google-cloud-vision==2.4.3 -google-cloud-texttospeech==2.5.2 +google-cloud-texttospeech==2.5.3 From d4a68107f5e8078cccbe18f4e528d30778010504 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 30 Sep 2021 18:59:49 +0200 Subject: [PATCH 200/270] chore(deps): update dependency google-cloud-vision to v2.4.4 (#262) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 984bbb64db7..64ea0e2f8bc 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.0 -google-cloud-vision==2.4.3 +google-cloud-vision==2.4.4 google-cloud-texttospeech==2.5.3 From 681882520bc17387902daee64a6878784cfa77ac Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 17:40:13 +0000 Subject: [PATCH 201/270] chore: fail samples nox session if python version is missing (#261) --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 4 ++++ translation/samples/snippets/noxfile.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index b008613f03f..1fd8956fbf0 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -98,6 +98,10 @@ def get_pytest_env_vars() -> Dict[str, str]: "True", "true", ) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + # # Style Checks # diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index b008613f03f..1fd8956fbf0 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -98,6 +98,10 @@ def get_pytest_env_vars() -> Dict[str, str]: "True", "true", ) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + # # Style Checks # From d5cea358d3ff84cc0b700edb3772c70c76c29bd0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 1 Oct 2021 01:20:23 +0200 Subject: [PATCH 202/270] chore(deps): update dependency google-cloud-translate to v3.4.1 (#263) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 64ea0e2f8bc..c83252ce15d 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.4.0 +google-cloud-translate==3.4.1 google-cloud-vision==2.4.4 google-cloud-texttospeech==2.5.3 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 467a00a2fbb..0660b6a493f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.4.0 +google-cloud-translate==3.4.1 google-cloud-storage==1.42.2 google-cloud-automl==2.4.2 From f471bb9b94b185501c31058f15954a93b0c4227a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 1 Oct 2021 01:50:38 +0200 Subject: [PATCH 203/270] chore(deps): update dependency google-cloud-storage to v1.42.3 (#264) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.42.2` -> `==1.42.3` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.3/compatibility-slim/1.42.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.42.3/confidence-slim/1.42.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v1.42.3`](https://togithub.com/googleapis/python-storage/blob/master/CHANGELOG.md#​1423-httpswwwgithubcomgoogleapispython-storagecomparev1422v1423-2021-09-30) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v1.42.2...v1.42.3)
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 0660b6a493f..4596a3e79fa 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.1 -google-cloud-storage==1.42.2 +google-cloud-storage==1.42.3 google-cloud-automl==2.4.2 From 58ee5d115aa1586bda24686f3cdcb5c228f5e47b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 8 Oct 2021 12:47:28 -0400 Subject: [PATCH 204/270] chore(python): Add kokoro configs for python 3.10 samples testing (#272) Source-Link: https://github.com/googleapis/synthtool/commit/c6e69c4726a233ad8d496961ec265d29e54010b7 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:58f73ba196b5414782605236dd0712a73541b44ff2ff4d3a36ec41092dd6fa5b Co-authored-by: Owl Bot --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 2 +- translation/samples/snippets/noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 1fd8956fbf0..93a9122cc45 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -87,7 +87,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to test samples. -ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] +ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 1fd8956fbf0..93a9122cc45 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -87,7 +87,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to test samples. -ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] +ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] From 630ba53bd36568b019b28af286c64ed642c53022 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 8 Oct 2021 19:38:29 +0200 Subject: [PATCH 205/270] chore(deps): update dependency google-cloud-texttospeech to v2.6.0 (#269) Co-authored-by: nicain Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index c83252ce15d..6b97aa4023c 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.1 google-cloud-vision==2.4.4 -google-cloud-texttospeech==2.5.3 +google-cloud-texttospeech==2.6.0 From eedcab782506fb5b8749870c2d30217ef3457197 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 11 Oct 2021 20:45:39 +0200 Subject: [PATCH 206/270] chore(deps): update dependency google-cloud-automl to v2.5.0 (#273) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 4596a3e79fa..70c6e0fdf4b 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.4.1 google-cloud-storage==1.42.3 -google-cloud-automl==2.4.2 +google-cloud-automl==2.5.0 From dc1b7d0c82a53f59e501d077b6d643f03861082d Mon Sep 17 00:00:00 2001 From: nicain Date: Mon, 11 Oct 2021 15:46:10 -0700 Subject: [PATCH 207/270] Fix: #254 by increasing timeout, use backoff module instead of flaky (#271) * feat: use backoff module instead of flaky * Updates after PR review Co-authored-by: Anthonios Partheniou --- ...batch_translate_text_with_glossary_test.py | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index d2b1f21198d..088d89779aa 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -15,6 +15,7 @@ import os import uuid +import backoff from google.cloud import storage import pytest @@ -25,8 +26,7 @@ GLOSSARY_ID = "DO_NOT_DELETE_TEST_GLOSSARY" -@pytest.fixture(scope="function") -def bucket(): +def get_ephemeral_bucket(): """Create a temporary bucket to store annotation output.""" bucket_name = f"tmp-{uuid.uuid4().hex}" storage_client = storage.Client() @@ -37,15 +37,30 @@ def bucket(): bucket.delete(force=True) -@pytest.mark.flaky(max_runs=3, min_passes=1) +@pytest.fixture(scope="function") +def bucket(): + """Create a bucket feature for testing""" + return next(get_ephemeral_bucket()) + + +def on_backoff(invocation_dict): + """Backoff callback; create a testing bucket for each backoff run""" + invocation_dict['kwargs']['bucket'] = next(get_ephemeral_bucket()) + + +# If necessary, retry test function while backing off the timeout sequentially +MAX_TIMEOUT = 500 + + +@backoff.on_exception(wait_gen=lambda : iter([100, 250, 300, MAX_TIMEOUT]), exception=Exception, max_tries=5, on_backoff=on_backoff) def test_batch_translate_text_with_glossary(capsys, bucket): + translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( "gs://cloud-samples-data/translation/text_with_glossary.txt", "gs://{}/translation/BATCH_TRANSLATION_GLOS_OUTPUT/".format(bucket.name), PROJECT_ID, GLOSSARY_ID, - 320, - ) + MAX_TIMEOUT) out, _ = capsys.readouterr() assert "Total Characters: 9" in out From 7ff9b986b1ca47f0350352aec062fd5c215acd92 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 12 Oct 2021 23:54:12 +0200 Subject: [PATCH 208/270] chore(deps): update all dependencies (#274) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 4 ++-- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 6b97aa4023c..47e09ee16cc 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.4.1 -google-cloud-vision==2.4.4 +google-cloud-translate==3.5.0 +google-cloud-vision==2.5.0 google-cloud-texttospeech==2.6.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 70c6e0fdf4b..14803910cdc 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.4.1 +google-cloud-translate==3.5.0 google-cloud-storage==1.42.3 google-cloud-automl==2.5.0 From 4c1a45bf37ee8cda36242f20bc52fbc218ece5f4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 20 Oct 2021 19:02:43 +0200 Subject: [PATCH 209/270] chore(deps): update dependency google-cloud-translate to v3.6.0 (#281) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 47e09ee16cc..0ad2e077630 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.5.0 +google-cloud-translate==3.6.0 google-cloud-vision==2.5.0 google-cloud-texttospeech==2.6.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 14803910cdc..fa97b3a3e13 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.5.0 +google-cloud-translate==3.6.0 google-cloud-storage==1.42.3 google-cloud-automl==2.5.0 From 7d0d0725aa9fce57c289f31613b4fe358b00d17d Mon Sep 17 00:00:00 2001 From: Abby Carey Date: Mon, 25 Oct 2021 06:54:09 -0700 Subject: [PATCH 210/270] docs(samples): Add Cloud Code tags for API Explorer pilot (#282) This adds region tags in order to support the Cloud Code API Explorer pilot --- .../samples/snippets/translate_v3_translate_text.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index cdfe819fa64..095fd146048 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -13,9 +13,14 @@ # limitations under the License. # [START translate_v3_translate_text] +# [START translate_v3_translate_text_0] +# Imports the Google Cloud Translation library from google.cloud import translate +# [END translate_v3_translate_text_0] +# [START translate_v3_translate_text_1] +# Initialize Translation client def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): """Translating Text.""" @@ -24,7 +29,10 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): location = "global" parent = f"projects/{project_id}/locations/{location}" + # [END translate_v3_translate_text_1] + # [START translate_v3_translate_text_2] + # Translate text from English to French # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats response = client.translate_text( @@ -40,6 +48,7 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): # Display the translation for each input text provided for translation in response.translations: print("Translated text: {}".format(translation.translated_text)) + # [END translate_v3_translate_text_2] # [END translate_v3_translate_text] From 9f6d6b9dd010458508030fc420789e9cc47530c0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 3 Nov 2021 11:54:52 +0100 Subject: [PATCH 211/270] chore(deps): update all dependencies (#283) Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> --- .../samples/snippets/hybrid_glossaries/requirements.txt | 4 ++-- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 0ad2e077630..44c9ae82886 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.0 -google-cloud-vision==2.5.0 -google-cloud-texttospeech==2.6.0 +google-cloud-vision==2.6.0 +google-cloud-texttospeech==2.7.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index fa97b3a3e13..ffc9d62b90a 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.0 google-cloud-storage==1.42.3 -google-cloud-automl==2.5.0 +google-cloud-automl==2.5.1 From 16eccb3aabdc91ab9556aa82a18caba96048712f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 3 Nov 2021 12:23:28 +0100 Subject: [PATCH 212/270] chore(deps): update all dependencies (#291) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 44c9ae82886..5acda81c5f9 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.0 -google-cloud-vision==2.6.0 -google-cloud-texttospeech==2.7.0 +google-cloud-vision==2.6.2 +google-cloud-texttospeech==2.7.1 From 28cf5550c39309ebf636dd9219321771477a7c05 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 4 Nov 2021 10:17:51 +0100 Subject: [PATCH 213/270] chore(deps): update dependency google-cloud-automl to v2.5.2 (#292) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ffc9d62b90a..79a02771a52 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.0 google-cloud-storage==1.42.3 -google-cloud-automl==2.5.1 +google-cloud-automl==2.5.2 From 4247642c4d2993d95773d4efb715b7a92e3c74ca Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 5 Nov 2021 18:28:27 +0100 Subject: [PATCH 214/270] chore(deps): update all dependencies (#293) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 5acda81c5f9..cb755cb254d 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.6.0 +google-cloud-translate==3.6.1 google-cloud-vision==2.6.2 google-cloud-texttospeech==2.7.1 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 79a02771a52..fa4d8cab962 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.6.0 +google-cloud-translate==3.6.1 google-cloud-storage==1.42.3 google-cloud-automl==2.5.2 From dce41b33ce63d0d37cefce0d56375e0f0d538c40 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 16 Nov 2021 12:16:30 +0100 Subject: [PATCH 215/270] chore(deps): update dependency google-cloud-texttospeech to v2.8.0 (#299) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index cb755cb254d..755fa8c89e1 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 google-cloud-vision==2.6.2 -google-cloud-texttospeech==2.7.1 +google-cloud-texttospeech==2.8.0 From 1710d722f345f07033c86c0bc2360dc74771d6c5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 20 Nov 2021 01:08:22 +0100 Subject: [PATCH 216/270] chore(deps): update all dependencies (#301) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 755fa8c89e1..0b00fa17bed 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 google-cloud-vision==2.6.2 -google-cloud-texttospeech==2.8.0 +google-cloud-texttospeech==2.9.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index fa4d8cab962..ca026cb6147 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 -google-cloud-storage==1.42.3 +google-cloud-storage==1.43.0 google-cloud-automl==2.5.2 From e8d38f6ce12f02271efbbfaf3f2ccf1c3ecbbf2e Mon Sep 17 00:00:00 2001 From: orionnye Date: Mon, 22 Nov 2021 21:56:45 -0800 Subject: [PATCH 217/270] fix: 290 added a create glossary line before each call using bistro-glossary (#302) --- .../hybrid_glossaries/hybrid_tutorial_test.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 2b4f65593ae..8f81f325bad 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -58,6 +58,12 @@ def test_translate_standard(): expected_text = "Hello" + # attempt to create glossary, fails if it already exists + languages = ["fr", "en"] + glossary_name = "bistro-glossary" + glossary_uri = f"gs://cloud-samples-data/translation/{glossary_name}.csv" + create_glossary(languages, PROJECT_ID, glossary_name, glossary_uri) + text = translate_text("Bonjour", "fr", "en", PROJECT_ID, "bistro-glossary") assert text == expected_text @@ -68,6 +74,12 @@ def test_translate_glossary(): expected_text = "I eat goat cheese" input_text = "Je mange du chevre" + # attempt to create glossary, fails if it already exists + languages = ["fr", "en"] + glossary_name = "bistro-glossary" + glossary_uri = f"gs://cloud-samples-data/translation/{glossary_name}.csv" + create_glossary(languages, PROJECT_ID, glossary_name, glossary_uri) + text = translate_text(input_text, "fr", "en", PROJECT_ID, "bistro-glossary") assert text == expected_text From b2e23d8c8ef1776ab6bc9bf507afcaa50f206880 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sun, 12 Dec 2021 12:03:30 -0500 Subject: [PATCH 218/270] chore: update python-docs-samples link to main branch (#304) Source-Link: https://github.com/googleapis/synthtool/commit/0941ef32b18aff0be34a40404f3971d9f51996e9 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2f90537dd7df70f6b663cd654b1fa5dee483cf6a4edcfd46072b2775be8a23ec Co-authored-by: Owl Bot --- translation/samples/AUTHORING_GUIDE.md | 2 +- translation/samples/CONTRIBUTING.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/AUTHORING_GUIDE.md b/translation/samples/AUTHORING_GUIDE.md index 55c97b32f4c..8249522ffc2 100644 --- a/translation/samples/AUTHORING_GUIDE.md +++ b/translation/samples/AUTHORING_GUIDE.md @@ -1 +1 @@ -See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/AUTHORING_GUIDE.md \ No newline at end of file +See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md \ No newline at end of file diff --git a/translation/samples/CONTRIBUTING.md b/translation/samples/CONTRIBUTING.md index 34c882b6f1a..f5fe2e6baf1 100644 --- a/translation/samples/CONTRIBUTING.md +++ b/translation/samples/CONTRIBUTING.md @@ -1 +1 @@ -See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/CONTRIBUTING.md \ No newline at end of file +See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/CONTRIBUTING.md \ No newline at end of file From e7c44bd2f296f8d4a1bd37a72c290359b28a02c6 Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Tue, 14 Dec 2021 09:56:54 -0800 Subject: [PATCH 219/270] chore: updated translate_v3beta1_translate_document sample (#308) * chore: updated translate_v3beta1_translate_document sample * lint fix * nit: changed view to output --- .../snippets/translate_v3beta1_translate_document.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/translation/samples/snippets/translate_v3beta1_translate_document.py b/translation/samples/snippets/translate_v3beta1_translate_document.py index 28e28579f38..963d1d87acf 100644 --- a/translation/samples/snippets/translate_v3beta1_translate_document.py +++ b/translation/samples/snippets/translate_v3beta1_translate_document.py @@ -41,7 +41,11 @@ def translate_document(project_id: str, file_path: str): } ) - # To view translated document, write `response.document_translation.byte_stream_outputs` to file. + # To output the translated document, uncomment the code below. + # f = open('/tmp/output', 'wb') + # f.write(response.document_translation.byte_stream_outputs) + # f.close() + # If not provided in the TranslationRequest, the translated file will only be returned through a byte-stream # and its output mime type will be the same as the input file's mime type print("Response: Detected Language Code - {}".format(response.document_translation.detected_language_code)) From 590296e6ab740538909f4f4165dd518b8839792f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 11 Jan 2022 15:59:26 +0100 Subject: [PATCH 220/270] chore(deps): update all dependencies (#307) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 0b00fa17bed..8653920906b 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 -google-cloud-vision==2.6.2 +google-cloud-vision==2.6.3 google-cloud-texttospeech==2.9.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index ca026cb6147..324c4889bcf 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 -google-cloud-storage==1.43.0 +google-cloud-storage==1.44.0 google-cloud-automl==2.5.2 From c0b31fc707a9600c63ee2170eafbf14d71b0984e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 Jan 2022 10:32:35 -0500 Subject: [PATCH 221/270] chore(python): fix undefined name 'glob' in samples noxfile (#314) Source-Link: https://github.com/googleapis/synthtool/commit/52aef91f8d25223d9dbdb4aebd94ba8eea2101f3 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:36a95b8f494e4674dc9eee9af98961293b51b86b3649942aac800ae6c1f796d4 Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .../snippets/hybrid_glossaries/noxfile.py | 70 +++++++++++-------- translation/samples/snippets/noxfile.py | 70 +++++++++++-------- 2 files changed, 78 insertions(+), 62 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 93a9122cc45..3bbef5d54f4 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -14,6 +14,7 @@ from __future__ import print_function +import glob import os from pathlib import Path import sys @@ -184,37 +185,44 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") - else: - session.install("-r", "requirements-test.txt") - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) + # check for presence of tests + test_list = glob.glob("*_test.py") + glob.glob("test_*.py") + if len(test_list) == 0: + print("No tests found, skipping directory.") + else: + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") + """Runs py.test for a particular project.""" + if os.path.exists("requirements.txt"): + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") + + if os.path.exists("requirements-test.txt"): + if os.path.exists("constraints-test.txt"): + session.install( + "-r", "requirements-test.txt", "-c", "constraints-test.txt" + ) + else: + session.install("-r", "requirements-test.txt") + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars(), + ) @nox.session(python=ALL_VERSIONS) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 93a9122cc45..3bbef5d54f4 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -14,6 +14,7 @@ from __future__ import print_function +import glob import os from pathlib import Path import sys @@ -184,37 +185,44 @@ def blacken(session: nox.sessions.Session) -> None: def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") - else: - session.install("-r", "requirements-test.txt") - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) + # check for presence of tests + test_list = glob.glob("*_test.py") + glob.glob("test_*.py") + if len(test_list) == 0: + print("No tests found, skipping directory.") + else: + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") + """Runs py.test for a particular project.""" + if os.path.exists("requirements.txt"): + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") + + if os.path.exists("requirements-test.txt"): + if os.path.exists("constraints-test.txt"): + session.install( + "-r", "requirements-test.txt", "-c", "constraints-test.txt" + ) + else: + session.install("-r", "requirements-test.txt") + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars(), + ) @nox.session(python=ALL_VERSIONS) From d92d61aaa35a26292b1b08fd4dd302906d6762ca Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 17 Jan 2022 17:34:18 +0100 Subject: [PATCH 222/270] chore(deps): update dependency google-cloud-storage to v2 (#318) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 324c4889bcf..390316bb867 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 -google-cloud-storage==1.44.0 +google-cloud-storage==2.0.0 google-cloud-automl==2.5.2 From fcb37c3f8bdd960a265ec5d5db93cca2c116017f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 19 Jan 2022 00:13:33 +0100 Subject: [PATCH 223/270] chore(deps): update dependency google-cloud-automl to v2.6.0 (#322) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 390316bb867..0b3e1b5d858 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 google-cloud-storage==2.0.0 -google-cloud-automl==2.5.2 +google-cloud-automl==2.6.0 From 0b71c07ea516da46b162d3ab35eeb40250ed0a2c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 18 Jan 2022 20:39:53 -0500 Subject: [PATCH 224/270] chore(python): Noxfile recognizes that tests can live in a folder (#323) Source-Link: https://github.com/googleapis/synthtool/commit/4760d8dce1351d93658cb11d02a1b7ceb23ae5d7 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f0e4b51deef56bed74d3e2359c583fc104a8d6367da3984fc5c66938db738828 Co-authored-by: Owl Bot --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 1 + translation/samples/snippets/noxfile.py | 1 + 2 files changed, 2 insertions(+) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 3bbef5d54f4..20cdfc62013 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -187,6 +187,7 @@ def _session_tests( ) -> None: # check for presence of tests test_list = glob.glob("*_test.py") + glob.glob("test_*.py") + test_list.extend(glob.glob("tests")) if len(test_list) == 0: print("No tests found, skipping directory.") else: diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 3bbef5d54f4..20cdfc62013 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -187,6 +187,7 @@ def _session_tests( ) -> None: # check for presence of tests test_list = glob.glob("*_test.py") + glob.glob("test_*.py") + test_list.extend(glob.glob("tests")) if len(test_list) == 0: print("No tests found, skipping directory.") else: From ddeb9108f2c356448c7e0fb9608c556f346ba64f Mon Sep 17 00:00:00 2001 From: wesley chun Date: Wed, 19 Jan 2022 01:42:02 -0800 Subject: [PATCH 225/270] chore: add samples/cloud-nebulous-serverless/README.md (#312) * connect Python Translate client library to nebulous serverless example * added Samples section to README * fix path * update README * fix README link * move sample info to README * fix RST formatting * chore: update RST for Sphinx lint * chore: update README for RST style * updated serverless sample README Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> Co-authored-by: Anthonios Partheniou --- translation/samples/cloud-nebulous-serverless-python/README.md | 1 - translation/samples/cloud-nebulous-serverless/README.md | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 translation/samples/cloud-nebulous-serverless-python/README.md create mode 100644 translation/samples/cloud-nebulous-serverless/README.md diff --git a/translation/samples/cloud-nebulous-serverless-python/README.md b/translation/samples/cloud-nebulous-serverless-python/README.md deleted file mode 100644 index 9dfab667625..00000000000 --- a/translation/samples/cloud-nebulous-serverless-python/README.md +++ /dev/null @@ -1 +0,0 @@ -This sample can be found at . diff --git a/translation/samples/cloud-nebulous-serverless/README.md b/translation/samples/cloud-nebulous-serverless/README.md new file mode 100644 index 00000000000..e2c82823a7d --- /dev/null +++ b/translation/samples/cloud-nebulous-serverless/README.md @@ -0,0 +1 @@ +This sample, demonstrating how to access the [Cloud Translation API](https://cloud.google.com/translate) from [Google Cloud serverless platforms](https://cloud.google.com/serverless) (App Engine, Cloud Functions, Cloud Run) can be found at . Versions in Python (2.7 and 3.7+) and Node.js (10+) are available along with hands-on tutorials. From 91712a43062f96ebefeb8bd68b8de7cc359cf48a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 19 Jan 2022 14:18:32 +0100 Subject: [PATCH 226/270] chore(deps): update dependency google-cloud-texttospeech to v2.9.1 (#324) Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 8653920906b..945d36de2ab 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 google-cloud-vision==2.6.3 -google-cloud-texttospeech==2.9.0 +google-cloud-texttospeech==2.9.1 From 7e69b77d12128289de98249af050fc834373b920 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 3 Feb 2022 17:04:56 +0100 Subject: [PATCH 227/270] chore(deps): update all dependencies (#325) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==2.0.0` -> `==2.1.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/2.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/2.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/2.1.0/compatibility-slim/2.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/2.1.0/confidence-slim/2.0.0)](https://docs.renovatebot.com/merge-confidence/) | | [google-cloud-texttospeech](https://togithub.com/googleapis/python-texttospeech) | `==2.9.1` -> `==2.10.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.10.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.10.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.10.0/compatibility-slim/2.9.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-texttospeech/2.10.0/confidence-slim/2.9.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
    googleapis/python-storage ### [`v2.1.0`](https://togithub.com/googleapis/python-storage/blob/HEAD/CHANGELOG.md#​210-httpsgithubcomgoogleapispython-storagecomparev200v210-2022-01-19) [Compare Source](https://togithub.com/googleapis/python-storage/compare/v2.0.0...v2.1.0) ##### Features - add turbo replication support and samples ([#​622](https://togithub.com/googleapis/python-storage/issues/622)) ([4dafc81](https://togithub.com/googleapis/python-storage/commit/4dafc815470480ce9de7f0357e331d3fbd0ae9b7)) - avoid authentication with storage emulator ([#​679](https://togithub.com/googleapis/python-storage/issues/679)) ([8789afa](https://togithub.com/googleapis/python-storage/commit/8789afaaa1b2bd6f03fae72e3d87ce004ec10129)) - remove python 3.6 support ([#​689](https://togithub.com/googleapis/python-storage/issues/689)) ([8aa4130](https://togithub.com/googleapis/python-storage/commit/8aa4130ee068a1922161c8ca54a53a4a51d65ce0))
    googleapis/python-texttospeech ### [`v2.10.0`](https://togithub.com/googleapis/python-texttospeech/blob/HEAD/CHANGELOG.md#​2100-httpsgithubcomgoogleapispython-texttospeechcomparev291v2100-2022-02-03) [Compare Source](https://togithub.com/googleapis/python-texttospeech/compare/v2.9.1...v2.10.0) ##### Features - add api key support ([#​242](https://togithub.com/googleapis/python-texttospeech/issues/242)) ([3b4f0d0](https://togithub.com/googleapis/python-texttospeech/commit/3b4f0d0749529b04ed7fedec3c4b06b6d42c12cd)) ##### Bug Fixes - resolve DuplicateCredentialArgs error when using credentials_file ([4c11b12](https://togithub.com/googleapis/python-texttospeech/commit/4c11b127ece0009082fe91062f3f36c8f18e8ffc)) ##### Documentation - update comments for ListVoicesRequest ([#​244](https://togithub.com/googleapis/python-texttospeech/issues/244)) ([bc5b73f](https://togithub.com/googleapis/python-texttospeech/commit/bc5b73fbc62900f89a01486c6e8d42d459c34fd6)) ##### [2.9.1](https://www.github.com/googleapis/python-texttospeech/compare/v2.9.0...v2.9.1) (2022-01-08) ##### Documentation - Added virtualenv comment for clarity ([#​225](https://www.togithub.com/googleapis/python-texttospeech/issues/225)) ([61a7fce](https://www.github.com/googleapis/python-texttospeech/commit/61a7fcec0611712cdb1692b830db4aaca4d411b0)) - update comments for ListVoicesRequest ([#​229](https://www.togithub.com/googleapis/python-texttospeech/issues/229)) ([9ea340c](https://www.github.com/googleapis/python-texttospeech/commit/9ea340cee20298630a6a15bed0ed2df9f69b3d13))
    --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-translate). Closes #278 --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 945d36de2ab..c67184779ae 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 google-cloud-vision==2.6.3 -google-cloud-texttospeech==2.9.1 +google-cloud-texttospeech==2.10.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 0b3e1b5d858..8c51bb99a05 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.6.1 -google-cloud-storage==2.0.0 +google-cloud-storage==2.1.0 google-cloud-automl==2.6.0 From a16b917dd616609821ea4441d5c6c9738c1ee72b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 25 Feb 2022 19:42:20 -0500 Subject: [PATCH 228/270] docs: add generated snippets (#336) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.63.2 docs: add generated snippets PiperOrigin-RevId: 427792504 Source-Link: https://github.com/googleapis/googleapis/commit/55b9e1e0b3106c850d13958352bc0751147b6b15 Source-Link: https://github.com/googleapis/googleapis-gen/commit/bf4e86b753f42cb0edb1fd51fbe840d7da0a1cde Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYmY0ZTg2Yjc1M2Y0MmNiMGVkYjFmZDUxZmJlODQwZDdkYTBhMWNkZSJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: use gapic-generator-python 0.63.4 chore: fix snippet region tag format chore: fix docstring code block formatting PiperOrigin-RevId: 430730865 Source-Link: https://github.com/googleapis/googleapis/commit/ea5800229f73f94fd7204915a86ed09dcddf429a Source-Link: https://github.com/googleapis/googleapis-gen/commit/ca893ff8af25fc7fe001de1405a517d80446ecca Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2E4OTNmZjhhZjI1ZmM3ZmUwMDFkZTE0MDVhNTE3ZDgwNDQ2ZWNjYSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> --- .../snippet_metadata_translate_v3.json | 894 ++++++++++++++++++ .../snippet_metadata_translate_v3beta1.json | 894 ++++++++++++++++++ ..._service_batch_translate_document_async.py | 59 ++ ...n_service_batch_translate_document_sync.py | 59 ++ ...tion_service_batch_translate_text_async.py | 59 ++ ...ation_service_batch_translate_text_sync.py | 59 ++ ...anslation_service_create_glossary_async.py | 53 ++ ...ranslation_service_create_glossary_sync.py | 53 ++ ...anslation_service_delete_glossary_async.py | 49 + ...ranslation_service_delete_glossary_sync.py | 49 + ...anslation_service_detect_language_async.py | 46 + ...ranslation_service_detect_language_sync.py | 46 + ..._translation_service_get_glossary_async.py | 45 + ...3_translation_service_get_glossary_sync.py | 45 + ...n_service_get_supported_languages_async.py | 45 + ...on_service_get_supported_languages_sync.py | 45 + ...anslation_service_list_glossaries_async.py | 46 + ...ranslation_service_list_glossaries_sync.py | 46 + ...lation_service_translate_document_async.py | 50 + ...slation_service_translate_document_sync.py | 50 + ...ranslation_service_translate_text_async.py | 47 + ...translation_service_translate_text_sync.py | 47 + ..._service_batch_translate_document_async.py | 59 ++ ...n_service_batch_translate_document_sync.py | 59 ++ ...tion_service_batch_translate_text_async.py | 59 ++ ...ation_service_batch_translate_text_sync.py | 59 ++ ...anslation_service_create_glossary_async.py | 53 ++ ...ranslation_service_create_glossary_sync.py | 53 ++ ...anslation_service_delete_glossary_async.py | 49 + ...ranslation_service_delete_glossary_sync.py | 49 + ...anslation_service_detect_language_async.py | 46 + ...ranslation_service_detect_language_sync.py | 46 + ..._translation_service_get_glossary_async.py | 45 + ...1_translation_service_get_glossary_sync.py | 45 + ...n_service_get_supported_languages_async.py | 45 + ...on_service_get_supported_languages_sync.py | 45 + ...anslation_service_list_glossaries_async.py | 46 + ...ranslation_service_list_glossaries_sync.py | 46 + ...lation_service_translate_document_async.py | 50 + ...slation_service_translate_document_sync.py | 50 + ...ranslation_service_translate_text_async.py | 47 + ...translation_service_translate_text_sync.py | 47 + ..._service_batch_translate_document_async.py | 59 ++ ...n_service_batch_translate_document_sync.py | 59 ++ ...tion_service_batch_translate_text_async.py | 59 ++ ...ation_service_batch_translate_text_sync.py | 59 ++ ...anslation_service_create_glossary_async.py | 53 ++ ...ranslation_service_create_glossary_sync.py | 53 ++ ...anslation_service_delete_glossary_async.py | 49 + ...ranslation_service_delete_glossary_sync.py | 49 + ...anslation_service_detect_language_async.py | 46 + ...ranslation_service_detect_language_sync.py | 46 + ..._translation_service_get_glossary_async.py | 45 + ...d_translation_service_get_glossary_sync.py | 45 + ...n_service_get_supported_languages_async.py | 45 + ...on_service_get_supported_languages_sync.py | 45 + ...anslation_service_list_glossaries_async.py | 46 + ...ranslation_service_list_glossaries_sync.py | 46 + ...lation_service_translate_document_async.py | 50 + ...slation_service_translate_document_sync.py | 50 + ...ranslation_service_translate_text_async.py | 47 + ...translation_service_translate_text_sync.py | 47 + ..._service_batch_translate_document_async.py | 59 ++ ...n_service_batch_translate_document_sync.py | 59 ++ ...tion_service_batch_translate_text_async.py | 59 ++ ...ation_service_batch_translate_text_sync.py | 59 ++ ...anslation_service_create_glossary_async.py | 53 ++ ...ranslation_service_create_glossary_sync.py | 53 ++ ...anslation_service_delete_glossary_async.py | 49 + ...ranslation_service_delete_glossary_sync.py | 49 + ...anslation_service_detect_language_async.py | 46 + ...ranslation_service_detect_language_sync.py | 46 + ..._translation_service_get_glossary_async.py | 45 + ...d_translation_service_get_glossary_sync.py | 45 + ...n_service_get_supported_languages_async.py | 45 + ...on_service_get_supported_languages_sync.py | 45 + ...anslation_service_list_glossaries_async.py | 46 + ...ranslation_service_list_glossaries_sync.py | 46 + ...lation_service_translate_document_async.py | 50 + ...slation_service_translate_document_sync.py | 50 + ...ranslation_service_translate_text_async.py | 47 + ...translation_service_translate_text_sync.py | 47 + 82 files changed, 5780 insertions(+) create mode 100644 translation/samples/generated_samples/snippet_metadata_translate_v3.json create mode 100644 translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py create mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3.json b/translation/samples/generated_samples/snippet_metadata_translate_v3.json new file mode 100644 index 00000000000..32c166f1edf --- /dev/null +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3.json @@ -0,0 +1,894 @@ +{ + "snippets": [ + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateDocument" + } + }, + "file": "translate_v3_generated_translation_service_batch_translate_document_async.py", + "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_async", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateDocument" + } + }, + "file": "translate_v3_generated_translation_service_batch_translate_document_sync.py", + "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_sync", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateText" + } + }, + "file": "translate_v3_generated_translation_service_batch_translate_text_async.py", + "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_async", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateText" + } + }, + "file": "translate_v3_generated_translation_service_batch_translate_text_sync.py", + "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_sync", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "CreateGlossary" + } + }, + "file": "translate_v3_generated_translation_service_create_glossary_async.py", + "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_async", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 42, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 49, + "start": 43, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 50, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "CreateGlossary" + } + }, + "file": "translate_v3_generated_translation_service_create_glossary_sync.py", + "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_sync", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 42, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 49, + "start": 43, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 50, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DeleteGlossary" + } + }, + "file": "translate_v3_generated_translation_service_delete_glossary_async.py", + "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_async", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DeleteGlossary" + } + }, + "file": "translate_v3_generated_translation_service_delete_glossary_sync.py", + "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_sync", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DetectLanguage" + } + }, + "file": "translate_v3_generated_translation_service_detect_language_async.py", + "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DetectLanguage" + } + }, + "file": "translate_v3_generated_translation_service_detect_language_sync.py", + "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetGlossary" + } + }, + "file": "translate_v3_generated_translation_service_get_glossary_async.py", + "regionTag": "translate_v3_generated_TranslationService_GetGlossary_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetGlossary" + } + }, + "file": "translate_v3_generated_translation_service_get_glossary_sync.py", + "regionTag": "translate_v3_generated_TranslationService_GetGlossary_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetSupportedLanguages" + } + }, + "file": "translate_v3_generated_translation_service_get_supported_languages_async.py", + "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetSupportedLanguages" + } + }, + "file": "translate_v3_generated_translation_service_get_supported_languages_sync.py", + "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "ListGlossaries" + } + }, + "file": "translate_v3_generated_translation_service_list_glossaries_async.py", + "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "ListGlossaries" + } + }, + "file": "translate_v3_generated_translation_service_list_glossaries_sync.py", + "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateDocument" + } + }, + "file": "translate_v3_generated_translation_service_translate_document_async.py", + "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_async", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateDocument" + } + }, + "file": "translate_v3_generated_translation_service_translate_document_sync.py", + "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_sync", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateText" + } + }, + "file": "translate_v3_generated_translation_service_translate_text_async.py", + "regionTag": "translate_v3_generated_TranslationService_TranslateText_async", + "segments": [ + { + "end": 46, + "start": 27, + "type": "FULL" + }, + { + "end": 46, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 40, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 43, + "start": 41, + "type": "REQUEST_EXECUTION" + }, + { + "end": 47, + "start": 44, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateText" + } + }, + "file": "translate_v3_generated_translation_service_translate_text_sync.py", + "regionTag": "translate_v3_generated_TranslationService_TranslateText_sync", + "segments": [ + { + "end": 46, + "start": 27, + "type": "FULL" + }, + { + "end": 46, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 40, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 43, + "start": 41, + "type": "REQUEST_EXECUTION" + }, + { + "end": 47, + "start": 44, + "type": "RESPONSE_HANDLING" + } + ] + } + ] +} diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json new file mode 100644 index 00000000000..537673e5f75 --- /dev/null +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json @@ -0,0 +1,894 @@ +{ + "snippets": [ + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateDocument" + } + }, + "file": "translate_v3beta1_generated_translation_service_batch_translate_document_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateDocument" + } + }, + "file": "translate_v3beta1_generated_translation_service_batch_translate_document_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateText" + } + }, + "file": "translate_v3beta1_generated_translation_service_batch_translate_text_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_async", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "BatchTranslateText" + } + }, + "file": "translate_v3beta1_generated_translation_service_batch_translate_text_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_sync", + "segments": [ + { + "end": 58, + "start": 27, + "type": "FULL" + }, + { + "end": 58, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 48, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 55, + "start": 49, + "type": "REQUEST_EXECUTION" + }, + { + "end": 59, + "start": 56, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "CreateGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_create_glossary_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_async", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 42, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 49, + "start": 43, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 50, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "CreateGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_create_glossary_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_sync", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 42, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 49, + "start": 43, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 50, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DeleteGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_delete_glossary_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_async", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DeleteGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_delete_glossary_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_sync", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DetectLanguage" + } + }, + "file": "translate_v3beta1_generated_translation_service_detect_language_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "DetectLanguage" + } + }, + "file": "translate_v3beta1_generated_translation_service_detect_language_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_get_glossary_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetGlossary" + } + }, + "file": "translate_v3beta1_generated_translation_service_get_glossary_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetSupportedLanguages" + } + }, + "file": "translate_v3beta1_generated_translation_service_get_supported_languages_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "GetSupportedLanguages" + } + }, + "file": "translate_v3beta1_generated_translation_service_get_supported_languages_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "ListGlossaries" + } + }, + "file": "translate_v3beta1_generated_translation_service_list_glossaries_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "ListGlossaries" + } + }, + "file": "translate_v3beta1_generated_translation_service_list_glossaries_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateDocument" + } + }, + "file": "translate_v3beta1_generated_translation_service_translate_document_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_async", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateDocument" + } + }, + "file": "translate_v3beta1_generated_translation_service_translate_document_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_sync", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateText" + } + }, + "file": "translate_v3beta1_generated_translation_service_translate_text_async.py", + "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_async", + "segments": [ + { + "end": 46, + "start": 27, + "type": "FULL" + }, + { + "end": 46, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 40, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 43, + "start": 41, + "type": "REQUEST_EXECUTION" + }, + { + "end": 47, + "start": 44, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "TranslationService" + }, + "shortName": "TranslateText" + } + }, + "file": "translate_v3beta1_generated_translation_service_translate_text_sync.py", + "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_sync", + "segments": [ + { + "end": 46, + "start": 27, + "type": "FULL" + }, + { + "end": 46, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 40, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 43, + "start": 41, + "type": "REQUEST_EXECUTION" + }, + { + "end": 47, + "start": 44, + "type": "RESPONSE_HANDLING" + } + ] + } + ] +} diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py new file mode 100644 index 00000000000..a43e5e4ebe7 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_BatchTranslateDocument_async] +from google.cloud import translate_v3 + + +async def sample_batch_translate_document(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py new file mode 100644 index 00000000000..bf3588562be --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_BatchTranslateDocument_sync] +from google.cloud import translate_v3 + + +def sample_batch_translate_document(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py new file mode 100644 index 00000000000..431f7edfd97 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_BatchTranslateText_async] +from google.cloud import translate_v3 + + +async def sample_batch_translate_text(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py new file mode 100644 index 00000000000..68f8b1ff2e8 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_BatchTranslateText_sync] +from google.cloud import translate_v3 + + +def sample_batch_translate_text(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py new file mode 100644 index 00000000000..a407ed4613a --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_CreateGlossary_async] +from google.cloud import translate_v3 + + +async def sample_create_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + glossary = translate_v3.Glossary() + glossary.name = "name_value" + + request = translate_v3.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py new file mode 100644 index 00000000000..68fcc191eeb --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_CreateGlossary_sync] +from google.cloud import translate_v3 + + +def sample_create_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + glossary = translate_v3.Glossary() + glossary.name = "name_value" + + request = translate_v3.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py new file mode 100644 index 00000000000..9e859d68709 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_DeleteGlossary_async] +from google.cloud import translate_v3 + + +async def sample_delete_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py new file mode 100644 index 00000000000..e397a1bda26 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_DeleteGlossary_sync] +from google.cloud import translate_v3 + + +def sample_delete_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py new file mode 100644 index 00000000000..3539d116af0 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_DetectLanguage_async] +from google.cloud import translate_v3 + + +async def sample_detect_language(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = await client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py new file mode 100644 index 00000000000..5f76924c8d7 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_DetectLanguage_sync] +from google.cloud import translate_v3 + + +def sample_detect_language(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py new file mode 100644 index 00000000000..ffd2fd34e3f --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_GetGlossary_async] +from google.cloud import translate_v3 + + +async def sample_get_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = await client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py new file mode 100644 index 00000000000..751b4dad21b --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_GetGlossary_sync] +from google.cloud import translate_v3 + + +def sample_get_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py new file mode 100644 index 00000000000..279fe4fd386 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_GetSupportedLanguages_async] +from google.cloud import translate_v3 + + +async def sample_get_supported_languages(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = await client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py new file mode 100644 index 00000000000..378d3328bf9 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_GetSupportedLanguages_sync] +from google.cloud import translate_v3 + + +def sample_get_supported_languages(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py new file mode 100644 index 00000000000..30ea3da67b8 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_ListGlossaries_async] +from google.cloud import translate_v3 + + +async def sample_list_glossaries(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END translate_generated_translate_v3_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py new file mode 100644 index 00000000000..3b67db9b1e4 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_ListGlossaries_sync] +from google.cloud import translate_v3 + + +def sample_list_glossaries(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END translate_generated_translate_v3_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py new file mode 100644 index 00000000000..533078a965f --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_TranslateDocument_async] +from google.cloud import translate_v3 + + +async def sample_translate_document(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + document_input_config = translate_v3.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = await client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py new file mode 100644 index 00000000000..b6f4c1a9531 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_TranslateDocument_sync] +from google.cloud import translate_v3 + + +def sample_translate_document(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + document_input_config = translate_v3.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py new file mode 100644 index 00000000000..8d20de78686 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_TranslateText_async] +from google.cloud import translate_v3 + + +async def sample_translate_text(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = await client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py new file mode 100644 index 00000000000..458d11cd71d --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3_TranslationService_TranslateText_sync] +from google.cloud import translate_v3 + + +def sample_translate_text(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py new file mode 100644 index 00000000000..60bb5b44459 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_async] +from google.cloud import translate_v3beta1 + + +async def sample_batch_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py new file mode 100644 index 00000000000..c8095f5734b --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_sync] +from google.cloud import translate_v3beta1 + + +def sample_batch_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py new file mode 100644 index 00000000000..b3406405f01 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_async] +from google.cloud import translate_v3beta1 + + +async def sample_batch_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py new file mode 100644 index 00000000000..ab674d3d4ab --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_sync] +from google.cloud import translate_v3beta1 + + +def sample_batch_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py new file mode 100644 index 00000000000..548c6439ae7 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_CreateGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_create_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + glossary = translate_v3beta1.Glossary() + glossary.name = "name_value" + + request = translate_v3beta1.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py new file mode 100644 index 00000000000..9898c15e1db --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_CreateGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_create_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + glossary = translate_v3beta1.Glossary() + glossary.name = "name_value" + + request = translate_v3beta1.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py new file mode 100644 index 00000000000..09de10c8920 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_delete_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py new file mode 100644 index 00000000000..fca8fca28bf --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_delete_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py new file mode 100644 index 00000000000..021bde2e245 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_DetectLanguage_async] +from google.cloud import translate_v3beta1 + + +async def sample_detect_language(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = await client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py new file mode 100644 index 00000000000..5d88e95b258 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_DetectLanguage_sync] +from google.cloud import translate_v3beta1 + + +def sample_detect_language(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py new file mode 100644 index 00000000000..50363956378 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_GetGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_get_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = await client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py new file mode 100644 index 00000000000..8160d982e7b --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_GetGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_get_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py new file mode 100644 index 00000000000..641f6bedabe --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_async] +from google.cloud import translate_v3beta1 + + +async def sample_get_supported_languages(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = await client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py new file mode 100644 index 00000000000..4f5aef8f219 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_sync] +from google.cloud import translate_v3beta1 + + +def sample_get_supported_languages(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py new file mode 100644 index 00000000000..f1a9688c202 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_ListGlossaries_async] +from google.cloud import translate_v3beta1 + + +async def sample_list_glossaries(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py new file mode 100644 index 00000000000..d2a81deee15 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_ListGlossaries_sync] +from google.cloud import translate_v3beta1 + + +def sample_list_glossaries(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py new file mode 100644 index 00000000000..0593c6dafc6 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_TranslateDocument_async] +from google.cloud import translate_v3beta1 + + +async def sample_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + document_input_config = translate_v3beta1.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3beta1.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = await client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py new file mode 100644 index 00000000000..2deac12ae49 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_TranslateDocument_sync] +from google.cloud import translate_v3beta1 + + +def sample_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + document_input_config = translate_v3beta1.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3beta1.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py new file mode 100644 index 00000000000..5228dc9a718 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_TranslateText_async] +from google.cloud import translate_v3beta1 + + +async def sample_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = await client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py new file mode 100644 index 00000000000..d24cc2f2769 --- /dev/null +++ b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_generated_translate_v3beta1_TranslationService_TranslateText_sync] +from google.cloud import translate_v3beta1 + + +def sample_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_generated_translate_v3beta1_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py new file mode 100644 index 00000000000..61d5255af15 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_BatchTranslateDocument_async] +from google.cloud import translate_v3 + + +async def sample_batch_translate_document(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py new file mode 100644 index 00000000000..fe994910e84 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_BatchTranslateDocument_sync] +from google.cloud import translate_v3 + + +def sample_batch_translate_document(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py new file mode 100644 index 00000000000..79b23f339af --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_BatchTranslateText_async] +from google.cloud import translate_v3 + + +async def sample_batch_translate_text(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py new file mode 100644 index 00000000000..99a45b93bb7 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_BatchTranslateText_sync] +from google.cloud import translate_v3 + + +def sample_batch_translate_text(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py new file mode 100644 index 00000000000..bb1958164e9 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_CreateGlossary_async] +from google.cloud import translate_v3 + + +async def sample_create_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + glossary = translate_v3.Glossary() + glossary.name = "name_value" + + request = translate_v3.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py new file mode 100644 index 00000000000..e99fca043cf --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_CreateGlossary_sync] +from google.cloud import translate_v3 + + +def sample_create_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + glossary = translate_v3.Glossary() + glossary.name = "name_value" + + request = translate_v3.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py new file mode 100644 index 00000000000..99b02b8e2ea --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_DeleteGlossary_async] +from google.cloud import translate_v3 + + +async def sample_delete_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py new file mode 100644 index 00000000000..8691e1b030d --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_DeleteGlossary_sync] +from google.cloud import translate_v3 + + +def sample_delete_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py new file mode 100644 index 00000000000..3eff2228a3a --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_DetectLanguage_async] +from google.cloud import translate_v3 + + +async def sample_detect_language(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = await client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py new file mode 100644 index 00000000000..fd1b85e201c --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_DetectLanguage_sync] +from google.cloud import translate_v3 + + +def sample_detect_language(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py new file mode 100644 index 00000000000..2274c719210 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_GetGlossary_async] +from google.cloud import translate_v3 + + +async def sample_get_glossary(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = await client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py new file mode 100644 index 00000000000..e11c7ed7b73 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_GetGlossary_sync] +from google.cloud import translate_v3 + + +def sample_get_glossary(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py new file mode 100644 index 00000000000..2bf9d68808a --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_GetSupportedLanguages_async] +from google.cloud import translate_v3 + + +async def sample_get_supported_languages(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = await client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py new file mode 100644 index 00000000000..d23a8aca120 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_GetSupportedLanguages_sync] +from google.cloud import translate_v3 + + +def sample_get_supported_languages(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py new file mode 100644 index 00000000000..d3616f0fcf5 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_ListGlossaries_async] +from google.cloud import translate_v3 + + +async def sample_list_glossaries(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END translate_v3_generated_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py new file mode 100644 index 00000000000..4e3dfa7b950 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_ListGlossaries_sync] +from google.cloud import translate_v3 + + +def sample_list_glossaries(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END translate_v3_generated_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py new file mode 100644 index 00000000000..9c1902a802a --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_TranslateDocument_async] +from google.cloud import translate_v3 + + +async def sample_translate_document(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + document_input_config = translate_v3.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = await client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py new file mode 100644 index 00000000000..f5a301d3b43 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_TranslateDocument_sync] +from google.cloud import translate_v3 + + +def sample_translate_document(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + document_input_config = translate_v3.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py new file mode 100644 index 00000000000..afe0e2536c0 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_TranslateText_async] +from google.cloud import translate_v3 + + +async def sample_translate_text(): + # Create a client + client = translate_v3.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = await client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py new file mode 100644 index 00000000000..45fc51c5289 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3_generated_TranslationService_TranslateText_sync] +from google.cloud import translate_v3 + + +def sample_translate_text(): + # Create a client + client = translate_v3.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_v3_generated_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py new file mode 100644 index 00000000000..b062bac5e2c --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async] +from google.cloud import translate_v3beta1 + + +async def sample_batch_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py new file mode 100644 index 00000000000..0bc01520009 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync] +from google.cloud import translate_v3beta1 + + +def sample_batch_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.BatchDocumentInputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.BatchDocumentOutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateDocumentRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_document(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py new file mode 100644 index 00000000000..fb29a3c8223 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_BatchTranslateText_async] +from google.cloud import translate_v3beta1 + + +async def sample_batch_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py new file mode 100644 index 00000000000..abfb2f2fb2d --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for BatchTranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_BatchTranslateText_sync] +from google.cloud import translate_v3beta1 + + +def sample_batch_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + input_configs = translate_v3beta1.InputConfig() + input_configs.gcs_source.input_uri = "input_uri_value" + + output_config = translate_v3beta1.OutputConfig() + output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" + + request = translate_v3beta1.BatchTranslateTextRequest( + parent="parent_value", + source_language_code="source_language_code_value", + target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + input_configs=input_configs, + output_config=output_config, + ) + + # Make the request + operation = client.batch_translate_text(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py new file mode 100644 index 00000000000..89493d7b6b7 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_CreateGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_create_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + glossary = translate_v3beta1.Glossary() + glossary.name = "name_value" + + request = translate_v3beta1.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py new file mode 100644 index 00000000000..5d77d67965c --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for CreateGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_CreateGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_create_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + glossary = translate_v3beta1.Glossary() + glossary.name = "name_value" + + request = translate_v3beta1.CreateGlossaryRequest( + parent="parent_value", + glossary=glossary, + ) + + # Make the request + operation = client.create_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py new file mode 100644 index 00000000000..29b4b0586e8 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_DeleteGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_delete_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py new file mode 100644 index 00000000000..5be4849812c --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DeleteGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_DeleteGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_delete_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.DeleteGlossaryRequest( + name="name_value", + ) + + # Make the request + operation = client.delete_glossary(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py new file mode 100644 index 00000000000..186db7fd850 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_DetectLanguage_async] +from google.cloud import translate_v3beta1 + + +async def sample_detect_language(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = await client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py new file mode 100644 index 00000000000..20e973fc33b --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for DetectLanguage +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_DetectLanguage_sync] +from google.cloud import translate_v3beta1 + + +def sample_detect_language(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.DetectLanguageRequest( + content="content_value", + parent="parent_value", + ) + + # Make the request + response = client.detect_language(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py new file mode 100644 index 00000000000..8622506f896 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_GetGlossary_async] +from google.cloud import translate_v3beta1 + + +async def sample_get_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = await client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py new file mode 100644 index 00000000000..44146f48fb1 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetGlossary +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_GetGlossary_sync] +from google.cloud import translate_v3beta1 + + +def sample_get_glossary(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetGlossaryRequest( + name="name_value", + ) + + # Make the request + response = client.get_glossary(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py new file mode 100644 index 00000000000..db1d922d915 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async] +from google.cloud import translate_v3beta1 + + +async def sample_get_supported_languages(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = await client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py new file mode 100644 index 00000000000..788bab5ee84 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for GetSupportedLanguages +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync] +from google.cloud import translate_v3beta1 + + +def sample_get_supported_languages(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.GetSupportedLanguagesRequest( + parent="parent_value", + ) + + # Make the request + response = client.get_supported_languages(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py new file mode 100644 index 00000000000..db19a5678fa --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_ListGlossaries_async] +from google.cloud import translate_v3beta1 + + +async def sample_list_glossaries(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END translate_v3beta1_generated_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py new file mode 100644 index 00000000000..7d5525023a4 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for ListGlossaries +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_ListGlossaries_sync] +from google.cloud import translate_v3beta1 + + +def sample_list_glossaries(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.ListGlossariesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_glossaries(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END translate_v3beta1_generated_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py new file mode 100644 index 00000000000..4c96d229aa8 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_TranslateDocument_async] +from google.cloud import translate_v3beta1 + + +async def sample_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + document_input_config = translate_v3beta1.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3beta1.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = await client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py new file mode 100644 index 00000000000..2c1ff501caa --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateDocument +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_TranslateDocument_sync] +from google.cloud import translate_v3beta1 + + +def sample_translate_document(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + document_input_config = translate_v3beta1.DocumentInputConfig() + document_input_config.content = b'content_blob' + + request = translate_v3beta1.TranslateDocumentRequest( + parent="parent_value", + target_language_code="target_language_code_value", + document_input_config=document_input_config, + ) + + # Make the request + response = client.translate_document(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py new file mode 100644 index 00000000000..83b22d702a3 --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_TranslateText_async] +from google.cloud import translate_v3beta1 + + +async def sample_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceAsyncClient() + + # Initialize request argument(s) + request = translate_v3beta1.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = await client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py new file mode 100644 index 00000000000..2d082aabbfd --- /dev/null +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Generated code. DO NOT EDIT! +# +# Snippet for TranslateText +# NOTE: This snippet has been automatically generated for illustrative purposes only. +# It may require modifications to work in your environment. + +# To install the latest published package dependency, execute the following: +# python3 -m pip install google-cloud-translate + + +# [START translate_v3beta1_generated_TranslationService_TranslateText_sync] +from google.cloud import translate_v3beta1 + + +def sample_translate_text(): + # Create a client + client = translate_v3beta1.TranslationServiceClient() + + # Initialize request argument(s) + request = translate_v3beta1.TranslateTextRequest( + contents=['contents_value_1', 'contents_value_2'], + target_language_code="target_language_code_value", + parent="parent_value", + ) + + # Make the request + response = client.translate_text(request=request) + + # Handle the response + print(response) + +# [END translate_v3beta1_generated_TranslationService_TranslateText_sync] From a77aaeb738f878954cf15989314537f8f0d81b1a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 26 Feb 2022 06:30:20 -0500 Subject: [PATCH 229/270] chore: update copyright year to 2022 (#339) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update copyright year to 2022 PiperOrigin-RevId: 431037888 Source-Link: https://github.com/googleapis/googleapis/commit/b3397f5febbf21dfc69b875ddabaf76bee765058 Source-Link: https://github.com/googleapis/googleapis-gen/commit/510b54e1cdefd53173984df16645081308fe897e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTEwYjU0ZTFjZGVmZDUzMTczOTg0ZGYxNjY0NTA4MTMwOGZlODk3ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- ...erated_translation_service_batch_translate_document_async.py | 2 +- ...nerated_translation_service_batch_translate_document_sync.py | 2 +- ..._generated_translation_service_batch_translate_text_async.py | 2 +- ...3_generated_translation_service_batch_translate_text_sync.py | 2 +- ...te_v3_generated_translation_service_create_glossary_async.py | 2 +- ...ate_v3_generated_translation_service_create_glossary_sync.py | 2 +- ...te_v3_generated_translation_service_delete_glossary_async.py | 2 +- ...ate_v3_generated_translation_service_delete_glossary_sync.py | 2 +- ...te_v3_generated_translation_service_detect_language_async.py | 2 +- ...ate_v3_generated_translation_service_detect_language_sync.py | 2 +- ...slate_v3_generated_translation_service_get_glossary_async.py | 2 +- ...nslate_v3_generated_translation_service_get_glossary_sync.py | 2 +- ...nerated_translation_service_get_supported_languages_async.py | 2 +- ...enerated_translation_service_get_supported_languages_sync.py | 2 +- ...te_v3_generated_translation_service_list_glossaries_async.py | 2 +- ...ate_v3_generated_translation_service_list_glossaries_sync.py | 2 +- ...v3_generated_translation_service_translate_document_async.py | 2 +- ..._v3_generated_translation_service_translate_document_sync.py | 2 +- ...ate_v3_generated_translation_service_translate_text_async.py | 2 +- ...late_v3_generated_translation_service_translate_text_sync.py | 2 +- ...erated_translation_service_batch_translate_document_async.py | 2 +- ...nerated_translation_service_batch_translate_document_sync.py | 2 +- ..._generated_translation_service_batch_translate_text_async.py | 2 +- ...1_generated_translation_service_batch_translate_text_sync.py | 2 +- ...beta1_generated_translation_service_create_glossary_async.py | 2 +- ...3beta1_generated_translation_service_create_glossary_sync.py | 2 +- ...beta1_generated_translation_service_delete_glossary_async.py | 2 +- ...3beta1_generated_translation_service_delete_glossary_sync.py | 2 +- ...beta1_generated_translation_service_detect_language_async.py | 2 +- ...3beta1_generated_translation_service_detect_language_sync.py | 2 +- ..._v3beta1_generated_translation_service_get_glossary_async.py | 2 +- ...e_v3beta1_generated_translation_service_get_glossary_sync.py | 2 +- ...nerated_translation_service_get_supported_languages_async.py | 2 +- ...enerated_translation_service_get_supported_languages_sync.py | 2 +- ...beta1_generated_translation_service_list_glossaries_async.py | 2 +- ...3beta1_generated_translation_service_list_glossaries_sync.py | 2 +- ...a1_generated_translation_service_translate_document_async.py | 2 +- ...ta1_generated_translation_service_translate_document_sync.py | 2 +- ...3beta1_generated_translation_service_translate_text_async.py | 2 +- ...v3beta1_generated_translation_service_translate_text_sync.py | 2 +- 40 files changed, 40 insertions(+), 40 deletions(-) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py index 61d5255af15..9c2370f1865 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py index fe994910e84..71148ff6e0b 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py index 79b23f339af..031a248d6dd 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py index 99a45b93bb7..b761dcc148f 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py index bb1958164e9..aa0f4757bc1 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py index e99fca043cf..1112c5dc8ce 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py index 99b02b8e2ea..abc94843b4c 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py index 8691e1b030d..7d6a8c6f671 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py index 3eff2228a3a..cd36e29951a 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py index fd1b85e201c..f1181fdba11 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py index 2274c719210..9f2181abe52 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py index e11c7ed7b73..95279e143e8 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py index 2bf9d68808a..8b00aba31aa 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py index d23a8aca120..e9c5d2ae58c 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py index d3616f0fcf5..828220d56b0 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py index 4e3dfa7b950..3e312463f69 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py index 9c1902a802a..5b14a9f0c8b 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py index f5a301d3b43..850c6bd24f5 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py index afe0e2536c0..4f5332d193f 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py index 45fc51c5289..7d3b71e7753 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py index b062bac5e2c..f7c9db2c5d6 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py index 0bc01520009..13002abba57 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py index fb29a3c8223..b8420e65f1b 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py index abfb2f2fb2d..c9a05c3f7d9 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py index 89493d7b6b7..bd7ccfbcfd9 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py index 5d77d67965c..0482c4a3bfc 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py index 29b4b0586e8..37e6cbd4d75 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py index 5be4849812c..85c5d1a7ac9 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py index 186db7fd850..60b84ae7899 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py index 20e973fc33b..41b613ab1ce 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py index 8622506f896..ca21ec9bb92 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py index 44146f48fb1..05b6150a701 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py index db1d922d915..ad778d7e71f 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py index 788bab5ee84..e876c5058ef 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py index db19a5678fa..3861889fc92 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py index 7d5525023a4..45a9bbf3043 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py index 4c96d229aa8..48d36f87116 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py index 2c1ff501caa..17e11f0a5e9 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py index 83b22d702a3..13b945fc921 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py index 2d082aabbfd..ce4a042a719 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From 6da5916295258d47b0f360e4a32c3e89b0ad20c2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 26 Feb 2022 20:14:46 +0100 Subject: [PATCH 230/270] chore(deps): update all dependencies (#335) Co-authored-by: Anthonios Partheniou --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- .../samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- translation/samples/snippets/requirements.txt | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 927094516e6..c2845bffbe8 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==6.2.5 +pytest==7.0.1 diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index c67184779ae..a03674b3843 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.6.1 +google-cloud-translate==3.7.0 google-cloud-vision==2.6.3 google-cloud-texttospeech==2.10.0 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 23bba2f0c07..c4bb1f1cdc5 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.11.1 flaky==3.7.0 -pytest==6.2.5 +pytest==7.0.1 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 8c51bb99a05..4e66f260527 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.6.1 +google-cloud-translate==3.7.0 google-cloud-storage==2.1.0 -google-cloud-automl==2.6.0 +google-cloud-automl==2.7.0 From c9ebf007389df6b3c83a336ce0526e164a8fb5b4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 1 Mar 2022 12:18:40 +0100 Subject: [PATCH 231/270] chore(deps): update all dependencies (#342) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index a03674b3843..4d5104941d9 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.0 -google-cloud-vision==2.6.3 -google-cloud-texttospeech==2.10.0 +google-cloud-translate==3.7.1 +google-cloud-vision==2.7.0 +google-cloud-texttospeech==2.10.1 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 4e66f260527..c06e16415e5 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.0 +google-cloud-translate==3.7.1 google-cloud-storage==2.1.0 -google-cloud-automl==2.7.0 +google-cloud-automl==2.7.1 From 6a3c6139c3ad88509b9381494f6f228672123801 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 4 Mar 2022 13:28:16 -0500 Subject: [PATCH 232/270] chore: Adding support for pytest-xdist and pytest-parallel (#349) Source-Link: https://github.com/googleapis/synthtool/commit/82f5cb283efffe96e1b6cd634738e0e7de2cd90a Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:5d8da01438ece4021d135433f2cf3227aa39ef0eaccc941d62aa35e6902832ae Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .../snippets/hybrid_glossaries/noxfile.py | 80 +++++++++++-------- translation/samples/snippets/noxfile.py | 80 +++++++++++-------- 2 files changed, 92 insertions(+), 68 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 20cdfc62013..4c808af73ea 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -188,42 +188,54 @@ def _session_tests( # check for presence of tests test_list = glob.glob("*_test.py") + glob.glob("test_*.py") test_list.extend(glob.glob("tests")) + if len(test_list) == 0: print("No tests found, skipping directory.") - else: - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) - else: - session.install("-r", "requirements-test.txt") - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) + return + + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") + """Runs py.test for a particular project.""" + concurrent_args = [] + if os.path.exists("requirements.txt"): + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") + with open("requirements.txt") as rfile: + packages = rfile.read() + + if os.path.exists("requirements-test.txt"): + if os.path.exists("constraints-test.txt"): + session.install( + "-r", "requirements-test.txt", "-c", "constraints-test.txt" + ) + else: + session.install("-r", "requirements-test.txt") + with open("requirements-test.txt") as rtfile: + packages += rtfile.read() + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + if "pytest-parallel" in packages: + concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) + elif "pytest-xdist" in packages: + concurrent_args.extend(['-n', 'auto']) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs + concurrent_args), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars(), + ) @nox.session(python=ALL_VERSIONS) diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 20cdfc62013..4c808af73ea 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -188,42 +188,54 @@ def _session_tests( # check for presence of tests test_list = glob.glob("*_test.py") + glob.glob("test_*.py") test_list.extend(glob.glob("tests")) + if len(test_list) == 0: print("No tests found, skipping directory.") - else: - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) - else: - session.install("-r", "requirements-test.txt") - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) + return + + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") + """Runs py.test for a particular project.""" + concurrent_args = [] + if os.path.exists("requirements.txt"): + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") + with open("requirements.txt") as rfile: + packages = rfile.read() + + if os.path.exists("requirements-test.txt"): + if os.path.exists("constraints-test.txt"): + session.install( + "-r", "requirements-test.txt", "-c", "constraints-test.txt" + ) + else: + session.install("-r", "requirements-test.txt") + with open("requirements-test.txt") as rtfile: + packages += rtfile.read() + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + if "pytest-parallel" in packages: + concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) + elif "pytest-xdist" in packages: + concurrent_args.extend(['-n', 'auto']) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs + concurrent_args), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars(), + ) @nox.session(python=ALL_VERSIONS) From bf4612e3f5bebbbd6007241119fbf40b954ba4a9 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 8 Mar 2022 02:42:32 +0100 Subject: [PATCH 233/270] chore(deps): update all dependencies (#352) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 4d5104941d9..7a57ff67959 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.1 -google-cloud-vision==2.7.0 -google-cloud-texttospeech==2.10.1 +google-cloud-translate==3.7.2 +google-cloud-vision==2.7.1 +google-cloud-texttospeech==2.10.2 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index c06e16415e5..74e05f5a8da 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.1 +google-cloud-translate==3.7.2 google-cloud-storage==2.1.0 -google-cloud-automl==2.7.1 +google-cloud-automl==2.7.2 From 283c83e1a7e1bf0174dbd370eae27c53e0353887 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 12 Mar 2022 17:41:17 +0100 Subject: [PATCH 234/270] chore(deps): update dependency google-cloud-texttospeech to v2.11.0 (#355) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 7a57ff67959..556a3964ca1 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.7.2 google-cloud-vision==2.7.1 -google-cloud-texttospeech==2.10.2 +google-cloud-texttospeech==2.11.0 From f34f5a7d7700b19e649848921b3cb480c5374573 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sun, 13 Mar 2022 21:04:38 +0100 Subject: [PATCH 235/270] chore(deps): update dependency pytest to v7.1.0 (#356) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index c2845bffbe8..824a8a7a0ce 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.0 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index c4bb1f1cdc5..67c3304f12f 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.11.1 flaky==3.7.0 -pytest==7.0.1 +pytest==7.1.0 From d4889d51304eefdab63cf0a5b1f7fa3f7db185aa Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 14 Mar 2022 21:22:11 +0100 Subject: [PATCH 236/270] chore(deps): update dependency google-cloud-storage to v2.2.0 (#357) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 74e05f5a8da..7d4d3b5d4db 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.7.2 -google-cloud-storage==2.1.0 +google-cloud-storage==2.2.0 google-cloud-automl==2.7.2 From 3585d46e69ba659d8b7ef5c2e752644ce04438f7 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 16 Mar 2022 12:33:58 +0100 Subject: [PATCH 237/270] chore(deps): update dependency google-cloud-storage to v2.2.1 (#358) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 7d4d3b5d4db..9f078ad3856 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.7.2 -google-cloud-storage==2.2.0 +google-cloud-storage==2.2.1 google-cloud-automl==2.7.2 From 0a36b675496a9b6d4cf1d2bb0801535e20605401 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 19 Mar 2022 11:08:28 +0100 Subject: [PATCH 238/270] chore(deps): update dependency pytest to v7.1.1 (#359) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 824a8a7a0ce..4f6bf643fc5 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.0 +pytest==7.1.1 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 67c3304f12f..8479de711c3 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.11.1 flaky==3.7.0 -pytest==7.1.0 +pytest==7.1.1 From bb592734b58a7fb4f3e64d8e5343c3ca7f7cb9af Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 01:06:10 +0000 Subject: [PATCH 239/270] chore(python): use black==22.3.0 (#363) Source-Link: https://github.com/googleapis/synthtool/commit/6fab84af09f2cf89a031fd8671d1def6b2931b11 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 2 +- translation/samples/snippets/noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 4c808af73ea..949e0fde9ae 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 4c808af73ea..949e0fde9ae 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. From 368c21768e7a14b2cc47e5296a2c0552e52f7057 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 30 Mar 2022 16:44:35 +0200 Subject: [PATCH 240/270] chore(deps): update dependency google-cloud-vision to v2.7.2 (#362) Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 556a3964ca1..5aebfa45c01 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.7.2 -google-cloud-vision==2.7.1 +google-cloud-vision==2.7.2 google-cloud-texttospeech==2.11.0 From 9a654414a9c8d80f318c2d26aee6915c9877a7c1 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 14 Apr 2022 01:56:43 +0200 Subject: [PATCH 241/270] chore(deps): update dependency google-cloud-storage to v2.3.0 (#378) --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 9f078ad3856..f4595e3965f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.7.2 -google-cloud-storage==2.2.1 +google-cloud-storage==2.3.0 google-cloud-automl==2.7.2 From 364fa528e86e95158f956f83a0bdad10a1edba04 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 17:12:14 +0000 Subject: [PATCH 242/270] chore: use gapic-generator-python 0.65.1 (#377) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 441524537 Source-Link: https://github.com/googleapis/googleapis/commit/2a273915b3f70fe86c9d2a75470a0b83e48d0abf Source-Link: https://github.com/googleapis/googleapis-gen/commit/ab6756a48c89b5bcb9fb73443cb8e55d574f4643 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWI2NzU2YTQ4Yzg5YjViY2I5ZmI3MzQ0M2NiOGU1NWQ1NzRmNDY0MyJ9 docs: fix type in docstring for map fields --- .../snippet_metadata_translate_v3.json | 914 +++++++++++++++++- .../snippet_metadata_translate_v3beta1.json | 866 ++++++++++++++++- 2 files changed, 1700 insertions(+), 80 deletions(-) diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3.json b/translation/samples/generated_samples/snippet_metadata_translate_v3.json index 32c166f1edf..cbcf5cb6e30 100644 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3.json +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3.json @@ -1,16 +1,77 @@ { + "clientLibrary": { + "apis": [ + { + "id": "google.cloud.translation.v3", + "version": "v3" + } + ], + "language": "PYTHON", + "name": "google-cloud-translate" + }, "snippets": [ { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.batch_translate_document", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateDocument", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.BatchTranslateDocumentRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "target_language_codes", + "type": "Sequence[str]" + }, + { + "name": "input_configs", + "type": "Sequence[google.cloud.translate_v3.types.BatchDocumentInputConfig]" + }, + { + "name": "output_config", + "type": "google.cloud.translate_v3.types.BatchDocumentOutputConfig" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "batch_translate_document" }, + "description": "Sample for BatchTranslateDocument", "file": "translate_v3_generated_translation_service_batch_translate_document_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_async", "segments": [ { @@ -43,18 +104,70 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_batch_translate_document_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.batch_translate_document", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateDocument", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.BatchTranslateDocumentRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "target_language_codes", + "type": "Sequence[str]" + }, + { + "name": "input_configs", + "type": "Sequence[google.cloud.translate_v3.types.BatchDocumentInputConfig]" + }, + { + "name": "output_config", + "type": "google.cloud.translate_v3.types.BatchDocumentOutputConfig" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "batch_translate_document" }, + "description": "Sample for BatchTranslateDocument", "file": "translate_v3_generated_translation_service_batch_translate_document_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_sync", "segments": [ { @@ -87,19 +200,51 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_batch_translate_document_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.batch_translate_text", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateText", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.BatchTranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "batch_translate_text" }, + "description": "Sample for BatchTranslateText", "file": "translate_v3_generated_translation_service_batch_translate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_async", "segments": [ { @@ -132,18 +277,50 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_batch_translate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.batch_translate_text", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateText", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.BatchTranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "batch_translate_text" }, + "description": "Sample for BatchTranslateText", "file": "translate_v3_generated_translation_service_batch_translate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_sync", "segments": [ { @@ -176,19 +353,59 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_batch_translate_text_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.create_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.CreateGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "CreateGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.CreateGlossaryRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "glossary", + "type": "google.cloud.translate_v3.types.Glossary" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "create_glossary" }, + "description": "Sample for CreateGlossary", "file": "translate_v3_generated_translation_service_create_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_async", "segments": [ { @@ -221,18 +438,58 @@ "start": 50, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_create_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.create_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.CreateGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "CreateGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.CreateGlossaryRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "glossary", + "type": "google.cloud.translate_v3.types.Glossary" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "create_glossary" }, + "description": "Sample for CreateGlossary", "file": "translate_v3_generated_translation_service_create_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_sync", "segments": [ { @@ -265,19 +522,55 @@ "start": 50, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_create_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.delete_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.DeleteGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "DeleteGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.DeleteGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "delete_glossary" }, + "description": "Sample for DeleteGlossary", "file": "translate_v3_generated_translation_service_delete_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_async", "segments": [ { @@ -310,18 +603,54 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_delete_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.delete_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.DeleteGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "DeleteGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.DeleteGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "delete_glossary" }, + "description": "Sample for DeleteGlossary", "file": "translate_v3_generated_translation_service_delete_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_sync", "segments": [ { @@ -354,19 +683,67 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_delete_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.detect_language", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.DetectLanguage", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "DetectLanguage" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.DetectLanguageRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "content", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.DetectLanguageResponse", + "shortName": "detect_language" }, + "description": "Sample for DetectLanguage", "file": "translate_v3_generated_translation_service_detect_language_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_async", "segments": [ { @@ -399,18 +776,66 @@ "start": 43, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_detect_language_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.detect_language", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.DetectLanguage", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "DetectLanguage" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.DetectLanguageRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "content", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.DetectLanguageResponse", + "shortName": "detect_language" }, + "description": "Sample for DetectLanguage", "file": "translate_v3_generated_translation_service_detect_language_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_sync", "segments": [ { @@ -443,19 +868,55 @@ "start": 43, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_detect_language_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.get_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.GetGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "GetGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.GetGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.Glossary", + "shortName": "get_glossary" }, + "description": "Sample for GetGlossary", "file": "translate_v3_generated_translation_service_get_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_GetGlossary_async", "segments": [ { @@ -488,18 +949,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_get_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.get_glossary", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.GetGlossary", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "GetGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.GetGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.Glossary", + "shortName": "get_glossary" }, + "description": "Sample for GetGlossary", "file": "translate_v3_generated_translation_service_get_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_GetGlossary_sync", "segments": [ { @@ -532,19 +1029,63 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_get_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.get_supported_languages", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.GetSupportedLanguages", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "GetSupportedLanguages" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.GetSupportedLanguagesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "display_language_code", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.SupportedLanguages", + "shortName": "get_supported_languages" }, + "description": "Sample for GetSupportedLanguages", "file": "translate_v3_generated_translation_service_get_supported_languages_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_async", "segments": [ { @@ -577,18 +1118,62 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_get_supported_languages_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.get_supported_languages", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.GetSupportedLanguages", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "GetSupportedLanguages" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.GetSupportedLanguagesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "display_language_code", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.SupportedLanguages", + "shortName": "get_supported_languages" }, + "description": "Sample for GetSupportedLanguages", "file": "translate_v3_generated_translation_service_get_supported_languages_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_sync", "segments": [ { @@ -621,19 +1206,55 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_get_supported_languages_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.list_glossaries", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.ListGlossaries", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "ListGlossaries" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.ListGlossariesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.services.translation_service.pagers.ListGlossariesAsyncPager", + "shortName": "list_glossaries" }, + "description": "Sample for ListGlossaries", "file": "translate_v3_generated_translation_service_list_glossaries_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_async", "segments": [ { @@ -666,18 +1287,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_list_glossaries_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.list_glossaries", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.ListGlossaries", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "ListGlossaries" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.ListGlossariesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.services.translation_service.pagers.ListGlossariesPager", + "shortName": "list_glossaries" }, + "description": "Sample for ListGlossaries", "file": "translate_v3_generated_translation_service_list_glossaries_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_sync", "segments": [ { @@ -710,19 +1367,51 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_list_glossaries_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.translate_document", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.TranslateDocument", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.TranslateDocumentRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.TranslateDocumentResponse", + "shortName": "translate_document" }, + "description": "Sample for TranslateDocument", "file": "translate_v3_generated_translation_service_translate_document_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_async", "segments": [ { @@ -755,18 +1444,50 @@ "start": 47, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_translate_document_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.translate_document", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.TranslateDocument", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.TranslateDocumentRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.TranslateDocumentResponse", + "shortName": "translate_document" }, + "description": "Sample for TranslateDocument", "file": "translate_v3_generated_translation_service_translate_document_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_sync", "segments": [ { @@ -799,19 +1520,75 @@ "start": 47, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_translate_document_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.translate_text", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.TranslateText", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.TranslateTextRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "target_language_code", + "type": "str" + }, + { + "name": "contents", + "type": "Sequence[str]" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.TranslateTextResponse", + "shortName": "translate_text" }, + "description": "Sample for TranslateText", "file": "translate_v3_generated_translation_service_translate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_TranslateText_async", "segments": [ { @@ -844,18 +1621,74 @@ "start": 44, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_translate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3.TranslationServiceClient.translate_text", "method": { + "fullName": "google.cloud.translation.v3.TranslationService.TranslateText", "service": { + "fullName": "google.cloud.translation.v3.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3.types.TranslateTextRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "target_language_code", + "type": "str" + }, + { + "name": "contents", + "type": "Sequence[str]" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3.types.TranslateTextResponse", + "shortName": "translate_text" }, + "description": "Sample for TranslateText", "file": "translate_v3_generated_translation_service_translate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3_generated_TranslationService_TranslateText_sync", "segments": [ { @@ -888,7 +1721,8 @@ "start": 44, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3_generated_translation_service_translate_text_sync.py" } ] } diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json index 537673e5f75..ec61acece9b 100644 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json @@ -1,16 +1,77 @@ { + "clientLibrary": { + "apis": [ + { + "id": "google.cloud.translation.v3beta1", + "version": "v3beta1" + } + ], + "language": "PYTHON", + "name": "google-cloud-translate" + }, "snippets": [ { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.batch_translate_document", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.BatchTranslateDocumentRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "target_language_codes", + "type": "Sequence[str]" + }, + { + "name": "input_configs", + "type": "Sequence[google.cloud.translate_v3beta1.types.BatchDocumentInputConfig]" + }, + { + "name": "output_config", + "type": "google.cloud.translate_v3beta1.types.BatchDocumentOutputConfig" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "batch_translate_document" }, + "description": "Sample for BatchTranslateDocument", "file": "translate_v3beta1_generated_translation_service_batch_translate_document_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async", "segments": [ { @@ -43,18 +104,70 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_batch_translate_document_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.batch_translate_document", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.BatchTranslateDocumentRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "source_language_code", + "type": "str" + }, + { + "name": "target_language_codes", + "type": "Sequence[str]" + }, + { + "name": "input_configs", + "type": "Sequence[google.cloud.translate_v3beta1.types.BatchDocumentInputConfig]" + }, + { + "name": "output_config", + "type": "google.cloud.translate_v3beta1.types.BatchDocumentOutputConfig" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "batch_translate_document" }, + "description": "Sample for BatchTranslateDocument", "file": "translate_v3beta1_generated_translation_service_batch_translate_document_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync", "segments": [ { @@ -87,19 +200,51 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_batch_translate_document_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.batch_translate_text", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateText", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.BatchTranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "batch_translate_text" }, + "description": "Sample for BatchTranslateText", "file": "translate_v3beta1_generated_translation_service_batch_translate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_async", "segments": [ { @@ -132,18 +277,50 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_batch_translate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.batch_translate_text", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateText", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "BatchTranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.BatchTranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "batch_translate_text" }, + "description": "Sample for BatchTranslateText", "file": "translate_v3beta1_generated_translation_service_batch_translate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_sync", "segments": [ { @@ -176,19 +353,59 @@ "start": 56, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_batch_translate_text_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.create_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.CreateGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "CreateGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.CreateGlossaryRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "glossary", + "type": "google.cloud.translate_v3beta1.types.Glossary" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "create_glossary" }, + "description": "Sample for CreateGlossary", "file": "translate_v3beta1_generated_translation_service_create_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_async", "segments": [ { @@ -221,18 +438,58 @@ "start": 50, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_create_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.create_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.CreateGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "CreateGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.CreateGlossaryRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "glossary", + "type": "google.cloud.translate_v3beta1.types.Glossary" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "create_glossary" }, + "description": "Sample for CreateGlossary", "file": "translate_v3beta1_generated_translation_service_create_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_sync", "segments": [ { @@ -265,19 +522,55 @@ "start": 50, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_create_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.delete_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.DeleteGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "DeleteGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.DeleteGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "delete_glossary" }, + "description": "Sample for DeleteGlossary", "file": "translate_v3beta1_generated_translation_service_delete_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_async", "segments": [ { @@ -310,18 +603,54 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_delete_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.delete_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.DeleteGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "DeleteGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.DeleteGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "delete_glossary" }, + "description": "Sample for DeleteGlossary", "file": "translate_v3beta1_generated_translation_service_delete_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_sync", "segments": [ { @@ -354,19 +683,63 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_delete_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.detect_language", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.DetectLanguage", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "DetectLanguage" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.DetectLanguageRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.DetectLanguageResponse", + "shortName": "detect_language" }, + "description": "Sample for DetectLanguage", "file": "translate_v3beta1_generated_translation_service_detect_language_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_async", "segments": [ { @@ -399,18 +772,62 @@ "start": 43, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_detect_language_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.detect_language", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.DetectLanguage", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "DetectLanguage" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.DetectLanguageRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "mime_type", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.DetectLanguageResponse", + "shortName": "detect_language" }, + "description": "Sample for DetectLanguage", "file": "translate_v3beta1_generated_translation_service_detect_language_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_sync", "segments": [ { @@ -443,19 +860,55 @@ "start": 43, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_detect_language_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.get_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.GetGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "GetGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.GetGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.Glossary", + "shortName": "get_glossary" }, + "description": "Sample for GetGlossary", "file": "translate_v3beta1_generated_translation_service_get_glossary_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_async", "segments": [ { @@ -488,18 +941,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_get_glossary_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.get_glossary", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.GetGlossary", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "GetGlossary" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.GetGlossaryRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.Glossary", + "shortName": "get_glossary" }, + "description": "Sample for GetGlossary", "file": "translate_v3beta1_generated_translation_service_get_glossary_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_sync", "segments": [ { @@ -532,19 +1021,63 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_get_glossary_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.get_supported_languages", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "GetSupportedLanguages" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.GetSupportedLanguagesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "display_language_code", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.SupportedLanguages", + "shortName": "get_supported_languages" }, + "description": "Sample for GetSupportedLanguages", "file": "translate_v3beta1_generated_translation_service_get_supported_languages_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async", "segments": [ { @@ -577,18 +1110,62 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_get_supported_languages_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.get_supported_languages", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "GetSupportedLanguages" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.GetSupportedLanguagesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "display_language_code", + "type": "str" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.SupportedLanguages", + "shortName": "get_supported_languages" }, + "description": "Sample for GetSupportedLanguages", "file": "translate_v3beta1_generated_translation_service_get_supported_languages_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync", "segments": [ { @@ -621,19 +1198,59 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_get_supported_languages_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.list_glossaries", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.ListGlossaries", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "ListGlossaries" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.ListGlossariesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "filter", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.services.translation_service.pagers.ListGlossariesAsyncPager", + "shortName": "list_glossaries" }, + "description": "Sample for ListGlossaries", "file": "translate_v3beta1_generated_translation_service_list_glossaries_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_async", "segments": [ { @@ -666,18 +1283,58 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_list_glossaries_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.list_glossaries", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.ListGlossaries", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "ListGlossaries" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.ListGlossariesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "filter", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.services.translation_service.pagers.ListGlossariesPager", + "shortName": "list_glossaries" }, + "description": "Sample for ListGlossaries", "file": "translate_v3beta1_generated_translation_service_list_glossaries_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_sync", "segments": [ { @@ -710,19 +1367,51 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_list_glossaries_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.translate_document", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateDocument", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.TranslateDocumentRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.TranslateDocumentResponse", + "shortName": "translate_document" }, + "description": "Sample for TranslateDocument", "file": "translate_v3beta1_generated_translation_service_translate_document_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_async", "segments": [ { @@ -755,18 +1444,50 @@ "start": 47, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_translate_document_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.translate_document", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateDocument", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateDocument" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.TranslateDocumentRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.TranslateDocumentResponse", + "shortName": "translate_document" }, + "description": "Sample for TranslateDocument", "file": "translate_v3beta1_generated_translation_service_translate_document_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_sync", "segments": [ { @@ -799,19 +1520,51 @@ "start": 47, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_translate_document_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", + "shortName": "TranslationServiceAsyncClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.translate_text", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateText", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.TranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.TranslateTextResponse", + "shortName": "translate_text" }, + "description": "Sample for TranslateText", "file": "translate_v3beta1_generated_translation_service_translate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_async", "segments": [ { @@ -844,18 +1597,50 @@ "start": 44, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_translate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", + "shortName": "TranslationServiceClient" + }, + "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.translate_text", "method": { + "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateText", "service": { + "fullName": "google.cloud.translation.v3beta1.TranslationService", "shortName": "TranslationService" }, "shortName": "TranslateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.translate_v3beta1.types.TranslateTextRequest" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.translate_v3beta1.types.TranslateTextResponse", + "shortName": "translate_text" }, + "description": "Sample for TranslateText", "file": "translate_v3beta1_generated_translation_service_translate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_sync", "segments": [ { @@ -888,7 +1673,8 @@ "start": 44, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "translate_v3beta1_generated_translation_service_translate_text_sync.py" } ] } From 3a6caaee8be7cf8b47733984e136ad88c1f5dc58 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 21 Apr 2022 13:27:40 -0400 Subject: [PATCH 243/270] chore(python): add nox session to sort python imports (#381) Source-Link: https://github.com/googleapis/synthtool/commit/1b71c10e20de7ed3f97f692f99a0e3399b67049f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:00c9d764fd1cd56265f12a5ef4b99a0c9e87cf261018099141e2ca5158890416 Co-authored-by: Owl Bot --- .../snippets/hybrid_glossaries/noxfile.py | 21 +++++++++++++++++++ translation/samples/snippets/noxfile.py | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 949e0fde9ae..38bb0a572b8 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -30,6 +30,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +169,32 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 949e0fde9ae..38bb0a572b8 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -30,6 +30,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +169,32 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # From bd96c41210d91849b8c46d4852be609df5c5ae8d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 25 Apr 2022 17:10:31 +0200 Subject: [PATCH 244/270] chore(deps): update dependency pytest to v7.1.2 (#385) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index 4f6bf643fc5..d00689e0623 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 8479de711c3..bf31abc1290 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==1.11.1 flaky==3.7.0 -pytest==7.1.1 +pytest==7.1.2 From f6760a3b9e58da0aa2418ce4b5fe5f9c90bcfc71 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 27 Apr 2022 00:32:23 +0200 Subject: [PATCH 245/270] chore(deps): update dependency backoff to v2 (#386) * chore(deps): update dependency backoff to v2 * test: backoff wait_gen arg expects a generator Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/requirements-test.txt | 2 +- ...ate_v3_batch_translate_text_with_glossary_test.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index bf31abc1290..a443e90a976 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==1.11.1 +backoff==2.0.0 flaky==3.7.0 pytest==7.1.2 diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py index 088d89779aa..adfbd7e26b9 100644 --- a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py +++ b/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py @@ -45,14 +45,19 @@ def bucket(): def on_backoff(invocation_dict): """Backoff callback; create a testing bucket for each backoff run""" - invocation_dict['kwargs']['bucket'] = next(get_ephemeral_bucket()) + invocation_dict["kwargs"]["bucket"] = next(get_ephemeral_bucket()) # If necessary, retry test function while backing off the timeout sequentially MAX_TIMEOUT = 500 -@backoff.on_exception(wait_gen=lambda : iter([100, 250, 300, MAX_TIMEOUT]), exception=Exception, max_tries=5, on_backoff=on_backoff) +@backoff.on_exception( + wait_gen=lambda: (wait_time for wait_time in [100, 250, 300, MAX_TIMEOUT]), + exception=Exception, + max_tries=5, + on_backoff=on_backoff, +) def test_batch_translate_text_with_glossary(capsys, bucket): translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary( @@ -60,7 +65,8 @@ def test_batch_translate_text_with_glossary(capsys, bucket): "gs://{}/translation/BATCH_TRANSLATION_GLOS_OUTPUT/".format(bucket.name), PROJECT_ID, GLOSSARY_ID, - MAX_TIMEOUT) + MAX_TIMEOUT, + ) out, _ = capsys.readouterr() assert "Total Characters: 9" in out From 9faacdb2f1672dfdfd8095afed95f6360cb8002d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 27 Apr 2022 19:32:33 +0200 Subject: [PATCH 246/270] chore(deps): update dependency backoff to v2.0.1 (#388) --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index a443e90a976..c78317e3fa3 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==2.0.0 +backoff==2.0.1 flaky==3.7.0 pytest==7.1.2 From bdecaf4e0508e98967b1429d2c716cb552e474c5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 19 May 2022 18:14:46 +0200 Subject: [PATCH 247/270] chore(deps): update dependency google-cloud-translate to v3.7.3 (#392) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 5aebfa45c01..1afe8fa1535 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.2 +google-cloud-translate==3.7.3 google-cloud-vision==2.7.2 google-cloud-texttospeech==2.11.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index f4595e3965f..568230e694d 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.2 +google-cloud-translate==3.7.3 google-cloud-storage==2.3.0 google-cloud-automl==2.7.2 From 4632519d147495bab202c738c7a29b385e8aecc5 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 9 Jul 2022 14:45:09 -0400 Subject: [PATCH 248/270] fix: require python 3.7+ (#411) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(python): drop python 3.6 Source-Link: https://github.com/googleapis/synthtool/commit/4f89b13af10d086458f9b379e56a614f9d6dab7b Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c * add api_description to .repo-metadata.json * require python 3.7+ in setup.py * remove python 3.6 sample configs * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 2 +- translation/samples/snippets/noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 38bb0a572b8..5fcb9d7461f 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -89,7 +89,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to test samples. -ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] +ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 38bb0a572b8..5fcb9d7461f 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -89,7 +89,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to test samples. -ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] +ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] From 3414b5b0c221f6fcd284e93e4643a2b7f2eaa90d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 16 Jul 2022 17:17:50 +0200 Subject: [PATCH 249/270] chore(deps): update all dependencies (#400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * revert Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements-test.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 1afe8fa1535..5cb475af296 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.3 -google-cloud-vision==2.7.2 -google-cloud-texttospeech==2.11.0 +google-cloud-translate==3.7.4 +google-cloud-vision==2.7.3 +google-cloud-texttospeech==2.11.1 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index c78317e3fa3..d8b655eb13e 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==2.0.1 +backoff==2.1.2 flaky==3.7.0 pytest==7.1.2 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 568230e694d..e0c5ef08001 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.3 +google-cloud-translate==3.7.4 google-cloud-storage==2.3.0 google-cloud-automl==2.7.2 From 2c8dd176b74dd1d507ea6b9c018090ecef443d3b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 2 Aug 2022 08:32:04 -0400 Subject: [PATCH 250/270] chore: resolve issue with prerelease presubmit [autoapprove] (#417) * chore(python): fix prerelease session [autoapprove] Source-Link: https://github.com/googleapis/synthtool/commit/1b9ad7694e44ddb4d9844df55ff7af77b51a4435 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:9db98b055a7f8bd82351238ccaacfd3cda58cdf73012ab58b8da146368330021 * fix flaky test * fix api_shortname in .repo-metadata.json * use unittest.mock Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/beta_snippets_test.py | 2 +- .../snippets/translate_v3_get_supported_languages_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py index dcb396ed1cf..f925e63f870 100644 --- a/translation/samples/snippets/beta_snippets_test.py +++ b/translation/samples/snippets/beta_snippets_test.py @@ -91,7 +91,7 @@ def test_detect_language(capsys): def test_list_languages(capsys): beta_snippets.list_languages(PROJECT_ID) out, _ = capsys.readouterr() - assert "zh-CN" in out + assert "zh" in out def test_list_languages_with_target(capsys): diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translation/samples/snippets/translate_v3_get_supported_languages_test.py index 4bdc0fa4b14..3a1a9be4cd7 100644 --- a/translation/samples/snippets/translate_v3_get_supported_languages_test.py +++ b/translation/samples/snippets/translate_v3_get_supported_languages_test.py @@ -23,4 +23,4 @@ def test_list_languages(capsys): translate_v3_get_supported_languages.get_supported_languages(PROJECT_ID) out, _ = capsys.readouterr() - assert "zh-CN" in out + assert "zh" in out From a7a688853bc9a1f10a964d4d62fdb4676a0e35cc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 2 Aug 2022 15:59:26 +0200 Subject: [PATCH 251/270] chore(deps): update all dependencies (#420) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * revert Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 5cb475af296..a5aff37e951 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.4 -google-cloud-vision==2.7.3 -google-cloud-texttospeech==2.11.1 +google-cloud-translate==3.8.0 +google-cloud-vision==3.0.0 +google-cloud-texttospeech==2.12.0 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index e0c5ef08001..fac536c2485 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.7.4 -google-cloud-storage==2.3.0 -google-cloud-automl==2.7.2 +google-cloud-translate==3.8.0 +google-cloud-storage==2.4.0 +google-cloud-automl==2.8.0 From adc09a9f5bed219b9140ff76dbcc4e625eb4ecac Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 5 Aug 2022 22:00:09 +0200 Subject: [PATCH 252/270] chore(deps): update all dependencies (#422) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * revert Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index fac536c2485..b0bfb0aa2e4 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.8.0 -google-cloud-storage==2.4.0 +google-cloud-storage==2.5.0 google-cloud-automl==2.8.0 From ba529180a4a857620877d598430b684b1197b718 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 9 Aug 2022 17:13:26 +0200 Subject: [PATCH 253/270] chore(deps): update all dependencies (#423) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * revert Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index a5aff37e951..54ac4e83bc0 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.8.0 -google-cloud-vision==3.0.0 +google-cloud-vision==3.1.0 google-cloud-texttospeech==2.12.0 From a85ad0a53196f1b4de0cd7a1331e9e1548777d68 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 16 Aug 2022 16:40:26 +0200 Subject: [PATCH 254/270] chore(deps): update all dependencies (#428) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 54ac4e83bc0..451362b0257 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.0 -google-cloud-vision==3.1.0 -google-cloud-texttospeech==2.12.0 +google-cloud-translate==3.8.1 +google-cloud-vision==3.1.1 +google-cloud-texttospeech==2.12.1 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index b0bfb0aa2e4..d34c348f192 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.0 +google-cloud-translate==3.8.1 google-cloud-storage==2.5.0 -google-cloud-automl==2.8.0 +google-cloud-automl==2.8.1 From 674f96943fe726af357d13466455e2b8e99a11d0 Mon Sep 17 00:00:00 2001 From: Luciano Martins Date: Thu, 1 Sep 2022 16:36:22 -0300 Subject: [PATCH 255/270] docs(samples): fixing file saving for local documents translation (#419) Co-authored-by: Anthonios Partheniou --- .../samples/snippets/translate_v3beta1_translate_document.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/translate_v3beta1_translate_document.py b/translation/samples/snippets/translate_v3beta1_translate_document.py index 963d1d87acf..23b14f3f73d 100644 --- a/translation/samples/snippets/translate_v3beta1_translate_document.py +++ b/translation/samples/snippets/translate_v3beta1_translate_document.py @@ -43,7 +43,7 @@ def translate_document(project_id: str, file_path: str): # To output the translated document, uncomment the code below. # f = open('/tmp/output', 'wb') - # f.write(response.document_translation.byte_stream_outputs) + # f.write(response.document_translation.byte_stream_outputs[0]) # f.close() # If not provided in the TranslationRequest, the translated file will only be returned through a byte-stream From c3fac2b87f1d18314cbe89cf8528494abbbeccc0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 6 Sep 2022 17:46:44 +0200 Subject: [PATCH 256/270] chore(deps): update dependency pytest to v7.1.3 (#443) * chore(deps): update all dependencies * revert Co-authored-by: Anthonios Partheniou --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index d00689e0623..e07168502ea 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.2 +pytest==7.1.3 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index d8b655eb13e..04a57c64bf0 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==2.1.2 flaky==3.7.0 -pytest==7.1.2 +pytest==7.1.3 From b778ebc3f5f341c1cd7dd1af5e9b38bfe6610328 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 7 Sep 2022 14:18:17 +0000 Subject: [PATCH 257/270] chore: Bump gapic-generator-python version to 1.3.0 (#445) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 472561635 Source-Link: https://github.com/googleapis/googleapis/commit/332ecf599f8e747d8d1213b77ae7db26eff12814 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4313d682880fd9d7247291164d4e9d3d5bd9f177 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDMxM2Q2ODI4ODBmZDlkNzI0NzI5MTE2NGQ0ZTlkM2Q1YmQ5ZjE3NyJ9 --- .../snippet_metadata_translate_v3.json | 400 +++++++++--------- .../snippet_metadata_translate_v3beta1.json | 400 +++++++++--------- ..._service_batch_translate_document_async.py | 9 +- ...n_service_batch_translate_document_sync.py | 9 +- ...tion_service_batch_translate_text_async.py | 9 +- ...ation_service_batch_translate_text_sync.py | 9 +- ...anslation_service_create_glossary_async.py | 7 + ...ranslation_service_create_glossary_sync.py | 7 + ...anslation_service_delete_glossary_async.py | 7 + ...ranslation_service_delete_glossary_sync.py | 7 + ...anslation_service_detect_language_async.py | 7 + ...ranslation_service_detect_language_sync.py | 7 + ..._translation_service_get_glossary_async.py | 7 + ...d_translation_service_get_glossary_sync.py | 7 + ...n_service_get_supported_languages_async.py | 7 + ...on_service_get_supported_languages_sync.py | 7 + ...anslation_service_list_glossaries_async.py | 7 + ...ranslation_service_list_glossaries_sync.py | 7 + ...lation_service_translate_document_async.py | 7 + ...slation_service_translate_document_sync.py | 7 + ...ranslation_service_translate_text_async.py | 9 +- ...translation_service_translate_text_sync.py | 9 +- ..._service_batch_translate_document_async.py | 9 +- ...n_service_batch_translate_document_sync.py | 9 +- ...tion_service_batch_translate_text_async.py | 9 +- ...ation_service_batch_translate_text_sync.py | 9 +- ...anslation_service_create_glossary_async.py | 7 + ...ranslation_service_create_glossary_sync.py | 7 + ...anslation_service_delete_glossary_async.py | 7 + ...ranslation_service_delete_glossary_sync.py | 7 + ...anslation_service_detect_language_async.py | 7 + ...ranslation_service_detect_language_sync.py | 7 + ..._translation_service_get_glossary_async.py | 7 + ...d_translation_service_get_glossary_sync.py | 7 + ...n_service_get_supported_languages_async.py | 7 + ...on_service_get_supported_languages_sync.py | 7 + ...anslation_service_list_glossaries_async.py | 7 + ...ranslation_service_list_glossaries_sync.py | 7 + ...lation_service_translate_document_async.py | 7 + ...slation_service_translate_document_sync.py | 7 + ...ranslation_service_translate_text_async.py | 9 +- ...translation_service_translate_text_sync.py | 9 +- 42 files changed, 692 insertions(+), 412 deletions(-) diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3.json b/translation/samples/generated_samples/snippet_metadata_translate_v3.json index cbcf5cb6e30..f075b7da9b3 100644 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3.json +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3.json @@ -75,33 +75,33 @@ "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_async", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -171,33 +171,33 @@ "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_sync", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -248,33 +248,33 @@ "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_async", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -324,33 +324,33 @@ "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_sync", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -409,33 +409,33 @@ "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_async", "segments": [ { - "end": 52, + "end": 59, "start": 27, "type": "FULL" }, { - "end": 52, + "end": 59, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 42, - "start": 34, + "end": 49, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 49, - "start": 43, + "end": 56, + "start": 50, "type": "REQUEST_EXECUTION" }, { - "end": 53, - "start": 50, + "end": 60, + "start": 57, "type": "RESPONSE_HANDLING" } ], @@ -493,33 +493,33 @@ "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_sync", "segments": [ { - "end": 52, + "end": 59, "start": 27, "type": "FULL" }, { - "end": 52, + "end": 59, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 42, - "start": 34, + "end": 49, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 49, - "start": 43, + "end": 56, + "start": 50, "type": "REQUEST_EXECUTION" }, { - "end": 53, - "start": 50, + "end": 60, + "start": 57, "type": "RESPONSE_HANDLING" } ], @@ -574,33 +574,33 @@ "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_async", "segments": [ { - "end": 48, + "end": 55, "start": 27, "type": "FULL" }, { - "end": 48, + "end": 55, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 45, - "start": 39, + "end": 52, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 49, - "start": 46, + "end": 56, + "start": 53, "type": "RESPONSE_HANDLING" } ], @@ -654,33 +654,33 @@ "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_sync", "segments": [ { - "end": 48, + "end": 55, "start": 27, "type": "FULL" }, { - "end": 48, + "end": 55, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 45, - "start": 39, + "end": 52, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 49, - "start": 46, + "end": 56, + "start": 53, "type": "RESPONSE_HANDLING" } ], @@ -747,33 +747,33 @@ "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_async", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 39, - "start": 34, + "end": 46, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 42, - "start": 40, + "end": 49, + "start": 47, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 43, + "end": 53, + "start": 50, "type": "RESPONSE_HANDLING" } ], @@ -839,33 +839,33 @@ "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_sync", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 39, - "start": 34, + "end": 46, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 42, - "start": 40, + "end": 49, + "start": 47, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 43, + "end": 53, + "start": 50, "type": "RESPONSE_HANDLING" } ], @@ -920,33 +920,33 @@ "regionTag": "translate_v3_generated_TranslationService_GetGlossary_async", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1000,33 +1000,33 @@ "regionTag": "translate_v3_generated_TranslationService_GetGlossary_sync", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1089,33 +1089,33 @@ "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_async", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1177,33 +1177,33 @@ "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_sync", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1258,33 +1258,33 @@ "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_async", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 42, + "end": 53, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1338,33 +1338,33 @@ "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_sync", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 42, + "end": 53, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1415,33 +1415,33 @@ "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_async", "segments": [ { - "end": 49, + "end": 56, "start": 27, "type": "FULL" }, { - "end": 49, + "end": 56, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 43, - "start": 34, + "end": 50, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 46, - "start": 44, + "end": 53, + "start": 51, "type": "REQUEST_EXECUTION" }, { - "end": 50, - "start": 47, + "end": 57, + "start": 54, "type": "RESPONSE_HANDLING" } ], @@ -1491,33 +1491,33 @@ "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_sync", "segments": [ { - "end": 49, + "end": 56, "start": 27, "type": "FULL" }, { - "end": 49, + "end": 56, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 43, - "start": 34, + "end": 50, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 46, - "start": 44, + "end": 53, + "start": 51, "type": "REQUEST_EXECUTION" }, { - "end": 50, - "start": 47, + "end": 57, + "start": 54, "type": "RESPONSE_HANDLING" } ], @@ -1592,33 +1592,33 @@ "regionTag": "translate_v3_generated_TranslationService_TranslateText_async", "segments": [ { - "end": 46, + "end": 53, "start": 27, "type": "FULL" }, { - "end": 46, + "end": 53, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 40, - "start": 34, + "end": 47, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 43, - "start": 41, + "end": 50, + "start": 48, "type": "REQUEST_EXECUTION" }, { - "end": 47, - "start": 44, + "end": 54, + "start": 51, "type": "RESPONSE_HANDLING" } ], @@ -1692,33 +1692,33 @@ "regionTag": "translate_v3_generated_TranslationService_TranslateText_sync", "segments": [ { - "end": 46, + "end": 53, "start": 27, "type": "FULL" }, { - "end": 46, + "end": 53, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 40, - "start": 34, + "end": 47, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 43, - "start": 41, + "end": 50, + "start": 48, "type": "REQUEST_EXECUTION" }, { - "end": 47, - "start": 44, + "end": 54, + "start": 51, "type": "RESPONSE_HANDLING" } ], diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json index ec61acece9b..979b809d938 100644 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json +++ b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json @@ -75,33 +75,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -171,33 +171,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -248,33 +248,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_async", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -324,33 +324,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_sync", "segments": [ { - "end": 58, + "end": 65, "start": 27, "type": "FULL" }, { - "end": 58, + "end": 65, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 48, - "start": 34, + "end": 55, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 55, - "start": 49, + "end": 62, + "start": 56, "type": "REQUEST_EXECUTION" }, { - "end": 59, - "start": 56, + "end": 66, + "start": 63, "type": "RESPONSE_HANDLING" } ], @@ -409,33 +409,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_async", "segments": [ { - "end": 52, + "end": 59, "start": 27, "type": "FULL" }, { - "end": 52, + "end": 59, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 42, - "start": 34, + "end": 49, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 49, - "start": 43, + "end": 56, + "start": 50, "type": "REQUEST_EXECUTION" }, { - "end": 53, - "start": 50, + "end": 60, + "start": 57, "type": "RESPONSE_HANDLING" } ], @@ -493,33 +493,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_sync", "segments": [ { - "end": 52, + "end": 59, "start": 27, "type": "FULL" }, { - "end": 52, + "end": 59, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 42, - "start": 34, + "end": 49, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 49, - "start": 43, + "end": 56, + "start": 50, "type": "REQUEST_EXECUTION" }, { - "end": 53, - "start": 50, + "end": 60, + "start": 57, "type": "RESPONSE_HANDLING" } ], @@ -574,33 +574,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_async", "segments": [ { - "end": 48, + "end": 55, "start": 27, "type": "FULL" }, { - "end": 48, + "end": 55, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 45, - "start": 39, + "end": 52, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 49, - "start": 46, + "end": 56, + "start": 53, "type": "RESPONSE_HANDLING" } ], @@ -654,33 +654,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_sync", "segments": [ { - "end": 48, + "end": 55, "start": 27, "type": "FULL" }, { - "end": 48, + "end": 55, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 45, - "start": 39, + "end": 52, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 49, - "start": 46, + "end": 56, + "start": 53, "type": "RESPONSE_HANDLING" } ], @@ -743,33 +743,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_async", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 39, - "start": 34, + "end": 46, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 42, - "start": 40, + "end": 49, + "start": 47, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 43, + "end": 53, + "start": 50, "type": "RESPONSE_HANDLING" } ], @@ -831,33 +831,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_sync", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 39, - "start": 34, + "end": 46, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 42, - "start": 40, + "end": 49, + "start": 47, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 43, + "end": 53, + "start": 50, "type": "RESPONSE_HANDLING" } ], @@ -912,33 +912,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_async", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -992,33 +992,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_sync", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1081,33 +1081,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1169,33 +1169,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync", "segments": [ { - "end": 44, + "end": 51, "start": 27, "type": "FULL" }, { - "end": 44, + "end": 51, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 45, - "start": 42, + "end": 52, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1254,33 +1254,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_async", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 42, + "end": 53, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1338,33 +1338,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_sync", "segments": [ { - "end": 45, + "end": 52, "start": 27, "type": "FULL" }, { - "end": 45, + "end": 52, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 38, - "start": 34, + "end": 45, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 41, - "start": 39, + "end": 48, + "start": 46, "type": "REQUEST_EXECUTION" }, { - "end": 46, - "start": 42, + "end": 53, + "start": 49, "type": "RESPONSE_HANDLING" } ], @@ -1415,33 +1415,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_async", "segments": [ { - "end": 49, + "end": 56, "start": 27, "type": "FULL" }, { - "end": 49, + "end": 56, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 43, - "start": 34, + "end": 50, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 46, - "start": 44, + "end": 53, + "start": 51, "type": "REQUEST_EXECUTION" }, { - "end": 50, - "start": 47, + "end": 57, + "start": 54, "type": "RESPONSE_HANDLING" } ], @@ -1491,33 +1491,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_sync", "segments": [ { - "end": 49, + "end": 56, "start": 27, "type": "FULL" }, { - "end": 49, + "end": 56, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 43, - "start": 34, + "end": 50, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 46, - "start": 44, + "end": 53, + "start": 51, "type": "REQUEST_EXECUTION" }, { - "end": 50, - "start": 47, + "end": 57, + "start": 54, "type": "RESPONSE_HANDLING" } ], @@ -1568,33 +1568,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_async", "segments": [ { - "end": 46, + "end": 53, "start": 27, "type": "FULL" }, { - "end": 46, + "end": 53, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 40, - "start": 34, + "end": 47, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 43, - "start": 41, + "end": 50, + "start": 48, "type": "REQUEST_EXECUTION" }, { - "end": 47, - "start": 44, + "end": 54, + "start": 51, "type": "RESPONSE_HANDLING" } ], @@ -1644,33 +1644,33 @@ "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_sync", "segments": [ { - "end": 46, + "end": 53, "start": 27, "type": "FULL" }, { - "end": 46, + "end": 53, "start": 27, "type": "SHORT" }, { - "end": 33, - "start": 31, + "end": 40, + "start": 38, "type": "CLIENT_INITIALIZATION" }, { - "end": 40, - "start": 34, + "end": 47, + "start": 41, "type": "REQUEST_INITIALIZATION" }, { - "end": 43, - "start": 41, + "end": 50, + "start": 48, "type": "REQUEST_EXECUTION" }, { - "end": 47, - "start": 44, + "end": 54, + "start": 51, "type": "RESPONSE_HANDLING" } ], diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py index 9c2370f1865..84615baae10 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_BatchTranslateDocument_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -41,7 +48,7 @@ async def sample_batch_translate_document(): request = translate_v3.BatchTranslateDocumentRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py index 71148ff6e0b..cb02d83e322 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_BatchTranslateDocument_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -41,7 +48,7 @@ def sample_batch_translate_document(): request = translate_v3.BatchTranslateDocumentRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py index 031a248d6dd..01c0575bbdc 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_BatchTranslateText_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -41,7 +48,7 @@ async def sample_batch_translate_text(): request = translate_v3.BatchTranslateTextRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py index b761dcc148f..4cc92a7fc2b 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_BatchTranslateText_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -41,7 +48,7 @@ def sample_batch_translate_text(): request = translate_v3.BatchTranslateTextRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py index aa0f4757bc1..52313f40635 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_CreateGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py index 1112c5dc8ce..a91cb0279fa 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_CreateGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py index abc94843b4c..5f82f68f39a 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_DeleteGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py index 7d6a8c6f671..d19258d05c8 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_DeleteGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py index cd36e29951a..eb234168727 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_DetectLanguage_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py index f1181fdba11..b0ce0884178 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_DetectLanguage_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py index 9f2181abe52..2ef9e43a118 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_GetGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py index 95279e143e8..4b4c7e51d0d 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_GetGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py index 8b00aba31aa..8f6d3299b94 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_GetSupportedLanguages_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py index e9c5d2ae58c..f3bd0209d30 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_GetSupportedLanguages_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py index 828220d56b0..54f6e66aba6 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_ListGlossaries_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py index 3e312463f69..ce772b4c740 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_ListGlossaries_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py index 5b14a9f0c8b..961a519658f 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_TranslateDocument_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py index 850c6bd24f5..53e7655fa4d 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_TranslateDocument_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py index 4f5332d193f..c33cb15fc81 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_TranslateText_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -33,7 +40,7 @@ async def sample_translate_text(): # Initialize request argument(s) request = translate_v3.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], + contents=['contents_value1', 'contents_value2'], target_language_code="target_language_code_value", parent="parent_value", ) diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py index 7d3b71e7753..322251b14dd 100644 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py @@ -24,6 +24,13 @@ # [START translate_v3_generated_TranslationService_TranslateText_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3 @@ -33,7 +40,7 @@ def sample_translate_text(): # Initialize request argument(s) request = translate_v3.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], + contents=['contents_value1', 'contents_value2'], target_language_code="target_language_code_value", parent="parent_value", ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py index f7c9db2c5d6..41f568f5983 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -41,7 +48,7 @@ async def sample_batch_translate_document(): request = translate_v3beta1.BatchTranslateDocumentRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py index 13002abba57..b51e67c720c 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -41,7 +48,7 @@ def sample_batch_translate_document(): request = translate_v3beta1.BatchTranslateDocumentRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py index b8420e65f1b..f5df837f5aa 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_BatchTranslateText_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -41,7 +48,7 @@ async def sample_batch_translate_text(): request = translate_v3beta1.BatchTranslateTextRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py index c9a05c3f7d9..7ba41747655 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_BatchTranslateText_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -41,7 +48,7 @@ def sample_batch_translate_text(): request = translate_v3beta1.BatchTranslateTextRequest( parent="parent_value", source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], + target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], input_configs=input_configs, output_config=output_config, ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py index bd7ccfbcfd9..c84e7bcfbfb 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_CreateGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py index 0482c4a3bfc..9778205ce03 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_CreateGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py index 37e6cbd4d75..d0da26f0bb9 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_DeleteGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py index 85c5d1a7ac9..f5753ac38c3 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_DeleteGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py index 60b84ae7899..4ed09f346e7 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_DetectLanguage_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py index 41b613ab1ce..a6e1789bf6a 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_DetectLanguage_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py index ca21ec9bb92..2dc74b55385 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_GetGlossary_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py index 05b6150a701..a34f098e432 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_GetGlossary_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py index ad778d7e71f..e416176832c 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py index e876c5058ef..4c4b21af892 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py index 3861889fc92..0563a3fb43c 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_ListGlossaries_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py index 45a9bbf3043..fd749f69aa2 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_ListGlossaries_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py index 48d36f87116..046912a1867 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_TranslateDocument_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py index 17e11f0a5e9..f7ef4b00fca 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_TranslateDocument_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py index 13b945fc921..2efb10b2e8d 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_TranslateText_async] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -33,7 +40,7 @@ async def sample_translate_text(): # Initialize request argument(s) request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], + contents=['contents_value1', 'contents_value2'], target_language_code="target_language_code_value", parent="parent_value", ) diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py index ce4a042a719..7847c5476c4 100644 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py +++ b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py @@ -24,6 +24,13 @@ # [START translate_v3beta1_generated_TranslationService_TranslateText_sync] +# This snippet has been automatically generated and should be regarded as a +# code template only. +# It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in: +# https://googleapis.dev/python/google-api-core/latest/client_options.html from google.cloud import translate_v3beta1 @@ -33,7 +40,7 @@ def sample_translate_text(): # Initialize request argument(s) request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], + contents=['contents_value1', 'contents_value2'], target_language_code="target_language_code_value", parent="parent_value", ) From 3433dbad9628ec96b7179250d41a710581cf14b5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 7 Sep 2022 18:21:06 +0200 Subject: [PATCH 258/270] chore(deps): update dependency google-cloud-translate to v3.8.2 (#444) Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- translation/samples/snippets/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 451362b0257..dcd8b3b1f7c 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.1 +google-cloud-translate==3.8.2 google-cloud-vision==3.1.1 google-cloud-texttospeech==2.12.1 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index d34c348f192..528dfbb6e55 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.1 +google-cloud-translate==3.8.2 google-cloud-storage==2.5.0 google-cloud-automl==2.8.1 From ffcb404a106282d6ff8ca6e0598e73422a10c5e4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 15 Sep 2022 10:27:03 -0400 Subject: [PATCH 259/270] chore: detect samples tests in nested directories (#448) * docs(nodejs_mono_repo): update broken links in README Source-Link: https://github.com/googleapis/synthtool/commit/50db768f450a50d7c1fd62513c113c9bb96fd434 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e09366bdf0fd9c8976592988390b24d53583dd9f002d476934da43725adbb978 * trigger ci Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- translation/samples/snippets/hybrid_glossaries/noxfile.py | 4 ++-- translation/samples/snippets/noxfile.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py index 5fcb9d7461f..0398d72ff69 100644 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ b/translation/samples/snippets/hybrid_glossaries/noxfile.py @@ -207,8 +207,8 @@ def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: # check for presence of tests - test_list = glob.glob("*_test.py") + glob.glob("test_*.py") - test_list.extend(glob.glob("tests")) + test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) + test_list.extend(glob.glob("**/tests", recursive=True)) if len(test_list) == 0: print("No tests found, skipping directory.") diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py index 5fcb9d7461f..0398d72ff69 100644 --- a/translation/samples/snippets/noxfile.py +++ b/translation/samples/snippets/noxfile.py @@ -207,8 +207,8 @@ def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: # check for presence of tests - test_list = glob.glob("*_test.py") + glob.glob("test_*.py") - test_list.extend(glob.glob("tests")) + test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) + test_list.extend(glob.glob("**/tests", recursive=True)) if len(test_list) == 0: print("No tests found, skipping directory.") From d78dfd3d4df3d387ebe2560db00682cd70417c6d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 16 Sep 2022 17:55:05 +0200 Subject: [PATCH 260/270] chore(deps): update dependency google-cloud-vision to v3.1.2 (#450) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index dcd8b3b1f7c..5284e84b1c9 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.8.2 -google-cloud-vision==3.1.1 +google-cloud-vision==3.1.2 google-cloud-texttospeech==2.12.1 From 2713b828b28fee0d2393ea1e36fe20e10b0fb7f9 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 3 Oct 2022 17:18:11 +0200 Subject: [PATCH 261/270] chore(deps): update dependency google-cloud-vision to v3.1.3 (#453) --- translation/samples/snippets/hybrid_glossaries/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 5284e84b1c9..f5e45f971ae 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ google-cloud-translate==3.8.2 -google-cloud-vision==3.1.2 +google-cloud-vision==3.1.3 google-cloud-texttospeech==2.12.1 From 71d4f3a9ab20a5a2a940f440ab41b53323be6738 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 4 Oct 2022 15:43:19 +0200 Subject: [PATCH 262/270] chore(deps): update all dependencies (#455) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 4 ++-- translation/samples/snippets/requirements.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index f5e45f971ae..9fa314fd0b0 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.2 +google-cloud-translate==3.8.3 google-cloud-vision==3.1.3 -google-cloud-texttospeech==2.12.1 +google-cloud-texttospeech==2.12.2 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index 528dfbb6e55..f4a39a2bc38 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.2 +google-cloud-translate==3.8.3 google-cloud-storage==2.5.0 -google-cloud-automl==2.8.1 +google-cloud-automl==2.8.2 From 3d8c6cef1a9e41fb3e869e8af53f245c86a83371 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 6 Oct 2022 15:35:03 +0200 Subject: [PATCH 263/270] chore(deps): update dependency backoff to v2.2.1 (#456) --- translation/samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index 04a57c64bf0..c4b79c0304a 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==2.1.2 +backoff==2.2.1 flaky==3.7.0 pytest==7.1.3 From d8b886121372e662cb17be3d980e2d41af42eebd Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 18 Oct 2022 15:19:41 +0200 Subject: [PATCH 264/270] chore(deps): update all dependencies (#459) --- .../samples/snippets/hybrid_glossaries/requirements.txt | 6 +++--- translation/samples/snippets/requirements.txt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translation/samples/snippets/hybrid_glossaries/requirements.txt index 9fa314fd0b0..fee36e967ed 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.3 -google-cloud-vision==3.1.3 -google-cloud-texttospeech==2.12.2 +google-cloud-translate==3.8.4 +google-cloud-vision==3.1.4 +google-cloud-texttospeech==2.12.3 diff --git a/translation/samples/snippets/requirements.txt b/translation/samples/snippets/requirements.txt index f4a39a2bc38..8526082bd8f 100644 --- a/translation/samples/snippets/requirements.txt +++ b/translation/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-translate==3.8.3 +google-cloud-translate==3.8.4 google-cloud-storage==2.5.0 -google-cloud-automl==2.8.2 +google-cloud-automl==2.8.3 From 096925dcbee8eab7cb92c40f965f9b3548d5c7a5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 26 Oct 2022 12:48:59 +0200 Subject: [PATCH 265/270] chore(deps): update dependency pytest to v7.2.0 (#460) --- .../samples/snippets/hybrid_glossaries/requirements-test.txt | 2 +- translation/samples/snippets/requirements-test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt index e07168502ea..49780e03569 100644 --- a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt +++ b/translation/samples/snippets/hybrid_glossaries/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.3 +pytest==7.2.0 diff --git a/translation/samples/snippets/requirements-test.txt b/translation/samples/snippets/requirements-test.txt index c4b79c0304a..6c0e08f306e 100644 --- a/translation/samples/snippets/requirements-test.txt +++ b/translation/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==2.2.1 flaky==3.7.0 -pytest==7.1.3 +pytest==7.2.0 From 05db5e658a509c4646c545481cd7c523f4761b84 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 18 Nov 2022 10:45:26 -0800 Subject: [PATCH 266/270] removes unneeded samples --- translate/automl/README.rst | 3 - translate/cloud-client/README.rst | 3 - translation/samples/snippets/beta_snippets.py | 382 ------------------ .../samples/snippets/beta_snippets_test.py | 139 ------- translation/samples/snippets/quickstart.py | 40 -- .../samples/snippets/quickstart_test.py | 23 -- .../snippets/translate_v3_translate_text.py | 6 - 7 files changed, 596 deletions(-) delete mode 100644 translate/automl/README.rst delete mode 100644 translate/cloud-client/README.rst delete mode 100644 translation/samples/snippets/beta_snippets.py delete mode 100644 translation/samples/snippets/beta_snippets_test.py delete mode 100644 translation/samples/snippets/quickstart.py delete mode 100644 translation/samples/snippets/quickstart_test.py diff --git a/translate/automl/README.rst b/translate/automl/README.rst deleted file mode 100644 index 9de68506aa2..00000000000 --- a/translate/automl/README.rst +++ /dev/null @@ -1,3 +0,0 @@ -These samples have been moved. - -https://github.com/googleapis/python-automl/tree/main/samples diff --git a/translate/cloud-client/README.rst b/translate/cloud-client/README.rst deleted file mode 100644 index bc654b1f223..00000000000 --- a/translate/cloud-client/README.rst +++ /dev/null @@ -1,3 +0,0 @@ -These samples have been moved. - -https://github.com/googleapis/python-translate/tree/main/samples diff --git a/translation/samples/snippets/beta_snippets.py b/translation/samples/snippets/beta_snippets.py deleted file mode 100644 index 5ec1f298413..00000000000 --- a/translation/samples/snippets/beta_snippets.py +++ /dev/null @@ -1,382 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2019 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import argparse - - -def translate_text(project_id, text): - # [START translate_translate_text_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = YOUR_PROJECT_ID - # text = 'Text you wish to translate' - location = "global" - - parent = f"projects/{project_id}/locations/{location}" - - response = client.translate_text( - request={ - "parent": parent, - "contents": [text], - "mime_type": "text/plain", # mime types: text/plain, text/html - "source_language_code": "en-US", - "target_language_code": "sr-Latn", - } - ) - - for translation in response.translations: - print("Translated Text: {}".format(translation)) - # [END translate_translate_text_beta] - - -def batch_translate_text(project_id, input_uri, output_uri): - # [START translate_batch_translate_text_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = YOUR_PROJECT_ID - # input_uri = 'gs://cloud-samples-data/translation/text.txt' - # output_uri = 'gs://YOUR_BUCKET_ID/path_to_store_results/' - location = "us-central1" - - parent = f"projects/{project_id}/locations/{location}" - - gcs_source = translate.types.GcsSource(input_uri=input_uri) - - input_config = translate.types.InputConfig( - mime_type="text/plain", # mime types: text/plain, text/html - gcs_source=gcs_source, - ) - - gcs_destination = translate.types.GcsDestination(output_uri_prefix=output_uri) - - output_config = translate.types.OutputConfig(gcs_destination=gcs_destination) - - operation = client.batch_translate_text( - request={ - "parent": parent, - "source_language_code": "en-US", - "target_language_codes": ["sr-Latn"], - "input_configs": [input_config], - "output_config": output_config, - } - ) - - result = operation.result(timeout=400) - - print("Total Characters: {}".format(result.total_characters)) - print("Translated Characters: {}".format(result.translated_characters)) - # [END translate_batch_translate_text_beta] - - -def detect_language(project_id, text): - # [START translate_detect_language_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = YOUR_PROJECT_ID - # text = 'Text you wish to translate' - location = "global" - - parent = f"projects/{project_id}/locations/{location}" - - response = client.detect_language( - request={ - "parent": parent, - "content": text, - "mime_type": "text/plain", # mime types: text/plain, text/html - } - ) - - for language in response.languages: - print( - "Language Code: {} (Confidence: {})".format( - language.language_code, language.confidence - ) - ) - # [END translate_detect_language_beta] - - -def list_languages(project_id): - # [START translate_list_codes_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = YOUR_PROJECT_ID - location = "global" - - parent = f"projects/{project_id}/locations/{location}" - - response = client.get_supported_languages(parent=parent) - - print("Supported Languages:") - for language in response.languages: - print("Language Code: {}".format(language.language_code)) - # [END translate_list_codes_beta] - - -def list_languages_with_target(project_id, display_language_code): - # [START translate_list_language_names_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = YOUR_PROJECT_ID - # display_language_code = 'is' - location = "global" - - parent = f"projects/{project_id}/locations/{location}" - - response = client.get_supported_languages( - parent=parent, display_language_code=display_language_code - ) - - print("Supported Languages:") - for language in response.languages: - print("Language Code: {}".format(language.language_code)) - print("Display Name: {}\n".format(language.display_name)) - # [END translate_list_language_names_beta] - - -def create_glossary(project_id, glossary_id): - # [START translate_create_glossary_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = 'YOUR_PROJECT_ID' - # glossary_id = 'glossary-id' - location = "us-central1" # The location of the glossary - - name = client.glossary_path(project_id, location, glossary_id) - - language_codes_set = translate.types.Glossary.LanguageCodesSet( - language_codes=["en", "es"] - ) - - gcs_source = translate.types.GcsSource( - input_uri="gs://cloud-samples-data/translation/glossary.csv" - ) - - input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source) - - glossary = translate.types.Glossary( - name=name, language_codes_set=language_codes_set, input_config=input_config - ) - - parent = f"projects/{project_id}/locations/{location}" - - operation = client.create_glossary(parent=parent, glossary=glossary) - - result = operation.result(timeout=90) - print("Created: {}".format(result.name)) - print("Input Uri: {}".format(result.input_config.gcs_source.input_uri)) - # [END translate_create_glossary_beta] - - -def list_glossaries(project_id): - # [START translate_list_glossary_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = 'YOUR_PROJECT_ID' - location = "us-central1" # The location of the glossary - - parent = f"projects/{project_id}/locations/{location}" - - for glossary in client.list_glossaries(parent=parent): - print("Name: {}".format(glossary.name)) - print("Entry count: {}".format(glossary.entry_count)) - print("Input uri: {}".format(glossary.input_config.gcs_source.input_uri)) - for language_code in glossary.language_codes_set.language_codes: - print("Language code: {}".format(language_code)) - # [END translate_list_glossary_beta] - - -def get_glossary(project_id, glossary_id): - # [START translate_get_glossary_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = 'YOUR_PROJECT_ID' - # glossary_id = 'GLOSSARY_ID' - - name = client.glossary_path( - project_id, "us-central1", glossary_id # The location of the glossary - ) - - response = client.get_glossary(name=name) - print("Name: {}".format(response.name)) - print("Language Pair:") - print( - "\tSource Language Code: {}".format(response.language_pair.source_language_code) - ) - print( - "\tTarget Language Code: {}".format(response.language_pair.target_language_code) - ) - print("Input Uri: {}".format(response.input_config.gcs_source.input_uri)) - # [END translate_get_glossary_beta] - - -def delete_glossary(project_id, glossary_id): - # [START translate_delete_glossary_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = 'YOUR_PROJECT_ID' - # glossary_id = 'GLOSSARY_ID' - - name = client.glossary_path( - project_id, "us-central1", glossary_id # The location of the glossary - ) - - operation = client.delete_glossary(name=name) - result = operation.result(timeout=90) - print("Deleted: {}".format(result.name)) - # [END translate_delete_glossary_beta] - - -def translate_text_with_glossary(project_id, glossary_id, text): - # [START translate_translate_text_with_glossary_beta] - from google.cloud import translate_v3beta1 as translate - - client = translate.TranslationServiceClient() - - # project_id = 'YOUR_PROJECT_ID' - # glossary_id = 'GLOSSARY_ID' - # text = 'Text you wish to translate' - location = "us-central1" # The location of the glossary - - glossary = client.glossary_path( - project_id, "us-central1", glossary_id # The location of the glossary - ) - - glossary_config = translate.types.TranslateTextGlossaryConfig(glossary=glossary) - - parent = f"projects/{project_id}/locations/{location}" - - result = client.translate_text( - request={ - "parent": parent, - "contents": [text], - "mime_type": "text/plain", - "source_language_code": "en", - "target_language_code": "es", - "glossary_config": glossary_config, - } - ) - - for translation in result.glossary_translations: - print(translation) - # [END translate_translate_text_with_glossary_beta] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter - ) - - subparsers = parser.add_subparsers(dest="command") - - translate_text_parser = subparsers.add_parser( - "translate-text", help=translate_text.__doc__ - ) - translate_text_parser.add_argument("project_id") - translate_text_parser.add_argument("text") - - batch_translate_text_parser = subparsers.add_parser( - "batch-translate-text", help=translate_text.__doc__ - ) - batch_translate_text_parser.add_argument("project_id") - batch_translate_text_parser.add_argument("gcs_source") - batch_translate_text_parser.add_argument("gcs_destination") - - detect_langage_parser = subparsers.add_parser( - "detect-language", help=detect_language.__doc__ - ) - detect_langage_parser.add_argument("project_id") - detect_langage_parser.add_argument("text") - - list_languages_parser = subparsers.add_parser( - "list-languages", help=list_languages.__doc__ - ) - list_languages_parser.add_argument("project_id") - - list_languages_with_target_parser = subparsers.add_parser( - "list-languages-with-target", help=list_languages_with_target.__doc__ - ) - list_languages_with_target_parser.add_argument("project_id") - list_languages_with_target_parser.add_argument("display_language_code") - - create_glossary_parser = subparsers.add_parser( - "create-glossary", help=create_glossary.__doc__ - ) - create_glossary_parser.add_argument("project_id") - create_glossary_parser.add_argument("glossary_id") - - get_glossary_parser = subparsers.add_parser( - "get-glossary", help=get_glossary.__doc__ - ) - get_glossary_parser.add_argument("project_id") - get_glossary_parser.add_argument("glossary_id") - - list_glossary_parser = subparsers.add_parser( - "list-glossaries", help=list_glossaries.__doc__ - ) - list_glossary_parser.add_argument("project_id") - - delete_glossary_parser = subparsers.add_parser( - "delete-glossary", help=delete_glossary.__doc__ - ) - delete_glossary_parser.add_argument("project_id") - delete_glossary_parser.add_argument("glossary_id") - - translate_with_glossary_parser = subparsers.add_parser( - "translate-with-glossary", help=translate_text_with_glossary.__doc__ - ) - translate_with_glossary_parser.add_argument("project_id") - translate_with_glossary_parser.add_argument("glossary_id") - translate_with_glossary_parser.add_argument("text") - - args = parser.parse_args() - - if args.command == "translate-text": - translate_text(args.project_id, args.text) - elif args.command == "batch-translate-text": - batch_translate_text(args.project_id, args.gcs_source, args.gcs_destination) - elif args.command == "detect-language": - detect_language(args.project_id, args.text) - elif args.command == "list-languages": - list_languages(args.project_id) - elif args.command == "list-languages-with-target": - list_languages_with_target(args.project_id, args.display_language_code) - elif args.command == "create-glossary": - create_glossary(args.project_id, args.glossary_id) - elif args.command == "get-glossary": - get_glossary(args.project_id, args.glossary_id) - elif args.command == "list-glossaries": - list_glossaries(args.project_id) - elif args.command == "delete-glossary": - delete_glossary(args.project_id, args.glossary_id) - elif args.command == "translate-with-glossary": - translate_text_with_glossary(args.project_id, args.glossary_id, args.text) diff --git a/translation/samples/snippets/beta_snippets_test.py b/translation/samples/snippets/beta_snippets_test.py deleted file mode 100644 index f925e63f870..00000000000 --- a/translation/samples/snippets/beta_snippets_test.py +++ /dev/null @@ -1,139 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2019 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import uuid - -from google.cloud import storage -import pytest - -import beta_snippets - - -PROJECT_ID = os.environ["GOOGLE_CLOUD_PROJECT"] - - -@pytest.fixture(scope="function") -def bucket(): - """Create a temporary bucket to store annotation output.""" - bucket_name = f"tmp-{uuid.uuid4().hex}" - storage_client = storage.Client() - bucket = storage_client.create_bucket(bucket_name) - - yield bucket - - bucket.delete(force=True) - - -@pytest.fixture(scope="session") -def glossary(): - """Get the ID of a glossary available to session (do not mutate/delete).""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - beta_snippets.create_glossary(PROJECT_ID, glossary_id) - - yield glossary_id - - try: - beta_snippets.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass - - -@pytest.fixture(scope="function") -def unique_glossary_id(): - """Get a unique ID. Attempts to delete glossary with this ID after test.""" - glossary_id = "must-start-with-letters-" + str(uuid.uuid1()) - - yield glossary_id - - try: - beta_snippets.delete_glossary(PROJECT_ID, glossary_id) - except Exception: - pass - - -def test_translate_text(capsys): - beta_snippets.translate_text(PROJECT_ID, "Hello world") - out, _ = capsys.readouterr() - assert "Translated Text:" in out - - -@pytest.mark.flaky(max_runs=3, min_passes=1) -def test_batch_translate_text(capsys, bucket): - beta_snippets.batch_translate_text( - PROJECT_ID, - "gs://cloud-samples-data/translation/text.txt", - "gs://{}/translation/BATCH_TRANSLATION_BETA_OUTPUT/".format(bucket.name), - ) - out, _ = capsys.readouterr() - assert "Total Characters: 13" in out - assert "Translated Characters: 13" in out - - -def test_detect_language(capsys): - beta_snippets.detect_language(PROJECT_ID, "Hæ sæta") - out, _ = capsys.readouterr() - assert "is" in out - - -def test_list_languages(capsys): - beta_snippets.list_languages(PROJECT_ID) - out, _ = capsys.readouterr() - assert "zh" in out - - -def test_list_languages_with_target(capsys): - beta_snippets.list_languages_with_target(PROJECT_ID, "is") - out, _ = capsys.readouterr() - assert "Language Code: sq" in out - assert "Display Name: albanska" in out - - -@pytest.mark.flaky(max_runs=3, min_passes=1) -def test_create_glossary(capsys, unique_glossary_id): - beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) - out, _ = capsys.readouterr() - assert "Created" in out - assert unique_glossary_id in out - assert "gs://cloud-samples-data/translation/glossary.csv" in out - - -def test_get_glossary(capsys, glossary): - beta_snippets.get_glossary(PROJECT_ID, glossary) - out, _ = capsys.readouterr() - assert glossary in out - assert "gs://cloud-samples-data/translation/glossary.csv" in out - - -def test_list_glossary(capsys, glossary): - beta_snippets.list_glossaries(PROJECT_ID) - out, _ = capsys.readouterr() - assert glossary in out - assert "gs://cloud-samples-data/translation/glossary.csv" in out - - -def test_translate_text_with_glossary(capsys, glossary): - beta_snippets.translate_text_with_glossary(PROJECT_ID, glossary, "account") - out, _ = capsys.readouterr() - assert "cuenta" in out - - -@pytest.mark.flaky(max_runs=3, min_passes=1) -def test_delete_glossary(capsys, unique_glossary_id): - beta_snippets.create_glossary(PROJECT_ID, unique_glossary_id) - beta_snippets.delete_glossary(PROJECT_ID, unique_glossary_id) - out, _ = capsys.readouterr() - assert "us-central1" in out - assert unique_glossary_id in out diff --git a/translation/samples/snippets/quickstart.py b/translation/samples/snippets/quickstart.py deleted file mode 100644 index 9fc4027a8b8..00000000000 --- a/translation/samples/snippets/quickstart.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -def run_quickstart(): - # [START translate_quickstart] - # Imports the Google Cloud client library - from google.cloud import translate_v2 as translate - - # Instantiates a client - translate_client = translate.Client() - - # The text to translate - text = u"Hello, world!" - # The target language - target = "ru" - - # Translates some text into Russian - translation = translate_client.translate(text, target_language=target) - - print(u"Text: {}".format(text)) - print(u"Translation: {}".format(translation["translatedText"])) - # [END translate_quickstart] - - -if __name__ == "__main__": - run_quickstart() diff --git a/translation/samples/snippets/quickstart_test.py b/translation/samples/snippets/quickstart_test.py deleted file mode 100644 index e4dc4886bc3..00000000000 --- a/translation/samples/snippets/quickstart_test.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -import quickstart - - -def test_quickstart(capsys): - quickstart.run_quickstart() - out, _ = capsys.readouterr() - assert u"Translation" in out diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translation/samples/snippets/translate_v3_translate_text.py index 095fd146048..5ea69a73e84 100644 --- a/translation/samples/snippets/translate_v3_translate_text.py +++ b/translation/samples/snippets/translate_v3_translate_text.py @@ -13,13 +13,10 @@ # limitations under the License. # [START translate_v3_translate_text] -# [START translate_v3_translate_text_0] # Imports the Google Cloud Translation library from google.cloud import translate -# [END translate_v3_translate_text_0] -# [START translate_v3_translate_text_1] # Initialize Translation client def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): """Translating Text.""" @@ -29,9 +26,7 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): location = "global" parent = f"projects/{project_id}/locations/{location}" - # [END translate_v3_translate_text_1] - # [START translate_v3_translate_text_2] # Translate text from English to French # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats @@ -48,7 +43,6 @@ def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"): # Display the translation for each input text provided for translation in response.translations: print("Translated text: {}".format(translation.translated_text)) - # [END translate_v3_translate_text_2] # [END translate_v3_translate_text] From 68d70448fee371d97c1c19450b000ce4a8b95e8a Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 18 Nov 2022 10:48:24 -0800 Subject: [PATCH 267/270] per reviewer --- .../snippet_metadata_translate_v3.json | 1728 ----------------- .../snippet_metadata_translate_v3beta1.json | 1680 ---------------- ..._service_batch_translate_document_async.py | 59 - ...n_service_batch_translate_document_sync.py | 59 - ...tion_service_batch_translate_text_async.py | 59 - ...ation_service_batch_translate_text_sync.py | 59 - ...anslation_service_create_glossary_async.py | 53 - ...ranslation_service_create_glossary_sync.py | 53 - ...anslation_service_delete_glossary_async.py | 49 - ...ranslation_service_delete_glossary_sync.py | 49 - ...anslation_service_detect_language_async.py | 46 - ...ranslation_service_detect_language_sync.py | 46 - ..._translation_service_get_glossary_async.py | 45 - ...3_translation_service_get_glossary_sync.py | 45 - ...n_service_get_supported_languages_async.py | 45 - ...on_service_get_supported_languages_sync.py | 45 - ...anslation_service_list_glossaries_async.py | 46 - ...ranslation_service_list_glossaries_sync.py | 46 - ...lation_service_translate_document_async.py | 50 - ...slation_service_translate_document_sync.py | 50 - ...ranslation_service_translate_text_async.py | 47 - ...translation_service_translate_text_sync.py | 47 - ..._service_batch_translate_document_async.py | 59 - ...n_service_batch_translate_document_sync.py | 59 - ...tion_service_batch_translate_text_async.py | 59 - ...ation_service_batch_translate_text_sync.py | 59 - ...anslation_service_create_glossary_async.py | 53 - ...ranslation_service_create_glossary_sync.py | 53 - ...anslation_service_delete_glossary_async.py | 49 - ...ranslation_service_delete_glossary_sync.py | 49 - ...anslation_service_detect_language_async.py | 46 - ...ranslation_service_detect_language_sync.py | 46 - ..._translation_service_get_glossary_async.py | 45 - ...1_translation_service_get_glossary_sync.py | 45 - ...n_service_get_supported_languages_async.py | 45 - ...on_service_get_supported_languages_sync.py | 45 - ...anslation_service_list_glossaries_async.py | 46 - ...ranslation_service_list_glossaries_sync.py | 46 - ...lation_service_translate_document_async.py | 50 - ...slation_service_translate_document_sync.py | 50 - ...ranslation_service_translate_text_async.py | 47 - ...translation_service_translate_text_sync.py | 47 - ..._service_batch_translate_document_async.py | 66 - ...n_service_batch_translate_document_sync.py | 66 - ...tion_service_batch_translate_text_async.py | 66 - ...ation_service_batch_translate_text_sync.py | 66 - ...anslation_service_create_glossary_async.py | 60 - ...ranslation_service_create_glossary_sync.py | 60 - ...anslation_service_delete_glossary_async.py | 56 - ...ranslation_service_delete_glossary_sync.py | 56 - ...anslation_service_detect_language_async.py | 53 - ...ranslation_service_detect_language_sync.py | 53 - ..._translation_service_get_glossary_async.py | 52 - ...d_translation_service_get_glossary_sync.py | 52 - ...n_service_get_supported_languages_async.py | 52 - ...on_service_get_supported_languages_sync.py | 52 - ...anslation_service_list_glossaries_async.py | 53 - ...ranslation_service_list_glossaries_sync.py | 53 - ...lation_service_translate_document_async.py | 57 - ...slation_service_translate_document_sync.py | 57 - ...ranslation_service_translate_text_async.py | 54 - ...translation_service_translate_text_sync.py | 54 - ..._service_batch_translate_document_async.py | 66 - ...n_service_batch_translate_document_sync.py | 66 - ...tion_service_batch_translate_text_async.py | 66 - ...ation_service_batch_translate_text_sync.py | 66 - ...anslation_service_create_glossary_async.py | 60 - ...ranslation_service_create_glossary_sync.py | 60 - ...anslation_service_delete_glossary_async.py | 56 - ...ranslation_service_delete_glossary_sync.py | 56 - ...anslation_service_detect_language_async.py | 53 - ...ranslation_service_detect_language_sync.py | 53 - ..._translation_service_get_glossary_async.py | 52 - ...d_translation_service_get_glossary_sync.py | 52 - ...n_service_get_supported_languages_async.py | 52 - ...on_service_get_supported_languages_sync.py | 52 - ...anslation_service_list_glossaries_async.py | 53 - ...ranslation_service_list_glossaries_sync.py | 53 - ...lation_service_translate_document_async.py | 57 - ...slation_service_translate_document_sync.py | 57 - ...ranslation_service_translate_text_async.py | 54 - ...translation_service_translate_text_sync.py | 54 - translation/samples/snippets/noxfile.py | 312 --- 83 files changed, 7992 deletions(-) delete mode 100644 translation/samples/generated_samples/snippet_metadata_translate_v3.json delete mode 100644 translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py delete mode 100644 translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py delete mode 100644 translation/samples/snippets/noxfile.py diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3.json b/translation/samples/generated_samples/snippet_metadata_translate_v3.json deleted file mode 100644 index f075b7da9b3..00000000000 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3.json +++ /dev/null @@ -1,1728 +0,0 @@ -{ - "clientLibrary": { - "apis": [ - { - "id": "google.cloud.translation.v3", - "version": "v3" - } - ], - "language": "PYTHON", - "name": "google-cloud-translate" - }, - "snippets": [ - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.batch_translate_document", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.BatchTranslateDocumentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "target_language_codes", - "type": "Sequence[str]" - }, - { - "name": "input_configs", - "type": "Sequence[google.cloud.translate_v3.types.BatchDocumentInputConfig]" - }, - { - "name": "output_config", - "type": "google.cloud.translate_v3.types.BatchDocumentOutputConfig" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "batch_translate_document" - }, - "description": "Sample for BatchTranslateDocument", - "file": "translate_v3_generated_translation_service_batch_translate_document_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_async", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_batch_translate_document_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.batch_translate_document", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.BatchTranslateDocumentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "target_language_codes", - "type": "Sequence[str]" - }, - { - "name": "input_configs", - "type": "Sequence[google.cloud.translate_v3.types.BatchDocumentInputConfig]" - }, - { - "name": "output_config", - "type": "google.cloud.translate_v3.types.BatchDocumentOutputConfig" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "batch_translate_document" - }, - "description": "Sample for BatchTranslateDocument", - "file": "translate_v3_generated_translation_service_batch_translate_document_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_BatchTranslateDocument_sync", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_batch_translate_document_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.batch_translate_text", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateText", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.BatchTranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "batch_translate_text" - }, - "description": "Sample for BatchTranslateText", - "file": "translate_v3_generated_translation_service_batch_translate_text_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_async", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_batch_translate_text_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.batch_translate_text", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.BatchTranslateText", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.BatchTranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "batch_translate_text" - }, - "description": "Sample for BatchTranslateText", - "file": "translate_v3_generated_translation_service_batch_translate_text_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_BatchTranslateText_sync", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_batch_translate_text_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.create_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.CreateGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "CreateGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.CreateGlossaryRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "glossary", - "type": "google.cloud.translate_v3.types.Glossary" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "create_glossary" - }, - "description": "Sample for CreateGlossary", - "file": "translate_v3_generated_translation_service_create_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_async", - "segments": [ - { - "end": 59, - "start": 27, - "type": "FULL" - }, - { - "end": 59, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 56, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 60, - "start": 57, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_create_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.create_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.CreateGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "CreateGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.CreateGlossaryRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "glossary", - "type": "google.cloud.translate_v3.types.Glossary" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "create_glossary" - }, - "description": "Sample for CreateGlossary", - "file": "translate_v3_generated_translation_service_create_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_CreateGlossary_sync", - "segments": [ - { - "end": 59, - "start": 27, - "type": "FULL" - }, - { - "end": 59, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 56, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 60, - "start": 57, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_create_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.delete_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.DeleteGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DeleteGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.DeleteGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "delete_glossary" - }, - "description": "Sample for DeleteGlossary", - "file": "translate_v3_generated_translation_service_delete_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_async", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_delete_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.delete_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.DeleteGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DeleteGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.DeleteGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "delete_glossary" - }, - "description": "Sample for DeleteGlossary", - "file": "translate_v3_generated_translation_service_delete_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_DeleteGlossary_sync", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_delete_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.detect_language", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.DetectLanguage", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DetectLanguage" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.DetectLanguageRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "content", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.DetectLanguageResponse", - "shortName": "detect_language" - }, - "description": "Sample for DetectLanguage", - "file": "translate_v3_generated_translation_service_detect_language_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_detect_language_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.detect_language", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.DetectLanguage", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DetectLanguage" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.DetectLanguageRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "content", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.DetectLanguageResponse", - "shortName": "detect_language" - }, - "description": "Sample for DetectLanguage", - "file": "translate_v3_generated_translation_service_detect_language_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_DetectLanguage_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_detect_language_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.get_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.GetGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.GetGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.Glossary", - "shortName": "get_glossary" - }, - "description": "Sample for GetGlossary", - "file": "translate_v3_generated_translation_service_get_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_GetGlossary_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_get_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.get_glossary", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.GetGlossary", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.GetGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.Glossary", - "shortName": "get_glossary" - }, - "description": "Sample for GetGlossary", - "file": "translate_v3_generated_translation_service_get_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_GetGlossary_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_get_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.get_supported_languages", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.GetSupportedLanguages", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetSupportedLanguages" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.GetSupportedLanguagesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "display_language_code", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.SupportedLanguages", - "shortName": "get_supported_languages" - }, - "description": "Sample for GetSupportedLanguages", - "file": "translate_v3_generated_translation_service_get_supported_languages_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_get_supported_languages_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.get_supported_languages", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.GetSupportedLanguages", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetSupportedLanguages" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.GetSupportedLanguagesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "display_language_code", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.SupportedLanguages", - "shortName": "get_supported_languages" - }, - "description": "Sample for GetSupportedLanguages", - "file": "translate_v3_generated_translation_service_get_supported_languages_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_GetSupportedLanguages_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_get_supported_languages_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.list_glossaries", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.ListGlossaries", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "ListGlossaries" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.ListGlossariesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.services.translation_service.pagers.ListGlossariesAsyncPager", - "shortName": "list_glossaries" - }, - "description": "Sample for ListGlossaries", - "file": "translate_v3_generated_translation_service_list_glossaries_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_list_glossaries_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.list_glossaries", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.ListGlossaries", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "ListGlossaries" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.ListGlossariesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.services.translation_service.pagers.ListGlossariesPager", - "shortName": "list_glossaries" - }, - "description": "Sample for ListGlossaries", - "file": "translate_v3_generated_translation_service_list_glossaries_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_ListGlossaries_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_list_glossaries_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.translate_document", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.TranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.TranslateDocumentRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.TranslateDocumentResponse", - "shortName": "translate_document" - }, - "description": "Sample for TranslateDocument", - "file": "translate_v3_generated_translation_service_translate_document_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_async", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_translate_document_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.translate_document", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.TranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.TranslateDocumentRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.TranslateDocumentResponse", - "shortName": "translate_document" - }, - "description": "Sample for TranslateDocument", - "file": "translate_v3_generated_translation_service_translate_document_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_TranslateDocument_sync", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_translate_document_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceAsyncClient.translate_text", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.TranslateText", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.TranslateTextRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "target_language_code", - "type": "str" - }, - { - "name": "contents", - "type": "Sequence[str]" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.TranslateTextResponse", - "shortName": "translate_text" - }, - "description": "Sample for TranslateText", - "file": "translate_v3_generated_translation_service_translate_text_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_TranslateText_async", - "segments": [ - { - "end": 53, - "start": 27, - "type": "FULL" - }, - { - "end": 53, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 47, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 50, - "start": 48, - "type": "REQUEST_EXECUTION" - }, - { - "end": 54, - "start": 51, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_translate_text_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3.TranslationServiceClient.translate_text", - "method": { - "fullName": "google.cloud.translation.v3.TranslationService.TranslateText", - "service": { - "fullName": "google.cloud.translation.v3.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3.types.TranslateTextRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "target_language_code", - "type": "str" - }, - { - "name": "contents", - "type": "Sequence[str]" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3.types.TranslateTextResponse", - "shortName": "translate_text" - }, - "description": "Sample for TranslateText", - "file": "translate_v3_generated_translation_service_translate_text_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3_generated_TranslationService_TranslateText_sync", - "segments": [ - { - "end": 53, - "start": 27, - "type": "FULL" - }, - { - "end": 53, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 47, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 50, - "start": 48, - "type": "REQUEST_EXECUTION" - }, - { - "end": 54, - "start": 51, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3_generated_translation_service_translate_text_sync.py" - } - ] -} diff --git a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json b/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json deleted file mode 100644 index 979b809d938..00000000000 --- a/translation/samples/generated_samples/snippet_metadata_translate_v3beta1.json +++ /dev/null @@ -1,1680 +0,0 @@ -{ - "clientLibrary": { - "apis": [ - { - "id": "google.cloud.translation.v3beta1", - "version": "v3beta1" - } - ], - "language": "PYTHON", - "name": "google-cloud-translate" - }, - "snippets": [ - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.batch_translate_document", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.BatchTranslateDocumentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "target_language_codes", - "type": "Sequence[str]" - }, - { - "name": "input_configs", - "type": "Sequence[google.cloud.translate_v3beta1.types.BatchDocumentInputConfig]" - }, - { - "name": "output_config", - "type": "google.cloud.translate_v3beta1.types.BatchDocumentOutputConfig" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "batch_translate_document" - }, - "description": "Sample for BatchTranslateDocument", - "file": "translate_v3beta1_generated_translation_service_batch_translate_document_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_batch_translate_document_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.batch_translate_document", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.BatchTranslateDocumentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "source_language_code", - "type": "str" - }, - { - "name": "target_language_codes", - "type": "Sequence[str]" - }, - { - "name": "input_configs", - "type": "Sequence[google.cloud.translate_v3beta1.types.BatchDocumentInputConfig]" - }, - { - "name": "output_config", - "type": "google.cloud.translate_v3beta1.types.BatchDocumentOutputConfig" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "batch_translate_document" - }, - "description": "Sample for BatchTranslateDocument", - "file": "translate_v3beta1_generated_translation_service_batch_translate_document_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_batch_translate_document_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.batch_translate_text", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateText", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.BatchTranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "batch_translate_text" - }, - "description": "Sample for BatchTranslateText", - "file": "translate_v3beta1_generated_translation_service_batch_translate_text_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_async", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_batch_translate_text_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.batch_translate_text", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.BatchTranslateText", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "BatchTranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.BatchTranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "batch_translate_text" - }, - "description": "Sample for BatchTranslateText", - "file": "translate_v3beta1_generated_translation_service_batch_translate_text_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_BatchTranslateText_sync", - "segments": [ - { - "end": 65, - "start": 27, - "type": "FULL" - }, - { - "end": 65, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 55, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 62, - "start": 56, - "type": "REQUEST_EXECUTION" - }, - { - "end": 66, - "start": 63, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_batch_translate_text_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.create_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.CreateGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "CreateGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.CreateGlossaryRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "glossary", - "type": "google.cloud.translate_v3beta1.types.Glossary" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "create_glossary" - }, - "description": "Sample for CreateGlossary", - "file": "translate_v3beta1_generated_translation_service_create_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_async", - "segments": [ - { - "end": 59, - "start": 27, - "type": "FULL" - }, - { - "end": 59, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 56, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 60, - "start": 57, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_create_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.create_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.CreateGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "CreateGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.CreateGlossaryRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "glossary", - "type": "google.cloud.translate_v3beta1.types.Glossary" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "create_glossary" - }, - "description": "Sample for CreateGlossary", - "file": "translate_v3beta1_generated_translation_service_create_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_CreateGlossary_sync", - "segments": [ - { - "end": 59, - "start": 27, - "type": "FULL" - }, - { - "end": 59, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 56, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 60, - "start": 57, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_create_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.delete_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.DeleteGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DeleteGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.DeleteGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "delete_glossary" - }, - "description": "Sample for DeleteGlossary", - "file": "translate_v3beta1_generated_translation_service_delete_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_async", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_delete_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.delete_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.DeleteGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DeleteGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.DeleteGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "delete_glossary" - }, - "description": "Sample for DeleteGlossary", - "file": "translate_v3beta1_generated_translation_service_delete_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_DeleteGlossary_sync", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_delete_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.detect_language", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.DetectLanguage", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DetectLanguage" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.DetectLanguageRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.DetectLanguageResponse", - "shortName": "detect_language" - }, - "description": "Sample for DetectLanguage", - "file": "translate_v3beta1_generated_translation_service_detect_language_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_detect_language_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.detect_language", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.DetectLanguage", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "DetectLanguage" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.DetectLanguageRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "mime_type", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.DetectLanguageResponse", - "shortName": "detect_language" - }, - "description": "Sample for DetectLanguage", - "file": "translate_v3beta1_generated_translation_service_detect_language_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_DetectLanguage_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_detect_language_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.get_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.GetGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.GetGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.Glossary", - "shortName": "get_glossary" - }, - "description": "Sample for GetGlossary", - "file": "translate_v3beta1_generated_translation_service_get_glossary_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_get_glossary_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.get_glossary", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.GetGlossary", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetGlossary" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.GetGlossaryRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.Glossary", - "shortName": "get_glossary" - }, - "description": "Sample for GetGlossary", - "file": "translate_v3beta1_generated_translation_service_get_glossary_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_GetGlossary_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_get_glossary_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.get_supported_languages", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetSupportedLanguages" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.GetSupportedLanguagesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "display_language_code", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.SupportedLanguages", - "shortName": "get_supported_languages" - }, - "description": "Sample for GetSupportedLanguages", - "file": "translate_v3beta1_generated_translation_service_get_supported_languages_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_get_supported_languages_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.get_supported_languages", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "GetSupportedLanguages" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.GetSupportedLanguagesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "display_language_code", - "type": "str" - }, - { - "name": "model", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.SupportedLanguages", - "shortName": "get_supported_languages" - }, - "description": "Sample for GetSupportedLanguages", - "file": "translate_v3beta1_generated_translation_service_get_supported_languages_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_get_supported_languages_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.list_glossaries", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.ListGlossaries", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "ListGlossaries" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.ListGlossariesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "filter", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.services.translation_service.pagers.ListGlossariesAsyncPager", - "shortName": "list_glossaries" - }, - "description": "Sample for ListGlossaries", - "file": "translate_v3beta1_generated_translation_service_list_glossaries_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_list_glossaries_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.list_glossaries", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.ListGlossaries", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "ListGlossaries" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.ListGlossariesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "filter", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.services.translation_service.pagers.ListGlossariesPager", - "shortName": "list_glossaries" - }, - "description": "Sample for ListGlossaries", - "file": "translate_v3beta1_generated_translation_service_list_glossaries_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_ListGlossaries_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_list_glossaries_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.translate_document", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.TranslateDocumentRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.TranslateDocumentResponse", - "shortName": "translate_document" - }, - "description": "Sample for TranslateDocument", - "file": "translate_v3beta1_generated_translation_service_translate_document_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_async", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_translate_document_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.translate_document", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateDocument", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateDocument" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.TranslateDocumentRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.TranslateDocumentResponse", - "shortName": "translate_document" - }, - "description": "Sample for TranslateDocument", - "file": "translate_v3beta1_generated_translation_service_translate_document_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_TranslateDocument_sync", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_translate_document_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient", - "shortName": "TranslationServiceAsyncClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceAsyncClient.translate_text", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateText", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.TranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.TranslateTextResponse", - "shortName": "translate_text" - }, - "description": "Sample for TranslateText", - "file": "translate_v3beta1_generated_translation_service_translate_text_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_async", - "segments": [ - { - "end": 53, - "start": 27, - "type": "FULL" - }, - { - "end": 53, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 47, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 50, - "start": 48, - "type": "REQUEST_EXECUTION" - }, - { - "end": 54, - "start": 51, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_translate_text_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient", - "shortName": "TranslationServiceClient" - }, - "fullName": "google.cloud.translate_v3beta1.TranslationServiceClient.translate_text", - "method": { - "fullName": "google.cloud.translation.v3beta1.TranslationService.TranslateText", - "service": { - "fullName": "google.cloud.translation.v3beta1.TranslationService", - "shortName": "TranslationService" - }, - "shortName": "TranslateText" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.translate_v3beta1.types.TranslateTextRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.translate_v3beta1.types.TranslateTextResponse", - "shortName": "translate_text" - }, - "description": "Sample for TranslateText", - "file": "translate_v3beta1_generated_translation_service_translate_text_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "translate_v3beta1_generated_TranslationService_TranslateText_sync", - "segments": [ - { - "end": 53, - "start": 27, - "type": "FULL" - }, - { - "end": 53, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 47, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 50, - "start": 48, - "type": "REQUEST_EXECUTION" - }, - { - "end": 54, - "start": 51, - "type": "RESPONSE_HANDLING" - } - ], - "title": "translate_v3beta1_generated_translation_service_translate_text_sync.py" - } - ] -} diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py deleted file mode 100644 index a43e5e4ebe7..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_async.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_BatchTranslateDocument_async] -from google.cloud import translate_v3 - - -async def sample_batch_translate_document(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py deleted file mode 100644 index bf3588562be..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_document_sync.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_BatchTranslateDocument_sync] -from google.cloud import translate_v3 - - -def sample_batch_translate_document(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py deleted file mode 100644 index 431f7edfd97..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_async.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_BatchTranslateText_async] -from google.cloud import translate_v3 - - -async def sample_batch_translate_text(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py deleted file mode 100644 index 68f8b1ff2e8..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_batch_translate_text_sync.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_BatchTranslateText_sync] -from google.cloud import translate_v3 - - -def sample_batch_translate_text(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py deleted file mode 100644 index a407ed4613a..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_CreateGlossary_async] -from google.cloud import translate_v3 - - -async def sample_create_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - glossary = translate_v3.Glossary() - glossary.name = "name_value" - - request = translate_v3.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py deleted file mode 100644 index 68fcc191eeb..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_create_glossary_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_CreateGlossary_sync] -from google.cloud import translate_v3 - - -def sample_create_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - glossary = translate_v3.Glossary() - glossary.name = "name_value" - - request = translate_v3.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py deleted file mode 100644 index 9e859d68709..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_async.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_DeleteGlossary_async] -from google.cloud import translate_v3 - - -async def sample_delete_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py deleted file mode 100644 index e397a1bda26..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_delete_glossary_sync.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_DeleteGlossary_sync] -from google.cloud import translate_v3 - - -def sample_delete_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py deleted file mode 100644 index 3539d116af0..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_async.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_DetectLanguage_async] -from google.cloud import translate_v3 - - -async def sample_detect_language(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = await client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py deleted file mode 100644 index 5f76924c8d7..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_detect_language_sync.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_DetectLanguage_sync] -from google.cloud import translate_v3 - - -def sample_detect_language(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py deleted file mode 100644 index ffd2fd34e3f..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_async.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_GetGlossary_async] -from google.cloud import translate_v3 - - -async def sample_get_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = await client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py deleted file mode 100644 index 751b4dad21b..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_glossary_sync.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_GetGlossary_sync] -from google.cloud import translate_v3 - - -def sample_get_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py deleted file mode 100644 index 279fe4fd386..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_async.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_GetSupportedLanguages_async] -from google.cloud import translate_v3 - - -async def sample_get_supported_languages(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = await client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py deleted file mode 100644 index 378d3328bf9..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_get_supported_languages_sync.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_GetSupportedLanguages_sync] -from google.cloud import translate_v3 - - -def sample_get_supported_languages(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py deleted file mode 100644 index 30ea3da67b8..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_async.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_ListGlossaries_async] -from google.cloud import translate_v3 - - -async def sample_list_glossaries(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END translate_generated_translate_v3_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py deleted file mode 100644 index 3b67db9b1e4..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_list_glossaries_sync.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_ListGlossaries_sync] -from google.cloud import translate_v3 - - -def sample_list_glossaries(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END translate_generated_translate_v3_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py deleted file mode 100644 index 533078a965f..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_async.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_TranslateDocument_async] -from google.cloud import translate_v3 - - -async def sample_translate_document(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - document_input_config = translate_v3.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = await client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py deleted file mode 100644 index b6f4c1a9531..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_document_sync.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_TranslateDocument_sync] -from google.cloud import translate_v3 - - -def sample_translate_document(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - document_input_config = translate_v3.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py deleted file mode 100644 index 8d20de78686..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_async.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_TranslateText_async] -from google.cloud import translate_v3 - - -async def sample_translate_text(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = await client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py deleted file mode 100644 index 458d11cd71d..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3_translation_service_translate_text_sync.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3_TranslationService_TranslateText_sync] -from google.cloud import translate_v3 - - -def sample_translate_text(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py deleted file mode 100644 index 60bb5b44459..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_async.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_async] -from google.cloud import translate_v3beta1 - - -async def sample_batch_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py deleted file mode 100644 index c8095f5734b..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_document_sync.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_sync] -from google.cloud import translate_v3beta1 - - -def sample_batch_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py deleted file mode 100644 index b3406405f01..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_async.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_async] -from google.cloud import translate_v3beta1 - - -async def sample_batch_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py deleted file mode 100644 index ab674d3d4ab..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_batch_translate_text_sync.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_sync] -from google.cloud import translate_v3beta1 - - -def sample_batch_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value_1', 'target_language_codes_value_2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py deleted file mode 100644 index 548c6439ae7..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_CreateGlossary_async] -from google.cloud import translate_v3beta1 - - -async def sample_create_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - glossary = translate_v3beta1.Glossary() - glossary.name = "name_value" - - request = translate_v3beta1.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py deleted file mode 100644 index 9898c15e1db..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_create_glossary_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_CreateGlossary_sync] -from google.cloud import translate_v3beta1 - - -def sample_create_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - glossary = translate_v3beta1.Glossary() - glossary.name = "name_value" - - request = translate_v3beta1.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py deleted file mode 100644 index 09de10c8920..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_async.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_async] -from google.cloud import translate_v3beta1 - - -async def sample_delete_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py deleted file mode 100644 index fca8fca28bf..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_delete_glossary_sync.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_sync] -from google.cloud import translate_v3beta1 - - -def sample_delete_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py deleted file mode 100644 index 021bde2e245..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_async.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_DetectLanguage_async] -from google.cloud import translate_v3beta1 - - -async def sample_detect_language(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = await client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py deleted file mode 100644 index 5d88e95b258..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_detect_language_sync.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_DetectLanguage_sync] -from google.cloud import translate_v3beta1 - - -def sample_detect_language(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py deleted file mode 100644 index 50363956378..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_async.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_GetGlossary_async] -from google.cloud import translate_v3beta1 - - -async def sample_get_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = await client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py deleted file mode 100644 index 8160d982e7b..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_glossary_sync.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_GetGlossary_sync] -from google.cloud import translate_v3beta1 - - -def sample_get_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py deleted file mode 100644 index 641f6bedabe..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_async.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_async] -from google.cloud import translate_v3beta1 - - -async def sample_get_supported_languages(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = await client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py deleted file mode 100644 index 4f5aef8f219..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_get_supported_languages_sync.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_sync] -from google.cloud import translate_v3beta1 - - -def sample_get_supported_languages(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py deleted file mode 100644 index f1a9688c202..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_async.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_ListGlossaries_async] -from google.cloud import translate_v3beta1 - - -async def sample_list_glossaries(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py deleted file mode 100644 index d2a81deee15..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_list_glossaries_sync.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_ListGlossaries_sync] -from google.cloud import translate_v3beta1 - - -def sample_list_glossaries(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py deleted file mode 100644 index 0593c6dafc6..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_async.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_TranslateDocument_async] -from google.cloud import translate_v3beta1 - - -async def sample_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - document_input_config = translate_v3beta1.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3beta1.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = await client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py deleted file mode 100644 index 2deac12ae49..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_document_sync.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_TranslateDocument_sync] -from google.cloud import translate_v3beta1 - - -def sample_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - document_input_config = translate_v3beta1.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3beta1.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py deleted file mode 100644 index 5228dc9a718..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_async.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_TranslateText_async] -from google.cloud import translate_v3beta1 - - -async def sample_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = await client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py deleted file mode 100644 index d24cc2f2769..00000000000 --- a/translation/samples/generated_samples/translate_generated_translate_v3beta1_translation_service_translate_text_sync.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_generated_translate_v3beta1_TranslationService_TranslateText_sync] -from google.cloud import translate_v3beta1 - - -def sample_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value_1', 'contents_value_2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_generated_translate_v3beta1_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py deleted file mode 100644 index 84615baae10..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_async.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_BatchTranslateDocument_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_batch_translate_document(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py deleted file mode 100644 index cb02d83e322..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_document_sync.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_BatchTranslateDocument_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_batch_translate_document(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py deleted file mode 100644 index 01c0575bbdc..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_async.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_BatchTranslateText_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_batch_translate_text(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py deleted file mode 100644 index 4cc92a7fc2b..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_batch_translate_text_sync.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_BatchTranslateText_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_batch_translate_text(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py deleted file mode 100644 index 52313f40635..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_async.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_CreateGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_create_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - glossary = translate_v3.Glossary() - glossary.name = "name_value" - - request = translate_v3.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py deleted file mode 100644 index a91cb0279fa..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_create_glossary_sync.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_CreateGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_create_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - glossary = translate_v3.Glossary() - glossary.name = "name_value" - - request = translate_v3.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py deleted file mode 100644 index 5f82f68f39a..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_async.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_DeleteGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_delete_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py deleted file mode 100644 index d19258d05c8..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_delete_glossary_sync.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_DeleteGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_delete_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py deleted file mode 100644 index eb234168727..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_DetectLanguage_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_detect_language(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = await client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py deleted file mode 100644 index b0ce0884178..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_detect_language_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_DetectLanguage_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_detect_language(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py deleted file mode 100644 index 2ef9e43a118..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_GetGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_get_glossary(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = await client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py deleted file mode 100644 index 4b4c7e51d0d..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_glossary_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_GetGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_get_glossary(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py deleted file mode 100644 index 8f6d3299b94..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_GetSupportedLanguages_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_get_supported_languages(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = await client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py deleted file mode 100644 index f3bd0209d30..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_get_supported_languages_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_GetSupportedLanguages_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_get_supported_languages(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py deleted file mode 100644 index 54f6e66aba6..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_ListGlossaries_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_list_glossaries(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END translate_v3_generated_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py deleted file mode 100644 index ce772b4c740..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_list_glossaries_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_ListGlossaries_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_list_glossaries(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END translate_v3_generated_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py deleted file mode 100644 index 961a519658f..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_async.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_TranslateDocument_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_translate_document(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - document_input_config = translate_v3.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = await client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py deleted file mode 100644 index 53e7655fa4d..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_document_sync.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_TranslateDocument_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_translate_document(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - document_input_config = translate_v3.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py deleted file mode 100644 index c33cb15fc81..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_async.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_TranslateText_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -async def sample_translate_text(): - # Create a client - client = translate_v3.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3.TranslateTextRequest( - contents=['contents_value1', 'contents_value2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = await client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py deleted file mode 100644 index 322251b14dd..00000000000 --- a/translation/samples/generated_samples/translate_v3_generated_translation_service_translate_text_sync.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3_generated_TranslationService_TranslateText_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3 - - -def sample_translate_text(): - # Create a client - client = translate_v3.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3.TranslateTextRequest( - contents=['contents_value1', 'contents_value2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_v3_generated_TranslationService_TranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py deleted file mode 100644 index 41f568f5983..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_async.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_batch_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_BatchTranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py deleted file mode 100644 index b51e67c720c..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_document_sync.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_batch_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.BatchDocumentInputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.BatchDocumentOutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateDocumentRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_document(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_BatchTranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py deleted file mode 100644 index f5df837f5aa..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_async.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_BatchTranslateText_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_batch_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_BatchTranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py deleted file mode 100644 index 7ba41747655..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_batch_translate_text_sync.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for BatchTranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_BatchTranslateText_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_batch_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - input_configs = translate_v3beta1.InputConfig() - input_configs.gcs_source.input_uri = "input_uri_value" - - output_config = translate_v3beta1.OutputConfig() - output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" - - request = translate_v3beta1.BatchTranslateTextRequest( - parent="parent_value", - source_language_code="source_language_code_value", - target_language_codes=['target_language_codes_value1', 'target_language_codes_value2'], - input_configs=input_configs, - output_config=output_config, - ) - - # Make the request - operation = client.batch_translate_text(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_BatchTranslateText_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py deleted file mode 100644 index c84e7bcfbfb..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_async.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_CreateGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_create_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - glossary = translate_v3beta1.Glossary() - glossary.name = "name_value" - - request = translate_v3beta1.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_CreateGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py deleted file mode 100644 index 9778205ce03..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_create_glossary_sync.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_CreateGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_create_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - glossary = translate_v3beta1.Glossary() - glossary.name = "name_value" - - request = translate_v3beta1.CreateGlossaryRequest( - parent="parent_value", - glossary=glossary, - ) - - # Make the request - operation = client.create_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_CreateGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py deleted file mode 100644 index d0da26f0bb9..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_async.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_DeleteGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_delete_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_DeleteGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py deleted file mode 100644 index f5753ac38c3..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_delete_glossary_sync.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_DeleteGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_delete_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.DeleteGlossaryRequest( - name="name_value", - ) - - # Make the request - operation = client.delete_glossary(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_DeleteGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py deleted file mode 100644 index 4ed09f346e7..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_DetectLanguage_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_detect_language(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = await client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_DetectLanguage_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py deleted file mode 100644 index a6e1789bf6a..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_detect_language_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DetectLanguage -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_DetectLanguage_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_detect_language(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.DetectLanguageRequest( - content="content_value", - parent="parent_value", - ) - - # Make the request - response = client.detect_language(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_DetectLanguage_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py deleted file mode 100644 index 2dc74b55385..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_GetGlossary_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_get_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = await client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_GetGlossary_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py deleted file mode 100644 index a34f098e432..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_glossary_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetGlossary -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_GetGlossary_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_get_glossary(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetGlossaryRequest( - name="name_value", - ) - - # Make the request - response = client.get_glossary(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_GetGlossary_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py deleted file mode 100644 index e416176832c..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_get_supported_languages(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = await client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_GetSupportedLanguages_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py deleted file mode 100644 index 4c4b21af892..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_get_supported_languages_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetSupportedLanguages -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_get_supported_languages(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.GetSupportedLanguagesRequest( - parent="parent_value", - ) - - # Make the request - response = client.get_supported_languages(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_GetSupportedLanguages_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py deleted file mode 100644 index 0563a3fb43c..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_ListGlossaries_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_list_glossaries(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END translate_v3beta1_generated_TranslationService_ListGlossaries_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py deleted file mode 100644 index fd749f69aa2..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_list_glossaries_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListGlossaries -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_ListGlossaries_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_list_glossaries(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.ListGlossariesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_glossaries(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END translate_v3beta1_generated_TranslationService_ListGlossaries_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py deleted file mode 100644 index 046912a1867..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_async.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_TranslateDocument_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - document_input_config = translate_v3beta1.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3beta1.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = await client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_TranslateDocument_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py deleted file mode 100644 index f7ef4b00fca..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_document_sync.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateDocument -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_TranslateDocument_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_translate_document(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - document_input_config = translate_v3beta1.DocumentInputConfig() - document_input_config.content = b'content_blob' - - request = translate_v3beta1.TranslateDocumentRequest( - parent="parent_value", - target_language_code="target_language_code_value", - document_input_config=document_input_config, - ) - - # Make the request - response = client.translate_document(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_TranslateDocument_sync] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py deleted file mode 100644 index 2efb10b2e8d..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_async.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_TranslateText_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -async def sample_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceAsyncClient() - - # Initialize request argument(s) - request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value1', 'contents_value2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = await client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_TranslateText_async] diff --git a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py b/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py deleted file mode 100644 index 7847c5476c4..00000000000 --- a/translation/samples/generated_samples/translate_v3beta1_generated_translation_service_translate_text_sync.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Generated code. DO NOT EDIT! -# -# Snippet for TranslateText -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-translate - - -# [START translate_v3beta1_generated_TranslationService_TranslateText_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import translate_v3beta1 - - -def sample_translate_text(): - # Create a client - client = translate_v3beta1.TranslationServiceClient() - - # Initialize request argument(s) - request = translate_v3beta1.TranslateTextRequest( - contents=['contents_value1', 'contents_value2'], - target_language_code="target_language_code_value", - parent="parent_value", - ) - - # Make the request - response = client.translate_text(request=request) - - # Handle the response - print(response) - -# [END translate_v3beta1_generated_TranslationService_TranslateText_sync] diff --git a/translation/samples/snippets/noxfile.py b/translation/samples/snippets/noxfile.py deleted file mode 100644 index 0398d72ff69..00000000000 --- a/translation/samples/snippets/noxfile.py +++ /dev/null @@ -1,312 +0,0 @@ -# Copyright 2019 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import glob -import os -from pathlib import Path -import sys -from typing import Callable, Dict, List, Optional - -import nox - - -# WARNING - WARNING - WARNING - WARNING - WARNING -# WARNING - WARNING - WARNING - WARNING - WARNING -# DO NOT EDIT THIS FILE EVER! -# WARNING - WARNING - WARNING - WARNING - WARNING -# WARNING - WARNING - WARNING - WARNING - WARNING - -BLACK_VERSION = "black==22.3.0" -ISORT_VERSION = "isort==5.10.1" - -# Copy `noxfile_config.py` to your directory and modify it instead. - -# `TEST_CONFIG` dict is a configuration hook that allows users to -# modify the test configurations. The values here should be in sync -# with `noxfile_config.py`. Users will copy `noxfile_config.py` into -# their directory and modify it. - -TEST_CONFIG = { - # You can opt out from the test for specific Python versions. - "ignored_versions": [], - # Old samples are opted out of enforcing Python type hints - # All new samples should feature them - "enforce_type_hints": False, - # An envvar key for determining the project id to use. Change it - # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a - # build specific Cloud project. You can also use your own string - # to use your own Cloud project. - "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", - # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - # If you need to use a specific version of pip, - # change pip_version_override to the string representation - # of the version number, for example, "20.2.4" - "pip_version_override": None, - # A dictionary you want to inject into your test. Don't put any - # secrets here. These values will override predefined values. - "envs": {}, -} - - -try: - # Ensure we can import noxfile_config in the project's directory. - sys.path.append(".") - from noxfile_config import TEST_CONFIG_OVERRIDE -except ImportError as e: - print("No user noxfile_config found: detail: {}".format(e)) - TEST_CONFIG_OVERRIDE = {} - -# Update the TEST_CONFIG with the user supplied values. -TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) - - -def get_pytest_env_vars() -> Dict[str, str]: - """Returns a dict for pytest invocation.""" - ret = {} - - # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG["gcloud_project_env"] - # This should error out if not set. - ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] - - # Apply user supplied envs. - ret.update(TEST_CONFIG["envs"]) - return ret - - -# DO NOT EDIT - automatically generated. -# All versions used to test samples. -ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] - -# Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] - -TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) - -INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ( - "True", - "true", -) - -# Error if a python version is missing -nox.options.error_on_missing_interpreters = True - -# -# Style Checks -# - - -def _determine_local_import_names(start_dir: str) -> List[str]: - """Determines all import names that should be considered "local". - - This is used when running the linter to insure that import order is - properly checked. - """ - file_ext_pairs = [os.path.splitext(path) for path in os.listdir(start_dir)] - return [ - basename - for basename, extension in file_ext_pairs - if extension == ".py" - or os.path.isdir(os.path.join(start_dir, basename)) - and basename not in ("__pycache__") - ] - - -# Linting with flake8. -# -# We ignore the following rules: -# E203: whitespace before ‘:’ -# E266: too many leading ‘#’ for block comment -# E501: line too long -# I202: Additional newline in a section of imports -# -# We also need to specify the rules which are ignored by default: -# ['E226', 'W504', 'E126', 'E123', 'W503', 'E24', 'E704', 'E121'] -FLAKE8_COMMON_ARGS = [ - "--show-source", - "--builtin=gettext", - "--max-complexity=20", - "--import-order-style=google", - "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", - "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", - "--max-line-length=88", -] - - -@nox.session -def lint(session: nox.sessions.Session) -> None: - if not TEST_CONFIG["enforce_type_hints"]: - session.install("flake8", "flake8-import-order") - else: - session.install("flake8", "flake8-import-order", "flake8-annotations") - - local_names = _determine_local_import_names(".") - args = FLAKE8_COMMON_ARGS + [ - "--application-import-names", - ",".join(local_names), - ".", - ] - session.run("flake8", *args) - - -# -# Black -# - - -@nox.session -def blacken(session: nox.sessions.Session) -> None: - """Run black. Format code to uniform standard.""" - session.install(BLACK_VERSION) - python_files = [path for path in os.listdir(".") if path.endswith(".py")] - - session.run("black", *python_files) - - -# -# format = isort + black -# - -@nox.session -def format(session: nox.sessions.Session) -> None: - """ - Run isort to sort imports. Then run black - to format code to uniform standard. - """ - session.install(BLACK_VERSION, ISORT_VERSION) - python_files = [path for path in os.listdir(".") if path.endswith(".py")] - - # Use the --fss option to sort imports using strict alphabetical order. - # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections - session.run("isort", "--fss", *python_files) - session.run("black", *python_files) - - -# -# Sample Tests -# - - -PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] - - -def _session_tests( - session: nox.sessions.Session, post_install: Callable = None -) -> None: - # check for presence of tests - test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) - test_list.extend(glob.glob("**/tests", recursive=True)) - - if len(test_list) == 0: - print("No tests found, skipping directory.") - return - - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - concurrent_args = [] - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - with open("requirements.txt") as rfile: - packages = rfile.read() - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) - else: - session.install("-r", "requirements-test.txt") - with open("requirements-test.txt") as rtfile: - packages += rtfile.read() - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - if "pytest-parallel" in packages: - concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) - elif "pytest-xdist" in packages: - concurrent_args.extend(['-n', 'auto']) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs + concurrent_args), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) - - -@nox.session(python=ALL_VERSIONS) -def py(session: nox.sessions.Session) -> None: - """Runs py.test for a sample using the specified version of Python.""" - if session.python in TESTED_VERSIONS: - _session_tests(session) - else: - session.skip( - "SKIPPED: {} tests are disabled for this sample.".format(session.python) - ) - - -# -# Readmegen -# - - -def _get_repo_root() -> Optional[str]: - """ Returns the root folder of the project. """ - # Get root of this repository. Assume we don't have directories nested deeper than 10 items. - p = Path(os.getcwd()) - for i in range(10): - if p is None: - break - if Path(p / ".git").exists(): - return str(p) - # .git is not available in repos cloned via Cloud Build - # setup.py is always in the library's root, so use that instead - # https://github.com/googleapis/synthtool/issues/792 - if Path(p / "setup.py").exists(): - return str(p) - p = p.parent - raise Exception("Unable to detect repository root.") - - -GENERATED_READMES = sorted([x for x in Path(".").rglob("*.rst.in")]) - - -@nox.session -@nox.parametrize("path", GENERATED_READMES) -def readmegen(session: nox.sessions.Session, path: str) -> None: - """(Re-)generates the readme for a sample.""" - session.install("jinja2", "pyyaml") - dir_ = os.path.dirname(path) - - if os.path.exists(os.path.join(dir_, "requirements.txt")): - session.install("-r", os.path.join(dir_, "requirements.txt")) - - in_file = os.path.join(dir_, "README.rst.in") - session.run( - "python", _get_repo_root() + "/scripts/readme-gen/readme_gen.py", in_file - ) From 28e0d1fb9f59f710247bfec2197567afa1ac71e5 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 18 Nov 2022 10:51:09 -0800 Subject: [PATCH 268/270] lint --- .../snippets/hybrid_glossaries/hybrid_tutorial_test.py | 5 +---- .../snippets/hybrid_glossaries/resources/standard_format.txt | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 8f81f325bad..61098f8aaae 100644 --- a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -90,10 +90,7 @@ def test_translate_glossary(): def test_tts_standard(capsys): outfile = "resources/test_standard_text.mp3" - textfile = "resources/standard_format.txt" - - with open(textfile, "r") as f: - text = f.read() + text = "this is\na test!" text_to_speech(text, outfile) diff --git a/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt b/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt deleted file mode 100644 index d91d49e8680..00000000000 --- a/translation/samples/snippets/hybrid_glossaries/resources/standard_format.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is -a test! From 3c98f66bed2af5d7085116170ea84b1969885b6a Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 18 Nov 2022 11:10:38 -0800 Subject: [PATCH 269/270] per reviewer --- .../samples/AUTHORING_GUIDE.md | 0 .../samples/CONTRIBUTING.md | 0 .../cloud-nebulous-serverless/README.md | 0 .../samples/snippets/README.rst | 0 .../samples/snippets/README.rst.in | 0 .../snippets/hybrid_glossaries/README.rst | 0 .../snippets/hybrid_glossaries/README.rst.in | 0 .../hybrid_glossaries/hybrid_tutorial.py | 0 .../hybrid_glossaries/hybrid_tutorial_test.py | 0 .../hybrid_glossaries/requirements-test.txt | 0 .../hybrid_glossaries/requirements.txt | 0 .../resources/bistro_glossary.csv | 0 .../hybrid_glossaries/resources/example.mp3 | Bin .../hybrid_glossaries/resources/example.png | Bin .../resources/expected_standard_text.mp3 | Bin .../resources/standard_format.jpeg | Bin .../samples/snippets/pytest.ini | 0 .../samples/snippets/requirements-test.txt | 0 .../samples/snippets/requirements.txt | 0 .../snippets/resources/fake_invoice.pdf | Bin .../samples/snippets/snippets.py | 0 .../samples/snippets/snippets_test.py | 0 .../translate_v3_batch_translate_text.py | 0 .../translate_v3_batch_translate_text_test.py | 0 ...e_v3_batch_translate_text_with_glossary.py | 0 ..._translate_text_with_glossary_and_model.py | 0 ...slate_text_with_glossary_and_model_test.py | 0 ...batch_translate_text_with_glossary_test.py | 0 ...late_v3_batch_translate_text_with_model.py | 0 ...v3_batch_translate_text_with_model_test.py | 0 .../snippets/translate_v3_create_glossary.py | 0 .../translate_v3_create_glossary_test.py | 0 .../snippets/translate_v3_delete_glossary.py | 0 .../translate_v3_delete_glossary_test.py | 0 .../snippets/translate_v3_detect_language.py | 0 .../translate_v3_detect_language_test.py | 0 .../snippets/translate_v3_get_glossary.py | 0 .../translate_v3_get_glossary_test.py | 0 .../translate_v3_get_supported_languages.py | 0 ...anslate_v3_get_supported_languages_test.py | 0 ..._v3_get_supported_languages_with_target.py | 0 ...et_supported_languages_with_target_test.py | 0 .../snippets/translate_v3_list_glossary.py | 0 .../translate_v3_list_glossary_test.py | 0 .../snippets/translate_v3_translate_text.py | 0 .../translate_v3_translate_text_test.py | 0 ...anslate_v3_translate_text_with_glossary.py | 0 ...te_v3_translate_text_with_glossary_test.py | 0 .../translate_v3_translate_text_with_model.py | 0 ...slate_v3_translate_text_with_model_test.py | 0 ...nslate_v3beta1_batch_translate_document.py | 0 ...e_v3beta1_batch_translate_document_test.py | 0 .../translate_v3beta1_translate_document.py | 0 ...anslate_v3beta1_translate_document_test.py | 0 .../snippets/hybrid_glossaries/noxfile.py | 312 ------------------ 55 files changed, 312 deletions(-) rename {translation => translate}/samples/AUTHORING_GUIDE.md (100%) rename {translation => translate}/samples/CONTRIBUTING.md (100%) rename {translation => translate}/samples/cloud-nebulous-serverless/README.md (100%) rename {translation => translate}/samples/snippets/README.rst (100%) rename {translation => translate}/samples/snippets/README.rst.in (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/README.rst (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/README.rst.in (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/hybrid_tutorial.py (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/requirements-test.txt (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/requirements.txt (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/resources/example.mp3 (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/resources/example.png (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 (100%) rename {translation => translate}/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg (100%) rename {translation => translate}/samples/snippets/pytest.ini (100%) rename {translation => translate}/samples/snippets/requirements-test.txt (100%) rename {translation => translate}/samples/snippets/requirements.txt (100%) rename {translation => translate}/samples/snippets/resources/fake_invoice.pdf (100%) rename {translation => translate}/samples/snippets/snippets.py (100%) rename {translation => translate}/samples/snippets/snippets_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_model.py (100%) rename {translation => translate}/samples/snippets/translate_v3_batch_translate_text_with_model_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_create_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_create_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_delete_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_delete_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_detect_language.py (100%) rename {translation => translate}/samples/snippets/translate_v3_detect_language_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_supported_languages.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_supported_languages_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_supported_languages_with_target.py (100%) rename {translation => translate}/samples/snippets/translate_v3_get_supported_languages_with_target_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_list_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_list_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text_with_glossary.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text_with_glossary_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text_with_model.py (100%) rename {translation => translate}/samples/snippets/translate_v3_translate_text_with_model_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3beta1_batch_translate_document.py (100%) rename {translation => translate}/samples/snippets/translate_v3beta1_batch_translate_document_test.py (100%) rename {translation => translate}/samples/snippets/translate_v3beta1_translate_document.py (100%) rename {translation => translate}/samples/snippets/translate_v3beta1_translate_document_test.py (100%) delete mode 100644 translation/samples/snippets/hybrid_glossaries/noxfile.py diff --git a/translation/samples/AUTHORING_GUIDE.md b/translate/samples/AUTHORING_GUIDE.md similarity index 100% rename from translation/samples/AUTHORING_GUIDE.md rename to translate/samples/AUTHORING_GUIDE.md diff --git a/translation/samples/CONTRIBUTING.md b/translate/samples/CONTRIBUTING.md similarity index 100% rename from translation/samples/CONTRIBUTING.md rename to translate/samples/CONTRIBUTING.md diff --git a/translation/samples/cloud-nebulous-serverless/README.md b/translate/samples/cloud-nebulous-serverless/README.md similarity index 100% rename from translation/samples/cloud-nebulous-serverless/README.md rename to translate/samples/cloud-nebulous-serverless/README.md diff --git a/translation/samples/snippets/README.rst b/translate/samples/snippets/README.rst similarity index 100% rename from translation/samples/snippets/README.rst rename to translate/samples/snippets/README.rst diff --git a/translation/samples/snippets/README.rst.in b/translate/samples/snippets/README.rst.in similarity index 100% rename from translation/samples/snippets/README.rst.in rename to translate/samples/snippets/README.rst.in diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst b/translate/samples/snippets/hybrid_glossaries/README.rst similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/README.rst rename to translate/samples/snippets/hybrid_glossaries/README.rst diff --git a/translation/samples/snippets/hybrid_glossaries/README.rst.in b/translate/samples/snippets/hybrid_glossaries/README.rst.in similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/README.rst.in rename to translate/samples/snippets/hybrid_glossaries/README.rst.in diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py b/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial.py similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/hybrid_tutorial.py rename to translate/samples/snippets/hybrid_glossaries/hybrid_tutorial.py diff --git a/translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py rename to translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py diff --git a/translation/samples/snippets/hybrid_glossaries/requirements-test.txt b/translate/samples/snippets/hybrid_glossaries/requirements-test.txt similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/requirements-test.txt rename to translate/samples/snippets/hybrid_glossaries/requirements-test.txt diff --git a/translation/samples/snippets/hybrid_glossaries/requirements.txt b/translate/samples/snippets/hybrid_glossaries/requirements.txt similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/requirements.txt rename to translate/samples/snippets/hybrid_glossaries/requirements.txt diff --git a/translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv b/translate/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv rename to translate/samples/snippets/hybrid_glossaries/resources/bistro_glossary.csv diff --git a/translation/samples/snippets/hybrid_glossaries/resources/example.mp3 b/translate/samples/snippets/hybrid_glossaries/resources/example.mp3 similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/resources/example.mp3 rename to translate/samples/snippets/hybrid_glossaries/resources/example.mp3 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/example.png b/translate/samples/snippets/hybrid_glossaries/resources/example.png similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/resources/example.png rename to translate/samples/snippets/hybrid_glossaries/resources/example.png diff --git a/translation/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 b/translate/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 rename to translate/samples/snippets/hybrid_glossaries/resources/expected_standard_text.mp3 diff --git a/translation/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg b/translate/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg similarity index 100% rename from translation/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg rename to translate/samples/snippets/hybrid_glossaries/resources/standard_format.jpeg diff --git a/translation/samples/snippets/pytest.ini b/translate/samples/snippets/pytest.ini similarity index 100% rename from translation/samples/snippets/pytest.ini rename to translate/samples/snippets/pytest.ini diff --git a/translation/samples/snippets/requirements-test.txt b/translate/samples/snippets/requirements-test.txt similarity index 100% rename from translation/samples/snippets/requirements-test.txt rename to translate/samples/snippets/requirements-test.txt diff --git a/translation/samples/snippets/requirements.txt b/translate/samples/snippets/requirements.txt similarity index 100% rename from translation/samples/snippets/requirements.txt rename to translate/samples/snippets/requirements.txt diff --git a/translation/samples/snippets/resources/fake_invoice.pdf b/translate/samples/snippets/resources/fake_invoice.pdf similarity index 100% rename from translation/samples/snippets/resources/fake_invoice.pdf rename to translate/samples/snippets/resources/fake_invoice.pdf diff --git a/translation/samples/snippets/snippets.py b/translate/samples/snippets/snippets.py similarity index 100% rename from translation/samples/snippets/snippets.py rename to translate/samples/snippets/snippets.py diff --git a/translation/samples/snippets/snippets_test.py b/translate/samples/snippets/snippets_test.py similarity index 100% rename from translation/samples/snippets/snippets_test.py rename to translate/samples/snippets/snippets_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text.py b/translate/samples/snippets/translate_v3_batch_translate_text.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text.py rename to translate/samples/snippets/translate_v3_batch_translate_text.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_test.py b/translate/samples/snippets/translate_v3_batch_translate_text_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_test.py rename to translate/samples/snippets/translate_v3_batch_translate_text_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_glossary.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_glossary.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_and_model_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_model.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_model.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_model.py diff --git a/translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py b/translate/samples/snippets/translate_v3_batch_translate_text_with_model_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_batch_translate_text_with_model_test.py rename to translate/samples/snippets/translate_v3_batch_translate_text_with_model_test.py diff --git a/translation/samples/snippets/translate_v3_create_glossary.py b/translate/samples/snippets/translate_v3_create_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_create_glossary.py rename to translate/samples/snippets/translate_v3_create_glossary.py diff --git a/translation/samples/snippets/translate_v3_create_glossary_test.py b/translate/samples/snippets/translate_v3_create_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_create_glossary_test.py rename to translate/samples/snippets/translate_v3_create_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_delete_glossary.py b/translate/samples/snippets/translate_v3_delete_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_delete_glossary.py rename to translate/samples/snippets/translate_v3_delete_glossary.py diff --git a/translation/samples/snippets/translate_v3_delete_glossary_test.py b/translate/samples/snippets/translate_v3_delete_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_delete_glossary_test.py rename to translate/samples/snippets/translate_v3_delete_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_detect_language.py b/translate/samples/snippets/translate_v3_detect_language.py similarity index 100% rename from translation/samples/snippets/translate_v3_detect_language.py rename to translate/samples/snippets/translate_v3_detect_language.py diff --git a/translation/samples/snippets/translate_v3_detect_language_test.py b/translate/samples/snippets/translate_v3_detect_language_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_detect_language_test.py rename to translate/samples/snippets/translate_v3_detect_language_test.py diff --git a/translation/samples/snippets/translate_v3_get_glossary.py b/translate/samples/snippets/translate_v3_get_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_glossary.py rename to translate/samples/snippets/translate_v3_get_glossary.py diff --git a/translation/samples/snippets/translate_v3_get_glossary_test.py b/translate/samples/snippets/translate_v3_get_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_glossary_test.py rename to translate/samples/snippets/translate_v3_get_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_get_supported_languages.py b/translate/samples/snippets/translate_v3_get_supported_languages.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_supported_languages.py rename to translate/samples/snippets/translate_v3_get_supported_languages.py diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_test.py b/translate/samples/snippets/translate_v3_get_supported_languages_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_supported_languages_test.py rename to translate/samples/snippets/translate_v3_get_supported_languages_test.py diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target.py b/translate/samples/snippets/translate_v3_get_supported_languages_with_target.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_supported_languages_with_target.py rename to translate/samples/snippets/translate_v3_get_supported_languages_with_target.py diff --git a/translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py b/translate/samples/snippets/translate_v3_get_supported_languages_with_target_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_get_supported_languages_with_target_test.py rename to translate/samples/snippets/translate_v3_get_supported_languages_with_target_test.py diff --git a/translation/samples/snippets/translate_v3_list_glossary.py b/translate/samples/snippets/translate_v3_list_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_list_glossary.py rename to translate/samples/snippets/translate_v3_list_glossary.py diff --git a/translation/samples/snippets/translate_v3_list_glossary_test.py b/translate/samples/snippets/translate_v3_list_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_list_glossary_test.py rename to translate/samples/snippets/translate_v3_list_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_translate_text.py b/translate/samples/snippets/translate_v3_translate_text.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text.py rename to translate/samples/snippets/translate_v3_translate_text.py diff --git a/translation/samples/snippets/translate_v3_translate_text_test.py b/translate/samples/snippets/translate_v3_translate_text_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text_test.py rename to translate/samples/snippets/translate_v3_translate_text_test.py diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary.py b/translate/samples/snippets/translate_v3_translate_text_with_glossary.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text_with_glossary.py rename to translate/samples/snippets/translate_v3_translate_text_with_glossary.py diff --git a/translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py b/translate/samples/snippets/translate_v3_translate_text_with_glossary_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text_with_glossary_test.py rename to translate/samples/snippets/translate_v3_translate_text_with_glossary_test.py diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model.py b/translate/samples/snippets/translate_v3_translate_text_with_model.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text_with_model.py rename to translate/samples/snippets/translate_v3_translate_text_with_model.py diff --git a/translation/samples/snippets/translate_v3_translate_text_with_model_test.py b/translate/samples/snippets/translate_v3_translate_text_with_model_test.py similarity index 100% rename from translation/samples/snippets/translate_v3_translate_text_with_model_test.py rename to translate/samples/snippets/translate_v3_translate_text_with_model_test.py diff --git a/translation/samples/snippets/translate_v3beta1_batch_translate_document.py b/translate/samples/snippets/translate_v3beta1_batch_translate_document.py similarity index 100% rename from translation/samples/snippets/translate_v3beta1_batch_translate_document.py rename to translate/samples/snippets/translate_v3beta1_batch_translate_document.py diff --git a/translation/samples/snippets/translate_v3beta1_batch_translate_document_test.py b/translate/samples/snippets/translate_v3beta1_batch_translate_document_test.py similarity index 100% rename from translation/samples/snippets/translate_v3beta1_batch_translate_document_test.py rename to translate/samples/snippets/translate_v3beta1_batch_translate_document_test.py diff --git a/translation/samples/snippets/translate_v3beta1_translate_document.py b/translate/samples/snippets/translate_v3beta1_translate_document.py similarity index 100% rename from translation/samples/snippets/translate_v3beta1_translate_document.py rename to translate/samples/snippets/translate_v3beta1_translate_document.py diff --git a/translation/samples/snippets/translate_v3beta1_translate_document_test.py b/translate/samples/snippets/translate_v3beta1_translate_document_test.py similarity index 100% rename from translation/samples/snippets/translate_v3beta1_translate_document_test.py rename to translate/samples/snippets/translate_v3beta1_translate_document_test.py diff --git a/translation/samples/snippets/hybrid_glossaries/noxfile.py b/translation/samples/snippets/hybrid_glossaries/noxfile.py deleted file mode 100644 index 0398d72ff69..00000000000 --- a/translation/samples/snippets/hybrid_glossaries/noxfile.py +++ /dev/null @@ -1,312 +0,0 @@ -# Copyright 2019 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import glob -import os -from pathlib import Path -import sys -from typing import Callable, Dict, List, Optional - -import nox - - -# WARNING - WARNING - WARNING - WARNING - WARNING -# WARNING - WARNING - WARNING - WARNING - WARNING -# DO NOT EDIT THIS FILE EVER! -# WARNING - WARNING - WARNING - WARNING - WARNING -# WARNING - WARNING - WARNING - WARNING - WARNING - -BLACK_VERSION = "black==22.3.0" -ISORT_VERSION = "isort==5.10.1" - -# Copy `noxfile_config.py` to your directory and modify it instead. - -# `TEST_CONFIG` dict is a configuration hook that allows users to -# modify the test configurations. The values here should be in sync -# with `noxfile_config.py`. Users will copy `noxfile_config.py` into -# their directory and modify it. - -TEST_CONFIG = { - # You can opt out from the test for specific Python versions. - "ignored_versions": [], - # Old samples are opted out of enforcing Python type hints - # All new samples should feature them - "enforce_type_hints": False, - # An envvar key for determining the project id to use. Change it - # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a - # build specific Cloud project. You can also use your own string - # to use your own Cloud project. - "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", - # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', - # If you need to use a specific version of pip, - # change pip_version_override to the string representation - # of the version number, for example, "20.2.4" - "pip_version_override": None, - # A dictionary you want to inject into your test. Don't put any - # secrets here. These values will override predefined values. - "envs": {}, -} - - -try: - # Ensure we can import noxfile_config in the project's directory. - sys.path.append(".") - from noxfile_config import TEST_CONFIG_OVERRIDE -except ImportError as e: - print("No user noxfile_config found: detail: {}".format(e)) - TEST_CONFIG_OVERRIDE = {} - -# Update the TEST_CONFIG with the user supplied values. -TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) - - -def get_pytest_env_vars() -> Dict[str, str]: - """Returns a dict for pytest invocation.""" - ret = {} - - # Override the GCLOUD_PROJECT and the alias. - env_key = TEST_CONFIG["gcloud_project_env"] - # This should error out if not set. - ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] - - # Apply user supplied envs. - ret.update(TEST_CONFIG["envs"]) - return ret - - -# DO NOT EDIT - automatically generated. -# All versions used to test samples. -ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] - -# Any default versions that should be ignored. -IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] - -TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) - -INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ( - "True", - "true", -) - -# Error if a python version is missing -nox.options.error_on_missing_interpreters = True - -# -# Style Checks -# - - -def _determine_local_import_names(start_dir: str) -> List[str]: - """Determines all import names that should be considered "local". - - This is used when running the linter to insure that import order is - properly checked. - """ - file_ext_pairs = [os.path.splitext(path) for path in os.listdir(start_dir)] - return [ - basename - for basename, extension in file_ext_pairs - if extension == ".py" - or os.path.isdir(os.path.join(start_dir, basename)) - and basename not in ("__pycache__") - ] - - -# Linting with flake8. -# -# We ignore the following rules: -# E203: whitespace before ‘:’ -# E266: too many leading ‘#’ for block comment -# E501: line too long -# I202: Additional newline in a section of imports -# -# We also need to specify the rules which are ignored by default: -# ['E226', 'W504', 'E126', 'E123', 'W503', 'E24', 'E704', 'E121'] -FLAKE8_COMMON_ARGS = [ - "--show-source", - "--builtin=gettext", - "--max-complexity=20", - "--import-order-style=google", - "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", - "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", - "--max-line-length=88", -] - - -@nox.session -def lint(session: nox.sessions.Session) -> None: - if not TEST_CONFIG["enforce_type_hints"]: - session.install("flake8", "flake8-import-order") - else: - session.install("flake8", "flake8-import-order", "flake8-annotations") - - local_names = _determine_local_import_names(".") - args = FLAKE8_COMMON_ARGS + [ - "--application-import-names", - ",".join(local_names), - ".", - ] - session.run("flake8", *args) - - -# -# Black -# - - -@nox.session -def blacken(session: nox.sessions.Session) -> None: - """Run black. Format code to uniform standard.""" - session.install(BLACK_VERSION) - python_files = [path for path in os.listdir(".") if path.endswith(".py")] - - session.run("black", *python_files) - - -# -# format = isort + black -# - -@nox.session -def format(session: nox.sessions.Session) -> None: - """ - Run isort to sort imports. Then run black - to format code to uniform standard. - """ - session.install(BLACK_VERSION, ISORT_VERSION) - python_files = [path for path in os.listdir(".") if path.endswith(".py")] - - # Use the --fss option to sort imports using strict alphabetical order. - # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections - session.run("isort", "--fss", *python_files) - session.run("black", *python_files) - - -# -# Sample Tests -# - - -PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] - - -def _session_tests( - session: nox.sessions.Session, post_install: Callable = None -) -> None: - # check for presence of tests - test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) - test_list.extend(glob.glob("**/tests", recursive=True)) - - if len(test_list) == 0: - print("No tests found, skipping directory.") - return - - if TEST_CONFIG["pip_version_override"]: - pip_version = TEST_CONFIG["pip_version_override"] - session.install(f"pip=={pip_version}") - """Runs py.test for a particular project.""" - concurrent_args = [] - if os.path.exists("requirements.txt"): - if os.path.exists("constraints.txt"): - session.install("-r", "requirements.txt", "-c", "constraints.txt") - else: - session.install("-r", "requirements.txt") - with open("requirements.txt") as rfile: - packages = rfile.read() - - if os.path.exists("requirements-test.txt"): - if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) - else: - session.install("-r", "requirements-test.txt") - with open("requirements-test.txt") as rtfile: - packages += rtfile.read() - - if INSTALL_LIBRARY_FROM_SOURCE: - session.install("-e", _get_repo_root()) - - if post_install: - post_install(session) - - if "pytest-parallel" in packages: - concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) - elif "pytest-xdist" in packages: - concurrent_args.extend(['-n', 'auto']) - - session.run( - "pytest", - *(PYTEST_COMMON_ARGS + session.posargs + concurrent_args), - # Pytest will return 5 when no tests are collected. This can happen - # on travis where slow and flaky tests are excluded. - # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html - success_codes=[0, 5], - env=get_pytest_env_vars(), - ) - - -@nox.session(python=ALL_VERSIONS) -def py(session: nox.sessions.Session) -> None: - """Runs py.test for a sample using the specified version of Python.""" - if session.python in TESTED_VERSIONS: - _session_tests(session) - else: - session.skip( - "SKIPPED: {} tests are disabled for this sample.".format(session.python) - ) - - -# -# Readmegen -# - - -def _get_repo_root() -> Optional[str]: - """ Returns the root folder of the project. """ - # Get root of this repository. Assume we don't have directories nested deeper than 10 items. - p = Path(os.getcwd()) - for i in range(10): - if p is None: - break - if Path(p / ".git").exists(): - return str(p) - # .git is not available in repos cloned via Cloud Build - # setup.py is always in the library's root, so use that instead - # https://github.com/googleapis/synthtool/issues/792 - if Path(p / "setup.py").exists(): - return str(p) - p = p.parent - raise Exception("Unable to detect repository root.") - - -GENERATED_READMES = sorted([x for x in Path(".").rglob("*.rst.in")]) - - -@nox.session -@nox.parametrize("path", GENERATED_READMES) -def readmegen(session: nox.sessions.Session, path: str) -> None: - """(Re-)generates the readme for a sample.""" - session.install("jinja2", "pyyaml") - dir_ = os.path.dirname(path) - - if os.path.exists(os.path.join(dir_, "requirements.txt")): - session.install("-r", os.path.join(dir_, "requirements.txt")) - - in_file = os.path.join(dir_, "README.rst.in") - session.run( - "python", _get_repo_root() + "/scripts/readme-gen/readme_gen.py", in_file - ) From 0228099cb523811186e78b548e9be9c1bb179335 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 18 Nov 2022 12:49:21 -0800 Subject: [PATCH 270/270] tests --- .../samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py b/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py index 61098f8aaae..ac3044ae186 100644 --- a/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py +++ b/translate/samples/snippets/hybrid_glossaries/hybrid_tutorial_test.py @@ -40,7 +40,7 @@ def test_vision_standard_format(): def test_create_and_delete_glossary(): sys.path.insert(1, "../") - from beta_snippets import delete_glossary + from translate_v3_delete_glossary import delete_glossary languages = ["fr", "en"] glossary_name = f"test-glossary-{uuid.uuid4()}"

    (TtN<*H*5C)SpU zZx#4R!;vJxrr{>3O6o{bC@2FL7{4}efplxSG{E)(s7FD2i%XlVL%%TC8JHy&5@{sJ z#Nkp5AB8Q)fyC?%?NImFXWR+|V^ctZ78l@ELB6fv5Gd+V-z2SY1b4=yrrNNC=2jCt z0w(Di0_lZLW84)e_s!6-y-)`pKeIg(6D0_;gtfvxtgqTX0w<_sBTH1Et&8Ck-U^D> zSD3Tggpskm7NDGlU^TYQA%+qV&N7T~C zLl}EfAKP9m0$Q#(Bu8=0Z#Rmw9>iyq7G{ESPbNX4O0+@HJQS<_L)tZQ@S|{?k~$_y zls_N2B2NH6FZ2`VhKiKEE*_O|V!&}$WDOx6&WkP5y?Fu3t-^aCJd@21g5@f!2Z^+pMKAB>BJ;mFD%)6qV1_sqC5|1ut}jU^YtUgI47(Hr9f; zEDZ@u{VEh5l=wOq1y4h1_we;J>os`{Bihl1=-b({6H2pI4vA5=+N&|t6JN#*Vh)+X z*h*GGZjpH5L+0ZkCPII&=djF_D-1%G<1iP9A`*p0?u5h#U3xWTHshow7Ef&D35SJ_ zKj}1BkpZ@7N$>ba_-&Np>~#lwt%WdnFF#JeV`Z$*GxHWNwPE`6s7AMUCJ2mv0&8rF zqQt$=nNuj+m@IZNdm3`&lfV@gTIZVWNjxvjr2B$2uOf$m?>Y2LXwgDLNgzIV5@R zFG_Qaik#(ExQ8~rAS_YLFOiL&R^83DC&b!_#O-D2@`p zuaF~2SE_qp_i0fyw#Wn*5#H>Hgu|X#3QH*ap0xYpqp42K0)b=MF)G*+sH9$L#@ZcfctVO?}ry1vyW~M^-cUcnGeHKPzK_LN%ZdHuB==>cpOvQPm}(ju!MJ(t|7z z6JzpaM$dAbQgVHg9@b+Nkf0%hh$no2Z;FouhM`RHFwy!#cA@Vx0U6R#E) zC_-@H<8p^tZjUD^{m2JUABK;-`AzJ0yz3PBUHr6Tlb=ih7pM^;TE(Z8`$-oSHv+Zk zDtB}_6YGCKf3-XYJzL&qM!7Tx4AHgcAq+ffoSVuiV5K5m5>r%F79@6t1(Ff1c;5vk zGdpHn3Z(e}V~yBv7!MV{g^3I!l=#N`nWcv?TTetKW6-xiF~#ah?2{~VV-CW!O?>B| zcS+F$Vwl5fcH1u81`=_G+gDwjj}O(qVWJ(FVmlShJg*Y)JGi2l;l6C9&VOs91Rw`R zq_0#3@WjE|si;&!X05pRoQuqc9xXKF>tBBELMSF9vsg#mJi2~O!s}U4@x~r2g`<)_ zMN-c&y}}2>9fki`?^01FMDxKbiE$IOQKcc_`f$Y^I5obbsNG>1?!f-u)c$Kp%E z)WNnV#{^L*Vl$f5UDN5oqA1y_1%=CW(Zx4;uTC6{U!^3FNbQdM+?SjMwlFUv9mfue zfhT!(+uPIeHxEXIg&ZYlUSZ=6^(qGV>7Y7!5~Q?{{r;2H$0{nqMN?R9A*dZBsw1F z!1Nl-W>KiVLuo$dK#U0;pDj`}&77xpO3UzSCn<%P{EoVO3d*=jO9txK?O-d=pzy?Y z`s%?(RsgR}E@_p+K^lKOiSy$G$FXWXxu5tRmhk`CE$H$U=5HFUb+!n3n#D=-VLmx;Euj zf#bFcT2Q973GOf&5r(h)XZat_M5|1;vFNEvYuu8@$!_>r3$&{f;WFhK%*?g09nBxL z7Ek}TuQCEjmvl9ZT4@M40~6v&$QBwGjvx`)O8hFqA)1A}i*R9wPm`&VbI8D0a4cI} z*^RZ0Yu4!nvLSu*5E2%y9A@f`y;BY2v%R^$(wNHxamDh@kmLtS<9u`zTNTFNI(8pR z35;hDsFm#*-{Md-QP?f@^N`I6+2&QoJ@tHPVrC-kxn$DOiw27mmbL@T7CigGwHWYtm z^uNsno(y5T3e9GQ5w0U=!@_aKy2hVVl2Jhs!R_dljR}mbK8$HLsKVsBR1j+evdZAd z0D$|!FiV}RQIHo1@N29kl<+(l_&@;vyMwWHpudiK6R)jmtr>2rEww-$EeA9iW`k}j zGNKl6o`jv0m?Eg8tF4t%agA}&1yhUcsnZ9G)EYq`;|AlJ7+K5{bP4v-=Q3L;?@JAK z2VKEy2-n6Jq=IoXgPClpNx9YGGrBA<#M9Dir`=IBucVPQNHXzl(dbh}kmOfn1u!;! z$GQkR9{m_CJ081*X+*Y@n)nGstMDF%eymz)ya>VYF~|=DKU(CHFh$9eTpt?Y+^D-@&i=;obA#|4QXe)Hl3 z&T`xlv-r`h)r=Y617M9!_m+*@RB*Bi*w_bUqVpGc)IslA(-pF+TSwA;hSO<4&zZB zW0eu0*OK*Ub;P|-d}2U+%BA-MHE2U*BV`XIDTkGSD^2s9zj!itB1|2VlY$27+5p(9 zV3Qai;aNV(v=$|Ljr|jwFAT{JN{fo8Y+DijeU5@BHp50pADK6NaiBL*E&Yu?@*{ot z=Z!|s0^%`5QIM&%rI3w7yuj=My$wgl&_@S_edVpi-+@N3a?`%Ki7(NSk+z$YVSB|v zkF%VZy7*Wqo{ZUuO>IcHwSf- z24l9{K*AERyC4*(B%m0&!84I{BQ|td)C|5Z$erw08+WFDgIwiz#*Pw@1be{0$q#!p zJc0m=bD2cDacj1&p*NmN*d`y0XS|J*QTo{#p^Zg|nb&mP0CXD3rg9~=S)xWtr(>Lj zmj*>y9}xlG7?bqYnK&wVpjk8iY*8D0*}Jvm%k?HUjXZu-Rx?g5C`zo$J*&%W+o3z@H z)AXpsMqWMsJGwzhJ#**kSXp}7M&9&NeZD(}?Fri=2|vD1Hl?a%dWWHGk%Fmw0pvx( zHwTR>^t+LtblLp`OG>P+3rpEN>7VQiFACZFTT-k#r?mXo=kc6p{3xUf5Fo@=J}spL z4fWK!;;VP)y-F|WO~b5LP$d`HJ7Olk&Y=~ci10)a;Xdp;Q7RC)sF zY*zMk<(c2za%nwqSxSI~Ut15!+Ep6;a(NQPq0MWW&mo*%CjmqtWAO2DHx`beK`VAO zZ(`f)T0huC2w&f*b5y7hyo{-ZEsr2p5ozx=4bneS)Oe_MJ^nmhuWb8^foQ;r^K;9%gf(>hWIOHT-w`$$bN5{_#CkN zabc_@b{JgRwg~UIkj7)-p=PftITGw-Q8(m|IPR>>j#|BYH>@qbFbRU@v-lCK`X7Gz zA;zqzEUtwI;7PKXL2ojLmKXTl#3(gMto_e9+IAQbaZHWDx6f_O_q=l|w7BNO^$7PB z9ER-4=38X=FouWbGHd!|>5)M*$l5l*(y65Y0VABpkJj$?a}&1nIvp5fR{)GGi6llk ziE^%4qgpB&y}jC7z&+tB(IXgMPCcB7kM&V$AyFHI!j|fcL?lpJK!rrk zk_jDR!vmd`R6&k2SAq$B%l)a`?#m~s*^U0VtfCzpOIpxWCXj(E4zHR2vJrxY^ms(8 zk}592_6LTrlQm?}>6NHM)Yl5#%IwNkFoicq4;HDh0|7yuS5jm!uj`-DJPb#*(9<%D zt$M`(yjskVGUm;XiXKB_4vQqi^!0D9`y+2BEO??5fL;$m`e-f^hig}0;XjW~x**tF zudugO=O-?)yq=P=l0nQUrlW!S{RD;6H7vAkwR;T~wLxo(+M=z*EX?idV)x9hrfNEi zwjaFEoJn^P)4$Z2YN6NoyZ4~W41O`J_=mgYs9BIhOS!MjGbz6>&}g1HNi|u`0?~o} zNT7TWZsSnkF@yI4C!J(`=IQY}SBT2xp$?F3S-u`imDX(BhN0@A9<6JHx+P&@Aa)6> z`OEzS#RpHf`~1y;<~_Q+wlf13whSTc;1qk+0xlU$hi=qYvPWibOofzQgwCSdeJ?mk@CWm19zSy+Q zYp2ks*QWx3xby`X3X)$@t31k0w!_qh;F}8Ol~|MVF>+N%d3sFFPxnej5lcvTRZ8bs zI)v{dw$45Zs{O<@lA;cOS(btwtm^qM>dm2XcatYx8+L znIx1OA5~XJ3{x2nxyB~ZIK$R@9(xnt8q|>uMP4vO z$&`X-a~aF#i^@$*o;8a%6NHhOa(;p+nTk64Nx#8neGAq`RFn65^`kCQZ?@UT3D58 z#&DBI5are#N1OmhGk|Hd88VJij_V}KFr9Xc;k6;{Br(0R-UF2%)V)~}0vxrQlMV_-T9crZ3RX()cL zwh6S}d@@HZ-l|78#yV#+epDNjCNUBLnf`IKqqLH!KlLg^GLx&{lx54f)LxV{TE7+ChOJM=abp{iQK_ogo}`qCh+3&8akaxU7Qnb zgc7ML$)rM~9ZWy;o+eUF`B!64qwHl++>UE;)^t8g-Ythm`{>c1*cW(V2CWrM(w11o zGDTuUJk>MWCAlMG-PD#T0tN7kDz!jP89F_?=y4VJiWsHZTvu$ZZGzNXrmmoQ(LhT| zYQ$82Cq-ExTO++_mdx6&t+i4#e`EOuA~QXaRUvPj@!i!Sf%c*iNfTk67j9hi(iwFr zR;;TO9|>2k4o)4EmL)7es55|U81R15#s>0uSeI~UC3hXd;|%#Cf2%M&QPCf90CbhY z_O*ptr6Y9yoPA!=Y~GO_;zV}{FY6EKR6`uX126+y1M-|^i*RkE)552*;W8&Zt}ss@ zE^Ww_g6Q3aD%DO-izl&S-0%@O(BFVpe!FF0Uk3g-WIEQd#f3--=R?<3Y6vuP0qh?x z6mz#?Kd()|DW=seM>#!_7=m46<+FBeg@&yOhtgiDfDKT>TXdtM01%|_muCPy0aA5> z6I1fJwv0!FBEeR%vI2CWK!Gi9F{2+i3pmvWC)$2%`-4NS?EIvYreX;H3ZJ*1;7}}V zbt)zWp2HV^rToO62Zit)CtZDA+m?8i&;zGOfA`o64Vm$IGJUlk{tH!{G@@4}?di zBCJ0b$-<^1qRhIeWkMaPdAJcJv1d2foIu#pT5uF-VpqT%b)J|*_btU0oVAzfwC{;k z8S)>n5-cW3mLd2^T3#JRL#FhBve!K8dli8)8iGG1+km~?Mo5`Q5z4dp8iuCn~06Hz27>zmez0!M+Mtr8K4x zp*O;?s&&kCOjqESmyC#mS{N4Z)W5}wOrr^lFqZj?hG)HfOftt8!oWy?#b<(hE@>Xi zAYhmZ7E}zuz>I=59FTDcv8>M5N3)I)?^?+E?rgKh(t?q-z~7(g!`ah4Kx*yo4ag#u)bpPJKiUnV*K_o9%>3221Fo#2HwT z!6o`W&XQT zzR|6i?lWmc;SSt*@}TJvZ2T7k5Cx_ke2N8sc$G~sZ;2{d2GM)IAk9%lMd%@M8q{&C!=Hx(2qFb)gfHze}*MA#SS3fj&tEZ!1nr+V-EzJC~PDVsj$9?3D}*CBn3Ek zJhy4SYYSgFV`bcm&KPKsr@xK~4%9gG80FRI-fh z8H*Lshpl3*WST}^7G*DE(XS^xDP2HdpLm&gws?1?{$^HkmscN^mhFy^AkF$)mNGcArxz+s^pd15*K5?U>Ty&wJEG1Wurz1#cxlPVTEnL>KtG(0_C>|T0JhJ7$>)u zOfh=H9SBNVUoiHjiX=X{s>fieRtS-cF}jr?U9Xov0(Ry$NF4CV6NiPDWN>5$#j?3S zDj;0ahrz^bc!V|1JoIVj;sMEY1}-&T2;!)89&QD_*3QYLsMi9-(n*n0>zNjbQE z4%I6md*~B|SqS@YHoJW8&RR52ANeEHL3L%FGRFa5Nr2& z>1LSsn0xFjQ5roOcO--lB&V&R2#67m&zLjPY$z`xil#9%%;Bk^h(oRr)#g9|V+Z3^mxOmOOC%CWg+ z%Ahy7iHubQJokd$-tsuaB90%2%XJ;!f)AjH?&u5y^#!*=AAzLkx45zTelD~JzjtrZ zNRczh$x;|~*~x@JCTs{U^|kpWZ9;~WGJ1V;Aj;=ct_RGCHGYr(J|2~yvtTWHFCT-G zB*Rcnw#izLhMDXK!GFS1OOi~Xz&m`EF__kP7*)$Lgy5hsqq>1vDXQU9**Ja=O0pnh zQ|5}NNtBV)V`<3@`-ECgUls|CnK_;(V>2dJr$EP%vrxt{f=*ct8Z!s%<(d%hXE9RF zLJaK$m7|xe$33O|oqQ{>5|%_`x(@^rd7{z=4!w)Cz>7x*SP0#uR0E+V;Jq2@&G&Qk zG$M_>DSR|HifC9`GdIYNGbYKp4QSX}#;!-QLH|gP97GlDLJ$s^VH>&>uvyF4mm1&T zP|kz+E*i0@o*;n;KkzS=GKBpVwNcuo?8~=;{C=^B`g*uxZdt<_<`;T}mZ{zpT{Hks zo#Dy}TlOR`RVM{&W6e_>fAN`&)pxQmV8qGkM-EGV#fq_dXsO-Z8FXMPM1hWoRZ`)P zMXwYuVh^|==VX#10xrHDty*P5u4&>===JGujar76e{bko_c6jL_-p}2qMkcaK;Vs+ z%ZO!bkLqpgJrk&L)aCfO;|NW}^6TfjV9C$7*ZnXYo1n@ce{A-zzKQ$RZWtT{o(9!+ zsl|9%U82q?r-)_ky+Pr`B5CgBcvewCiUH1|H&ZELi5Z}gU%JYCqU9h*4@Pt1P+B%% znS04y5tvuIxd;}~{|Jle7GdW~w|ml89Cr3O?2EKn>?m{g5aH8>S3n(#aN}HvZ7^bp z|D*icc#?TqR-V5OeIKukwWl%JJ|Pv^WyhR8zb_Q`>-Xgayuk^YThTvnBZOHwGdQ?o z#veM#t4t``o?28bhjw3f=ZA_=*2(6LS4#aIjJt;)k-4*;qx#sPcY8s z6m=x3H3R{5394JgTx(4)m^V00=zY2j9F*{#pzx#RnPG&mnDH`w(ar@{pJ+pI81K!e z*XL>O<@1H}cOV}}$-Qr{eN8k~rDqRa9P!`SoUWZ}7^?XY7!WhkfuM7G;OuePYe!qD z*s-n7J1@aue3|W5`JHE!li5WsR(rXxc4DXLCj1DdEcQ&rV=l8^wQKwlOuXc`S}4OS zqp*W@kJdkNv*u5 zTbI$-&|10F7Y55(dsgxrMfH!f(5LQ6==FXSU$3M5@35k~=QVGEJ9GynF!-o%RSsCdV2V;L9-X4}fmZ zZ&k&2P4TyEz;%ie5mfLw#>HVHfUmG*w2rw8{rmeXjrfS zh95;QxU+#3i(UrU$img6dzBpmdG2ebR@(}!VMCl=T z)qbrNUE;K3CyLy%Q{XiS^p%K@N_)&fLY1a`TFDnAHdAj1-cq5IP(du6nsoaJs+?yv@x{sSb z$l*T`+%-5&2hG7efK8Yx00}c7Eh~O;+UdXUH5Nk`vYZ$tfi_L%+rIEOy9MQ1 zOXFrwYEP&OfgJ;S0KFCgXYs-;siQn_-%p`4InnCCt$(j8v<6Jnli6441l;>1bj>=recJ86o7evM zAU5J)dgc$JR>rIbrgN^>l_2|H9=FW8ckX3NF>4kD?&kqJVl~{OejQGJ`E$ugi8hd_ z_&Knj6`!sD*Owx*KY`Xd+MvTyV6lBcrwcwCA-8(8()mk@Eq=2Z;c!%?QD}1rpJR0r zW0U*qUT4um=xtu>*fK3#2bpIL9so4i<5|CjUOe^q4eSDTbA+xayb)lh7g-!~_YLTr zKV}RmHs9qHL_}}OPrmUN$ot~Amc)7Wd#tu(q^=qe{2c;1{h7UoKfn6^PJ4uulh>rd zv8Yr_)~1S|T74~P`dJJtNHd|I)DP$km<5E6OpaHa8H_2C7qP=34#^P7Z?7{RHH5ME z+GizA@=HD?oCf8jvBXV~2kkkt#HNUXsh=@*S)(~3wlH-^q$+L@ zs0cB`yLb&BrveToL@SX2$G>Z2Nq-=6>vRvsBX)+Z)!pf zizWZu?3kc%S3|E19wcikBj6j+(imKFpvp)J=H8M*R$}|a;CTgdZvCaR&MVBJkrFTQ z#|Bb|!4yyNthlXQJIk6p1cyP(2$`9nfHs=f?2}*XajZpbJi}v;;rIk}HO^-shlMo* z)E$i@`Rkn*$fkNJDa#aG{{kw)&(c7A;jEgQlE!?d&3_;J8Gsp@bU^EP=d03hNTGi& zi@%99f7*5ijjFn!R;uVvBENig+%TE!OSB~wo)nfR=IuDm_RZslU^zioh;(EA$ft_4 zp@&~UJK?UPu;TW8esAqQ5EIDF80n7`vh_qEM>SPN9Ch2=LLZ!+m5#Q`;a#_48Y{Ba zV4!?`b}GCI3;$Nw`e!SC32>VGLz@LA@m`^o$q1y z2jJsCj;D#J0TvPZ_tW5M-_w>^DSccF$Cc_m$m;L?%rG3>9ySBJk=EcV@k>fVhwN7a?!xtkjb%P5b0_4X1uBu_XVlv~-xKZOlDn)O7|(IM8D@dhfp1 zagPvoK2JAJj|j#ns?HC|RR3M>PzLwWK^7sD1@>5IW2xWca%E$BWju{Um&61>Mq^s= z6e`6=P#*o6H&AdVyCR}$J&a1{qY4>^#+<2cqm+pcV#s1Ki0!9PyrT=f*D2}G?eeHs zT$Y)NiF@W)!nJez=l72{q)WWG-D5_(bV+(`|-mV zkSGv$`9HgS$0g>gQ>cNoRFj<@*2yMJzs$L!KZ1+L-j0;sbwbsCaM_Z3GMXd>!QbYM z3+j8tDQE}=*0{?qG8g%C=&LgH5Vq6g9k@N>XD&_QB&THd;LeXG2GQCgk;qiKxRFv}C&c__Ka0h7&Sf0+CxIgV6FzC<({ zd-{uU24n2}-le~IVtV_lXf!?SgO_}@42YoE4d(9*lwxi~lgRvK$X$6w?6d|)f<90+ zXV0*xV}u&-p4>By?mBbXYKd<|`C}w;84)iOmac|yZ5mWdyv38vzo8pRVF9=F930Z7 z``0P|hWu^Ir1rtuo=tDCsbc+)s*}u@Pu*rZ);|Yuqq|kjdJ!U_SBIOA&3s1mod_}( z<=zP!xN{`qNIiW1VzA(2zV?@yrdV;w2WevMUq}^2M3C92yj)gzJv=O{w{MSuLkjSi zQikH+K$ME?KVz^K9%#7FYlm2lXu7T-dwhqTbM=}2Gvt2< z{(sNEibRMhGPAnVS^wD*Jo)xvwBouEIaz5yt~ssp5yrBVeb{ z9zc)R2f&@KIhxRiBdgh0B0qrbW9tO~51+j5b-y*Y_;a8Jy*DHABX~d0iDP!(5=HDR z06+yt{6^D$cR%|6Zm6^$nT`21Qv-zB2NUtASp=Z9&Kid3C7@6L126)IoUYfYj3pHJ z5_Z2|eZ5E9NdDfq4D^Gfza&-4MY{P|{AZZ?Js>^&zM-v_N?=W)L*vn^c zJNHolfDIs%qJZr10Z)hN;We0QV_SHQcIRAd4}oPTD12VW-$W|Jn#W-g@Pw) z4M_jE48~A4T3ZhM0jG@|Bi#L_o_WT&wUz+){x{iu!?=)QW5(X2iL zc+=JuXFGs3A9a8L*C|J_2-?ds3OOu|$)|Fm;UiX+6I4931AGgJ<~TG!=(b!`?j6u) zdfb{MG~QEuoNwL{IjAkWwk{b0&)PWv8_F09gD)oP0FLpt`&4x_l?UivyK4yf$@yyL zu>yP1w9?gXxtqiz=yz;v;qF;GT6yxUzDe<8VeLElRtd}J6U;h7C;K0~faU$T4{mDR z7oU$BTH@bcW6=i`03UenJo~f*KztNC=7qH=W;#Cw{(k$W2O)Qd3IunAYv!b=mG`tz z;@OXoU)=yk+W}~gD}1cy@i_~=0$ep(v7azfDuoUcDm6B__Qt-<=%~Y6RLj#~I1?=( zcPdR5YTn^3!eg15KnBE;EA5{SoK#Dx$a~Dr%~sq zrc&izCNibo7a|`d3e3#aeQ7V08dH-)va!i)t2Jq~9>_LxSF!$Z4X`2>G`6XIGX1^R zDjCD3J}w%4LwFL}G)(Vr%ULvPAP>bgHi41u7*%bxgcE$6Oz%sI=aNbY()4N-4?Yjm zGGFBWDNPf;!Y{SM;mRfb> zMdS2|B~Kc{L>`+82^}jf$@AgT7~0yiJJJRnIg7z#Af7FrM|wdFhDxjPl1}VvAWo@> zI=Bx&3gdi)ys3MLemLqP37%7Kqc4zK2H4!+oVy?BIo;Irl=6Y%OJBLjr0$oB_tD&I!3Os2*kP#v^=k^dF8kjB$_qaO(Wi+EXtPlM^n*v%njGR}R(}9MP#wE(NRVA=tzsJq;g{`mc7q*1 zaJ1`tADo~LIs?Wg+ZTSBk*b|r(Nx0k9P(@}Va8VOYk4y~4}Icj2WKxe>;Z^PGY7y#pB7i7j2LQ3_vx_W{{Y)Qr--N~=6u z&d}2SZDIYGj1%3T4S?AwtHV1UYv-3a!{$|au`K9BS)~{;%ytT8?kT7JFXBW0jHK>hlBeyGc zd?Mk<>YEj!j~jSA5%l|{JxgPNWXB8zzwM;>lYe288buEtEhKp$({GowrX+j5;^;7`(vfmnraq9omR~IjSdtN(r-F>V`le#*^;v02thBPm>u|;x2eWd^nKyDvsSG}? zA<7Gfk*1|CG?`b|$fIzdV_o_Bq!Nu67D;hX5urTh8ce;epw^z?kFY2V}(!{1I&wE?qQN2O6bx&%+cUiKRT74xn0+*S)mLpI|?Sp`c+*V z)Ju%t%0|a~mT6rv((QzY+CpeOqa%vyG>i@IoY#$@HjHB$_{PQb=q#CEK8fQ6|BBpq=}zAtgg)K82>zk6q)wblSrA+1 zH~c_W2M<qldZf1tb9yxU8a|l*%m~R+mvn zKV4)z`R<_L?%j=NAQzv?DgWZPL{{tDO5joVX5_jU8nhlWq&Y&WfKM6csg;S_AN3lR z|15{IS=PkkRP11ebTxcqI@fA3dQG_W+O_rVDE*+SwOXtTG@@H^>ChL*?H|i_!mN z&{V%{s*8>pEt+{{N0j6woP-|ba7f)mK z1fMDV`N{UDOfHPuaOq5x?764q;->JL>yE$2V&)>@k7jpt-NS;+{`bz3bq3Qyxst6R zC?fq-q>E9p(H3dya~K~|DGi<%&hdTz+H*BpsoPb-TN78B22S=h5?HN_uU#|Z=P&}# zPOcH5F}xT|p+)|haq&|f1uLm!-m*D}q?42HrR|;W?7Q4zM?XC)>ngwct+WNDpK92ngz)c_SJqgxkF~n6x(s}>S;>i-(O?-Q?&NYQ+4WPH*HY}+V&6M z4Hri&a^<_y0_`)zY)6at>>~s1ziQi+y)?`Ia2?G zQ}8Zb3}mVD#h_~FPhBQmfy>tqBEf~OXnj4jBHy3?B+X8%8n#blM?w!y^4JWY5HM}z zD5$_cnppDn+WEPfcM!mi>D>Drk%d2E?D49P2GUHVU;bN7`EZ%$Wq<2ZeO8s7)9Z71 z^BcjLcR$RGguWeF8iXZF9&zLtA>Y5L&llkTHa=#ikk!nesarJdwa19C&kFnluqhu> zE;iD_>jHyr$8dw!xe}P&JK`(U-L*T6+}nvpIU-42vDFm2 zy5t(Zt8Slv*_S$3)qJmWm8&eQynQD#-+!(nQT&MI|0QW$W}r`b7$&@HlHFn=Si{4q zI&LE5{0{$ArT)Y0{-+Y~f8^IgO;AW!)9u#qDc9C>jw~zBi{Gj5O@8e~3aBrsE%b*x7_v^6#UQo3yZ74Mb~$kyE%j{zLBBthu~jQ0w}Wjro0<8_oAQ|}Z?`d}YuqNvc(?fi zBcioc4g;n9o_|@uY1!nBmM{2R(fOK z!LQ<7%609V$NIs@7d1Nx0g2RA)Zak<&N=7g(F(=6Jju|+A#3$`4e`)>vi?Q0sz(`)Y|p4-^6mI1!6_D+$NiW)2WxARJL zLXIB47+BqMTz^eqhX#s8f7lb|Y42u+T({P%7raxeq;~!L#b=%+6#eiK%6QwqX21kd`^%1KzfETKqrwRIrJ^&1oDJg|o;zxtvS*Lr)|M#4Jpu(YvXuAfv!q~NE$WaPG{ z(F4G;X_Bnk@GRwLId8D64(eRv-K3lw;FHCBV|umYcXZGo}u=clL0Jkdh6WZ|1|U~djI$&MK-GxP7ALk zeqeiHc?E?wu93!Z5#Vk zl+oGbPVeY3XYfb(7AABA_|5>ulrLZ>R~4--X9-;d=>qOJ8r-J+i{H-ro@>K3Kn{#N zhoYF|e^O2kH}U1H1$t7ys5d{7b)ctmw)2PPt>*{84k<+33r=5mV{*9x^m|a~!k=7* z6{7AD_~-V(m-f4<)TwN#P*kQ$O+GMu_avcD+9tf=(|T65idz$%^W{owMH@St1LU@PDabnH|gRo`|3?ftL z<gLRIVIUTcX&c1`3HqwmFUXRfT@5>CwjIz71*qMIT?IjVzOM8B4zqbvDNAyByrx zPI3}+zl&@=`1OroKmXF9$;5YbMMeyRP=Krh0^$*#6P=+v-2`aoyIbERX?E&AQDrbc z7FQ-Jjy7BF7}_AVEQN|QNKl$DNW*6FbWu;MLIp@1gE1BpK5nVH1OAo4Y?LUWGf~Ta zrCr#BXENVUi4==|bzaU$aE9g#0Rn4c_p~3IRXB)>_Qlfedmz>0ft3+a0o6__!wm4m z%J|p^1eU_gs!<}x0>IVxW&=(>QR{V7(%Im*)p~pAm*UGsCuPBvhv{(tPf^;eYp|L!l{EgjM&4MU@JgD@~icXu~Pr*x-u3@Ig2 z(hbr`sI;V#iimh#^M0St`3t`5tnUwJFMim2t-ZH5_uMn{x}MkLx}K^#$B&|rkgVvc z8J~l~C?d>CJjV`Y3_(09GWDVhI(Q+Wf17THis{bLS$^8%pG&}-Yet-XHmR~ zKK_(+F^(3C5~aq+u$Z(n7V{pK)Zx0{-gKK3&4at3w<%$&pkM{|^sml1$dfV_x z-XA_f;f@B&bDO{)2^IW1KWrX!ojmsgosZmMD~iEg_;V|qI11YE7~h63Uo@@ITI|u| zzccYl$wV#gN-xKSHY*oXkB$P}m7?V+nk|%>Z#*vlkI?7a& zx-vS%QKnR^?oDKvj1#9*UK0?N;hybe!GSI8WGw61DSs}%1BFCo6VCMnTp5=YqQ?s@ zgK^PIn{xF%#f>?&5(r!o13hW!0<$L0PM%*?HO(cV^j{9#Ln)@KT={HgUlh!0HTs7J zpF-fHN;kK+PQpt@=ze6|Xn^QvqmBs`vnAZ#2}4 z@tkpd8JVY&HaiveJ=Z(9K4LnoWY(-BMhCN67vROIJ7OEsXHyWKe#rH0x_e{A zZSyoHRk!;Nw`Gf1M%Iu^b-CuT!T9Q-Gjrj^C7#G8JxL2HdxG)Jbpt<^xi>7 z<6((Ve--Ts4X%mW<@N;8VONiPhA4)binKbe%M63+;%ox_nt3FiB<5KLj?@aJBo3>w z{ex=BNrE<})^wqmPF#6c*K7$}DqaMsZc=QbDL2eYc#&!M{dsO1Oal+~8sqKbMOdX{ zl<}s*p3ZrmvV9#Da?Bkmx;E3V1&a!8PFV%4kwo!HGx%sv*6hJbAi0lA6ck?dIPu{J z=R$HlR8zK2S0lPvxA_TdcO`*40p?YOF5t+WU<6lu(^RUZRC|fQpTGm2iVxexvV75r zb=AYFN+yA7WZ%*2m5x&-HT))N_Y;rg@@F$%Q)=l8uX4U;ImKzjunxnxA^W9zys?=w zszQNg(@UfehZ6(rS?1Pd= z?2g3nt&*j8Oc&3%J_spHGe=OxcXjG{tI;SPRJ2bsT;@awtZBQ)NxL&2==dvIqN~5< zwK-qmiliwH`DuXrG~|H?4+)9iWC=C(h|R>%Uxr?RBsFb`$)d!KSNK&tmI+nvoX>mG zo~jQT-Ep3A(w=v=Mb{)l>?d`i0w_c`PdcNF%IR=H@4&x{;}{7}^;y5cq;aL0 zop=Hj!c7iq{iKd6r@y+@NT{Qdsu+aTH{*hu1r5PxMv(pyHzw0wnN9mH zxU2n%zm4Hx_VWzAdvczlDw~`ZwNx)^*c0#_XmgUQdCG*C^H5}EeSltmO+TFZ_{AIY z3Qm}n`OaIP;WgT}ODdLe{6%SB1_r{G=5QjuTI7hm;M)%&|@HpaRIE^&T00<^EHD8VudB2QMof zQL99`76wCTNgN8}$nn*C!-ALJa*zhH{%}-?%6P`|rG~s+Ph$SoP;5FV|3k(jkt3`R zli^R=Cf8+|Xg{^uB62QJu@t;4ZXKg-9RLH~dAz)|AQ# z41D&^RRiUvlvXF412pGieptpQ(ZP8VE7NgVDj>78@Xmfl2&+Lba=OWbrrOQqRyHMx$L>@OyBIbkWZGc@D_NOe-5;L(04hv z_(xRWT^RCn4fuZZkLu_#{$zn2P@kJr@z2x4*{&oeI_~v~*U7xL$XRW`SV68|?pWK= z2!;Cl?OWp%*dObRXBa39<|k5rXnb;6CB=~0PL@vv9(6wX?Bhuno||+RWtD?>@;-wZVTXiUCZ)zpzz(t0aWhnuXuAh`sz(L)Bfe=D3pGl!#XL zrvV&vgk4*MGHKgDGw2@B1ZDt7LwR+#XD-p2rDr%{%8=OmIh}RxpNlI5v|#rc#qv7n zsXRfJQtN++{7K?W=NL&YL0athB>>oOX=h1YWA1o4=sT~T-)^B8LD&6$q^t3~CAD&y zs<{V!`9W@BV3B1Zle+08i@jtU?nhy*C(3PRiFVkl8@G}oLK&SD3xQD)c_vC5XIiTFueyUw9 zvuY6I$Y9>`LE7X=NAmzOcnh4~9$A299J_*yef4YP_hkSRb^(wd(8kdp_tAY8Db zbMR_tlV8wSQ2uJDUQk(E*8!ih&jL;w-W~7x1Y|AJ!psDubYe6o$D-+iSNd5SmIcqQ z6AA?QI=bp);o|_3BVuhUbA-RW6hY0-d}Op8eo0v5ImrPL;;Xj}K$!SsL%SV7Jqv26 z<-4R*$6gPUyr^&l5>O)iJ8)OSW_VeBcXsz3a)Uxc`R8#jK|Okk=nf{e{QB?tpI_S< zd@Aj%5Gw`eWH4xfvdfR`wqr0baVxSm~3OWUjkls>@w zKD64-tOMP8bnMCQ?opJqx=V$M0T{n$$yNYj+qCI!@fBY3!AUOa{;bU!_yZW#DZjxm zV6~KBWA(sa1xpJ8+B{!@f=waI-bovhN^0lk@Dx2G7s%U00Ho^TGDI^cKRu$%YAiDwOc!8T!uj zY7G_Nn{8_NMkFeK$UEp0Uc8zP$KaF6;f|?+=szjLqm` z)3rVN++t~c&98jMp%AWrKmp2~ zhXjJB%D?7&%}e)mkrNWuVysfUfu9`bNwu{sl~j&yZicC1-Xo6Pa zn7l7=>zl_oL<)I5mo8nnCaBCoG^+6!^B)xADkFRQ2k;BW=F2=0m6LM0N8t$b9lw?l zRS<{cUUr+EA&ci76arkPCy@c)-+!BoRSeuqQ(6iEma{I!HtnRmCBY!zn@dF^cHdTB zOO6jhu;U8^)Ku`GI{F;Vmw<6*h1=dfeRw5Y@DSn9Te%hKFM%@K`SxnGl_jW#md7->yyy9%qw}~Z zQ%NQ6_fCISlgDMF#q!C@3M7BOb81C|%IDk?Q}gUx3r7CCqSX+aAegMivi1-eyzDWm zrTW~&uuE+Dv0tylM+{kjJTL82|C^lcU4N))WTJO^wOq@%h~M-;33&6MvLz+K$zSr+ zVDiEQ!CX&Ode*k&{P}TBc^fUB^!EAEUA2=MgL3)&d*>W#A#Dh=l;4jYhms`Wb!D7m z;-$oR3O1i0HtyX3fXviTV6uJ>L!*|t8 zYRg)BfvkAtDU<@8IXQ!!MHor?o;vVT063Nj)rc0YwUNKAn3^cn)tI5j8P@_k;qg@> z17vNY!|XEL2jvNV^(=n6tDt$@RFPAs-ln2{Cd&He+OZ=iJ`VodEC`_Yk&OL3lw3ma zs)?bYeGZbRwj%i%VicH2#jDMkFzftWftdW?J`7gl%q@j6b&8Jay&ORqsufd|c7+4N zo+MmnDr`l%u0S-r$+sJRw}lS=~)p zw@K}%C~SY3cF;4sQbY9(ukAg-u8pIThRyPM%+wC_NwB5RRXpH92%d8k8+xfSU>|vcM^;+9Y zd9BA}m51N<oi&|uMHVp+Om9;q@ zSnCu|H^pOpQYQTJlz221dh;@8PHXC!MKvE}O$}pu zM-@|3RGM^{ZI}qv3?b2NZ;3QDLqizGM|cd>M=DA;(^9fR3t{T&x#+#+c}r!VHv0@ik{HY50?%~!n0JaT zGn5!Euw8CFF3Hlt2K`SHkjyVvL}uk*sbp}1J;;dNp_0iP0ZyLSzOOcbLF9m`1<{Sg zqEGHKU5d~H1BCU0!e&B+@t3Ix@}P;5y+yBcNIj$Yg)*l7+*L9;+;LdY0p-r@-~2z? zlYfIAD7ui*$Hnx}G4F~mWgBw}XZv*dQ^SHpo`0)SJqF zFf73Wu2v0oexp}E+K$eZJye^f1dV+x3N>W06H~}Ol+K@_q9bTxTOCImQe4h$1QL)+ zO;w=`{U%^c8=|)O(#s_U;ZxFi_4Nzd*YAbjIHX)r%HQO9SH*|#VB&V(dSCed4x4Cb zO~_)4v<+S@thT1GSZT*~u1x!+!ePTsBB(W+xb6PcblPooR+|5GDSvR0I*g*<6BQqB z`asMq`SPj*AIv{9#2Ez42knDrN_ADulZqOodEnVn`jHyQ9xWwe4&TF!v|lG1?VW95 zx*x8Dx0#h$Ffw#i-o`A`w=C;Nz3Y#rWV|42f(bFTi5OmTRzdXln z{n{MOK^{$;iFhi!e{S>3f*Ss?;~~-|Y&X5-yX+U7d94rf(N#I7i;1CH8n(V%P7Z!3 zCd%UqmT*PNJ=V;<*QJG~js{K3#$|D{hh?NgrQ+5s=a!{?YJ2ADNYM!yPZCsPwYb_c z)-14tyjK?MVsgeJ^ z-(gK3+Rez`*i%_b|00XZKWLTg2)Yh?+^yVzo>`cf+5n}fmlHV|na#oI!;QjLP zQ+=WO4U5jtJN>-lIOhCHzNRUY?y5^GYrcObBoFfmhk8in2O!wgR&H=||<(!!SOJolinuztm|8c;hS}$Pc=NEJqva=wV!91hd|1 zws;H~u6$F)ITGe325#spi8mQ?yYyX2?>TF#Sjd)eKFB$z+9i!{N!&_YmY075H`uJ1 zE>c1|MyvjsCObfcPr-^^>gSto?|#2r5`LoosZJ)>YYU}^fNo=~!#C>@`OAHhom#IS znJiA`zeZl&#(<(vF!R9pQm;c6x#rLEr%w9B9le~gE+1i21{_`=v)a(ISG@eQC#z-} z?Z9>t#HI14FN9=I9Y6(-uqb}yvh$``84nrgZ+z|XPe3}zuvQ2&5cGzGK1LT|zP?Es z{VvAmGW>!11TvkcimX_(ou)*`AD0nt9sI7t-JEVrNzoUwm-*g;wrRW0Q8D?8FSqZN z272pW9?JlF>*$S!Hr8|4cO(CyZy=eYT5{(;Q5}Cpf&X&zi#eG(^E}@{!zN9fkhlu{ z&CCZ5Y5Z&qq|iKhktWBM2~@&{#w&tfdUNH$9vgmLH(lGNIs5a66M|sAtc00sDDcKr zM)~VqOH#;;)mOop=;v(z{w=9}71Y>i6fc>aPFsFFRD!ee%H~h#`mgB{w;~)2nXryh zNr{6H^t2Z_#sGP*&LcQZKTziXzb&QB(MZm((sBN}OgtoR|DxD1Qvdlz^v(Yvp`-dQ znYPFaT~vpfFp{M#>r;XQu)HaVZ?s zfX7mBCH7wfo`M*8`Vyq60)vAm+t(~xdQp~A+Z0^8u2G#`Y|9s5z+wix9KLgsknJ?Z zMg}*h-QRzJI0Q>YP61$Bj`At>E>#Yn@>UqTqq3FzRP|}YHP}zbdrT$w6G%+QgL|xk7~1 zz+~XtoE$+z2sL@u*}1rzdFT+Hh%*Sb#ry>Hv76D>8r2t`F94eD{@Z@$U29rcf;Z#x z%end%?Dr7qonS7c}bb>?h2OuqDKlcJ3N)_YOB{D)g>tnLScXp}88IC!0t`2KN>nm`mR^yfSenx)7YSf^H(BN#;!F!V(1Jy1O+z<}?GhnoZ*RT9?; zdUD;|RTDp!sdzb4hn0E*AdNkBc-kcm|D@9pBtHsQ zT|h`l78#p}pNL?Rx7-(dRtzCdv~DopZ~^ph1#(*R&59AY>Pdh*;nbBiL1pf)fYa@Y zuZA1z0$e&DeL5oxC@TUJ2HD9@V0hPq93oeG#|d@a{6B+g@V_^D>A}k(Weil)`#y#` zu(dT+=sHXA*|L{n3Y|vGdkHByvm$_b2gc>lWDc}ixm&nhOlshQi!ZiB=j}RVWFs{S zpKutVrfD-qe8cWwQQS6jN`fkYMYUy20sqvgkX$@Fx!ZkGvu2ABrIsievV>BpPL%SO zitUcq;8ij8-;M^S!QD8u<>oKopv$0(i^V}k2CInJ&MJ<#&3GZYjp};?rYb`ED?EkK z_M?FA7?+s_JMw-t4S!Zt_hWS6>eV_0uWj;%fV3Xdve4uKVciEJ!LkVb3tn&K5ide7 zZaew=)Th9`{`AP?W2W5lQXUX~C^S^W=OD~_Sy6^s;M#QrFm846F0u(AR@JAhsN!7T z@>TU}=3-Vqz3zuXx`Zyl>R%>;{?)f3ZKG69asF+vB=kyYZ)d5sR_WA3=B3kc47yuj zqV@nSYnV#U@P@3?ajzCfn?4F7gb}mc>HVaYP0Uodc3456wKDnT=#b^<%FAU05$v6a z+7bv>AEtn-0yByc{tzF)00&5NSa0jSigl=~{DdH|M2TEqW|n9}oQYPCc&Q#dSy+dI zQl}Sm^Kj@TbM4_VQs3gJx3{;z$A|S>jyx#j7DuCb`upJ`f*AmoG1pfHmL~4D?@XHa z5jZ?^P$;%*rWYHQ`q~_>n$G&Zcf+g~fUmtw4^o!2f7eaxCe7c0kaCdSW-Do8Ukf08NhF*yaRB?FYw925HqGF z6z^RtTDs2B$|6@*KN^Uv)Rx-s(**GYasHwFN6#%=YQglx#2=4mqTEG!xo~WN zy#l?|xqF_m4&U>StOfSKJrq(XaEso6E0JP;9F<-xitgkV6TRxrP0bTL(3+^s*9sLs z;-NYO%VizxzOanJos$TE^z-IA(Q8sUtY)SfZI82)`1mcbaN1K1!Wj9!fOORM%AU0K z4cdoR@L=rD8EfLG^xx!O67EJ!ad#S$5YEPZX)|&6g5jgfNR!x;pDEMn+O06k+UX|g z@xYiu8NVqm&yj+V;2@KwAF+;vcbshtrpEJ9==2k;rRyd~NrN`6TB`UBxMB{y)i{IL z)K^E!vPx|TBVS`RyZLAC$h6{ zEPR{xbwww&)f0o3!v?wOWc*dtzOAH#Ug`gbRt7g^71u6?d zetxI3X^j*ri0bpDs!GSU#}DoGXu%%lIAz0*6|0#uT~w`-mkef*YcSuO@O&Qttzk`x zAC~2h)Pt1y(vdJc`%P$`+3?JYe#^8nU(zY!jd$X9jLm&nglq{ETPTlQ$9a7^|4H4Z zj|r9|&D(kk);GXCAe9bVbE~6@6j-F$`He1`gkgX*LZR}m#12 z@%){$Vo$Wv`Rcom$~pP<1M;jZ&o1UaN?yJ0OxhQDc9}&og+A?mfgF=}cCPTteDCxS zuQB|5%c(w?e%i6+HEwIZnvZV7L8@AcQLK4u{`av)O+mjjx(DBic`(yyR#LsECq6NjC@ zEs#mLsbiQX?YBxzDrYhMlX!yleGQdh@o=lqGfyXsy|<5&>7H^bSIirtLKnGX9flB} zOirj2Z#v-Hs$9!kQev5b{EvG_tvODfvVQDc5UzCWw5qdN59om5y_?F$=5?RpA$oE( z0!u1m(6_=tF+SnO;i7OAm?B2z340(?20*&vhK$4&k62Z^DE`|jC?q(kQb34~vfS^2 z6@7epKokNaM5R~OH9$_t2Nk;ZlC9{*#AZWJj%pm)k{obeiOHk9T7`->j!gc7Z!T@d zW{?G3n&Ee$j$^XN@Feu?t4Huf&y)t$AEh0!z}0L(C%Ws<&8^%=M%_jWzQspT{IYh3 z^kpD`cis$zOdk|b0$e3=&2D!7vL<+hSPr5ELj)&0VU6>Yy=zwdIi zXh;JQp(LO(?$$@4e}Mi{7!|LE3W3zY}ODSPC(yC@!xevYGT7BQlZeWNyY&n^ZN3h|974|E zM=iZCMDeaHhEG`9)cN9d+Kh3HbI^KR!j;X2@6E<3N8OlHBxvY8@EyfrTozwpll_rLXYVYgNE%Zm8|$zXXQNE-lIXBn?FlS z7nV{d@VD6zIyoY9$Qh+?O8wum^2`HB&Y6NjC*JoyUA*kGx&&1={{!pp%k=lz{$y=^ zvAHGiOJ_qk;ZklfG|R(XY!8n3cPQwQ(8r|f|DrU{A~szLTU;mpLYcO1RYw$rMj17Vs=wg6?BNjvn1l|B38S{3kiIp{eCM~hGpv0tNGHw)renVr`N5BOc4ES|vYI=d8(!_s#? zh*J$%;a`pg+TtIVo?p+&fz|=+4&lDN`l7b>eb7OII0cJ4xQ*dkX>v>cyT3wI78aO^ z3I6c}VCAWY!ynW5;Ik%=b3BO@|g*{S4+Ij>odbX#V38T!-J!(>0#|gsj9m z0ov>u^y)eASkA=zz`3@92;Ux2J&}(B&YzN3AbD_^;*wD71dVTCrUDN>-&~N1@ zR_=NxKFgqg^2h-w2aj#Q+GSTwzXwcL$totrf&eejZBnaR@R%IQtuPeMX7gL;O+>2n z7ge@z$Ot=-;?IRC+35k?t3APXBjN@%+2(RsdV}1Yo>qj{* z*PJh&Ab41yubTwJ%mVhakZnja-MJwngBeKch!vBlq;H3}{+v_{oWB27yde@X&+|_} zOxT(X-cmK#zu9bv>j)+cu=a!nis}Mmd)*nJ%PjEFwM(Hlj^vSDyBLUUmf17l$M=2* z-48Fx#~wol6sauKzKIU)*PcH6bE+efRUim7XZOPq4@eWQforQVk$0F*&mAEYXG$7g zS^qV2u|TL_181;z@LVt6T9OmqbeEekgvazOxf@!8J(+=>p=Bs1%=rhPU}sKUzFu)D zNlJeBb#<-o48qzfj1b#-9yq^{DYgnmDcAH!*|BOax_E3;P}o+^Uw+zt#~b?Ws>$G| zqztG1l~7uD$dly(;BU8S!I;vwm>i4;E#2DY6*n6{MLbe4v7hS#VN3VPhXiD?iRwg6 zEqutEGVTh*p7)U9hs0O}*bK$?_CKkpd^Rj?CIkD;JM@8bmVf@8rRt`J8K&Z4p<%gW z=Aw}oq1~I1j)2PK0Mz7^M4?a-&Fa6#b>bOpFIctVro#nFN-A%Wz?FpVBBE5l$SR?F1eF`Qq`hlEv(Qqnmg;$oEZ{ud$VM*-+x4|F)9N0(q zrG|>uRCJc9ypCKtNqJe+06rRiRb?aP0n*R5l@nk8_ouk+hX%*|y4SBX;tD)&!Bbt3 zA>~gmYL0|!!BmDQcB;_tGoZ_7p3RLabHAPW zdB?(Df7q-kr;jfEJ$(sjOs&{fuBENYqVF0b1mI@zty-_o%gLBcKunOivW6GQ>aHC~ zrTQ5AdDGbw6xM>8eJEtFZh;EZ{sQrleWX^5n7{-kNSnciJ{tBoYKA{2#jDx&dcl8G z!}ZsEpm~i@-`~_pve04Sy4*20Fm%m)CP_+RB4oC zUp$x!a|2yJ6B8wWSx4~@e3DnYJ=X9u4TV7Sm2k8{C`M(yKR+~KRIpFjZ*H?uZaElC zqP%m|m4#`dxW~P&m%lYEw&zOrr+N9l7Nx<8dU7uL z;VpbaJ#=ny)M;{0yXKaPAEoKz5$W65yB0;tkUYx%Ntn$b+%w$>Ent1nGYj##+gxA; zMw8WJ_gS%Thn$FZmJp|-%xuz(dDCK?-t~YP)l5TWCXtW2wN$;)`|~85$)R-K;a(O1 z$8jSD{>|vpsH&u>)FPePFIJj%VUxk2J6{6ciF2xKVp5mbK2VjSt{R&=cqLWTA+VSH z-qwSffxhE2w-6G!Ti?V~y7|IL5_V?_a}`pj|3DHVuOGlq^Szjko`Oq@ftd5+^3PMK zya{{p8b67gX`$v7smZT1Er@NjYTK=H|FEYPR{lzolW+ku5x>Ql7T3%&8@a$UTEAJ!(H;yzV!1@j=<{b-Tv zHG3dh1|2XH-D!>ZlvPHAi9nhe!FH|7) z>dqIgtn>A6wr6Sdav}$?5pe@6sc)rZX8uWYBn;iIK#z zKBFRSa}H;I7Zc`c&e5${D~K9gOJ%n2RUGI*M+RSRS`-pohX#s!W93&ja>L}f#G2|v z0)&4}g5V(twPZi~I*{av5%ZB4N8=oAREJgm*aoxble(fia#j0EFCxuv%pI#{-ga{G z=h);9!3WuqgB>&sU@q12d}3@!a~d z3xigEV>&1nEX_>ma_)KomwwSi_PQD)U$YPUDjkD|T;m&6cMuu#KW$j^zN2;Z-cMQKHAxhEjJz4xb&9OoKf!Oaw-kB>L|-`w5d+0xE3q12$LW3 z0*rVIJ^2NWtw{vu8q=GDJ`FuFeI(R2CXJInw`YnpTOm@$JWDUobDvH8*WW-_3Zv)$ zC6wwkGn*@T?0$#xzWL8$u4*$`P49QV_(?83D`CfY9+m&xga7CP24?y$C{Zp0mz>`h zas94V6X<`$!2f85|05p$KlvLAnf}$EO4B00l%OUt3g1*1{&(#Q@JjqayTqyemfM-p zu^-1-{(ZXgndU!PxE9>nx?P(%z<8VE_cr6zf1X}B zWapRDt7ZO|-l2K!+HVf--5Jbv5JZj(m}@tNh@XD9xYDybJ*y0HS$2Hm+8u?PbIb)V z>`;1p^QlI={8Xc(MkrCr?ZXx*)nA8ydEiLYC`1KHZmRH+;E3Wfp>v)c0Os3_GG-p1 zrq7+8=)!D|&vL92kv7OgTxqS1h^e;){4|EYkf|YXL(tU4RF@W|hURi+9jVrB4=K=x zp}A~ZdlP5|nQ=SN1)cI2_@OMgH}hxThF#4k;bkz0HFuvN8Zj0|ijA>Lv{y|0OzfP; zzc(cHI#aBk#t1XB7_*9ymR-=-sa^TwGaCK*m@XvTWs)EEk^Xyu8hGs!!s6;oQY7v* zw{WBS0cX?$Chr@q1v6iPiGZ2gHJPm<2s|K=tHPTD-;s;pXg42lJWsa>awH?5ZN#b2 zX^cHvhuMq@i3bJAZ#&7<{}Y-fY7^*&i6BB(!S z|5Kff+~wSbT(djQmo#Q*8(m|Y6iK%bbYJr_`dt{@mz^mUZ{jUdPXL?}292ToowyJ*Ww!8G&zb@lk0BsiQ*_#Vbrva~5 z1{K!O@uc3JG}HU}JxVsuLfeq-##iF4Y}5ug&gzfoFq6hJItD7^%bIVYic;}N>*f(r zScFG}%Tai%hLgwSgj@ba#JzkU_A*{HZc;en_jV-NmUL`-svSpbY`psS*F|Nz5PP+` zEcl`UV5I#>7`ICk0HHYrWfArfwx?_Z6V+4UwR^Qkl)f-lLAzORGyG`JROdOEekggu zTN?1n>S7dp)R_hykic;<|CqHhp_0M6wq%qAEF|AhnM%-N;rS(M%VL_h@79ur`Pp8o zTvVW_Xkg6hP<3s+lh_z2k|fMFJ_h1VLnz_ioea?z0z~J>AlqNxY(Dh`x4Ei!c@0yo zW@f}Nd8#hkHz9D_m8+GE^P?_ymL{vKKf*r_)+)WB-R>7WwI-`|{+nIRDLIl-GN5`# zcyCGqpd5J16Ape!h)T;`^# zbYXCpMrBR_QS+1qoH>v9=y(he#ulA*Il+h^N~O+3tQJEJI5gdW=&WiFkTLN(0mMlU z>?|Uc-*KTpiPK88HoTMiLp(LmtD3Dw{|#uDvEIk}=45!pvm^{&m6owZynlbF3?w;Q zkz`w3vD6VB5+TPBBWe@J1mU)X+_T?{K(?)I5+JACyv*AAOOxM#d1aOKHQ*cV0q8(s z+Ug82%Fb@hJ^=lW=H33jDALK@h3!)Yf{pJ5(*6OvYVt?Wl(XvSwba$Lptr1wR_i0K zR~uz3(Vx$AF38Oo&Dlw;ML7mYpz<0%Vys0NsIgQPbpu2xJH`npqW6QKTW#=&kQ+wp z6`buWR7WeS_iQ9WJ)q@ZaJB(wr!q&^_!K|ErE%?RbI-oJ1}oDIk68Hp z&ZdxE2oUxDLa59TN}qugC%+j6NddcAnxu_6c364Cjbl*&7=4r_VwOT7712L$q=|?T zqX^$$sPoUiIED~xfvU>-jPc)KhjXy57(=>go5;~gCl!FfSe-UP{-j(a7xj)tTxe9uSwP{ zc4fjJ+a2qS=E3Z0etWL+5oDB|$jN-)QY-5X!b@#FqDWvO;l~k@ySt zRv{?&9Q7C-w3Zh0^WA88+W#dJu7=-9#}hLk!XrGmuczBQskqH|pg6pxyrtvbsV3*S znE+1{U9+lqaV%PXr$pzsDHgVyl^9wdRyM44s6 z<4y5-*_uRWEo50n7Z{UJX}CSbwi!-57J5Vd`*=dtFcJ)zMf=CEsOc*m4?l@B5f6TF zS_3_d%K>20v~T;Rn&QWMNNTa?ubp@Mf>kH1S)F5>i;_wqTLX%kp?D zO3um2a}g1H`YvcJYX&#b)}?&}Vwl;>Q3IKCWG=Et`%(KjR}jS?ZOF0gM5mTYGbfsY zLA;E%t0rfBhBbjJqikn9z8KTTsydMpPejgv5V;-|g%~DCs28$${<&=}p{K3Hpb!gnp0Ei~`;5dDY`)m0ZHl%nKMxf!;U zK1t8hQN^^9QF)q~##A{H1pUc&$NYFsg+9BPNAz~PHQcNA87Z@2W9JTbqw0tTJH^kH zJt8g9=Ci}JU{r#pVVtr7Yhuq4k#oLqH!YYGP9egk`1rD zt^VMds)(yaC|6Tq31Ok$t1pcQ`PLT+2Fln5zq}T%WWS}(&@oCSJR&owq!~wddMEE( zSn=d~6tbcpIjDUKf>H_)hz;*69dj+9GKX#J3OO4;HI68C#_W-#>V~9$R5^~zhbk>s z_vK=4Mmc4}Hdx*u>XEe}k*=;)P|OJ9S|3RE5lHPu7RidVF$~KgNjrI6PS)Jv2Gf( zV4=|Eem-Tug;3s{@@Pd&p(d42{$wc)x=HlDUn%kx>n06}MyQsher;2Jz9^r6HTq{0 zwD;73G1-EWY(7g=QdTZwqc^1g{M2jCv!a)x;k;fbMwEv13|=`nx6*sBr;9vt_FoQ| zPURgRjNJr;6Ah425&JHrVK1`}SFA9|_j+3;H5wf0CmR{fl^MU!(<1_#JWyW7^2U(X zU7V)!TLxCuwblP54fbO4tG8x(Q1Bc#mwi|G?814VhuT27d}Jj0v0_s*W)dz*y&w~Z z2pgiZj^**Q^vJ0RL7Q{Qgu>LhSshw=%)fGbT2ozxBYgO(o+mZ7E7yu>8Chiup8`d- z8zkjlc0bqOsr(U7L`sSL+P7?f&)6xJ2F%8qaZk2QA5*ywrgu^fZXH-ld_;7K;HFAT z`Q?RE(Kq@ETt=!~TMkgDGim5(`l}9o*A`GOE2Ttnx@I$F7@Q8JA{8(T7IGSGq%x$^ zOfWgW!5?-vo-LV3RTrq-CuW_6ZH71Fz8t((apRgU6PP+<^!dmy(bSJgF_8~1=|e5@ z7YQCGC{}Pc^-gTt9l?C=t~;i+{;t=(Ca{)C#E!z%-&NA|AzI?9qsJ7_UyS4TqIR5z zwS1cT`8SJhjB$6~_-99zzcI076;^#t`&D39D;_?fV}@@e&%<;Np~z?Z+;18QL|qrz zVNA#D;l*=NyXygZfxpVW?Vp-z;AeS#Zp7Z=t$m>uBxbMKHMwu9q5agRs6Ih-x8$-Z zU(eyM&jKaObf zV*1YZsgzz$O%eTTQlhPMdLdMv<)3Ot}=_Cqm)-{TZLzU+o zcK@A9gvB!;#g4F^44_7^t)PvZ{xV;zo&>_||NZ>GJMjPR!2f^lz-PrRL>VulUld?j z-5c21mtd-h_~{>~KS$Kb0>RjOSe6KS3kN~CZtKOXJCbkRbMRh}=L0hn>oFxn^X&tu zt^c#((HHP%^~1vrqRRHFBjg;>atme@e}ru+j1v%R3U6qsu7?=PpG17lWk zqvS83^=987{^4WnOE3DZ3L(&XGX=IcT!PM9`pwauMFf}%>S?5Y^jv`gC6B0(J5Wt~ zkiT*Qr10(MAEB}LAdu$``Wq1|5&%MVw9%reC+oD_p3W#=!v*(V1Nw>84`WK zraQ}Ey38%?1gjpZG>gPNc0im_(gT>X=&g=-KuMi}rn51+ATFdVp&;%0 z(IxrS4Z0@-dru;7pgZJz0ApX}y>NLbPm?a*%+E6+%&?!X`WG^E@Sm1d74*0sN7dg{?BDCI@8_kt}X zauBQ-Kt0x;Bewu_a!}!S>MMYs1_JjAK_P;D1q(3DNHLJyMRX6tI490491&{^#=r!K zf?J+Sg+q?_%oAiT6ELyQMro*1)?}7(H63Fb&*MPHTjrsykLr71$ zPQZc)M6AviJOIGW^UW()j``nju;xO{^BBcnRpFuT2G2EuPBLkjMCfffvm z8=7s}#tv=Bb=LS0SVAziue(?}lf6L5scld{uHfdhu3UR4-KxwYEKSeJIVy{!mp3vu znoJ9dB-u>1vU<#BOQ-96Frd*NZ4CW%$3@7)S@4dj(?aEQduD{w*C@s;-*2W4dvd zUdhk?f>dG+6>;=8p9N-23>TTWcL&eF`%z*-J%{4QRpe4~Jlk#v#}Un%xEBaX#UuaD zRBw6x?cImJE=J4V&uc2VN&~tsKnRu!l90`Au{f(Gs$i@ZH>ykY?1sob?yPN5vnnc| zLd}abY$=g1xzNP)TRdecH4=?mDPsK8R+J?ue*}i63?5^~rOqRcn7NSz&-AI{Q^b$i z%hVRxCxA=4y0^J0g7H7U&kU+R59dArDoS6(5qe~Sa@_AJO}gYcaT~dC5EVNN&tiDE z%WT@ycXIHkrD9XSQrGPTFvx*~Cio2sKgJ2GLRrvo9OgwCJ7wxQzFREg>8tFCj_3>r zZyKoPxyjrBf(gSbVzOrnf1zOqz}~`dGX+WzF%EHSbU3)!&z1w}pK`=Rr-`bB4$11b zNEu`(vK3`9Bl2(suSE2}+E43r7h<_`G1~RK3b1S;jl+AWB-xu)p<)*dlo{Z@2%ua;)+z3jL1Y#a zVK}BdJ@Ok3L&1XZovINUfA_vzFGOGU^Ox|LV|_5h4hCX?h`=LzG%d@6V)Q*ZHpUx+zveoK zNxG#~hvz9#n5GaBgE>4c))1KBXAuGw>PeUOr>WE6Nv>0e-SK2Sny>ja+v%o_RZA&5 zI~BJ__?Ick{?93EYun6HpDZdP;+nSvHN*Z9KQHB%tj3{FWo#k%U+lg0Ta|0nH7W>5 zmq;v8Iz+llxF(}MgHREWmhO-c328)01*Fb=_SXG=f55rU`M&F% z->hr7SnIj(Ip!E+j#(Y*f!?0vS-`D}i#o`RH+{b18g<;@mzNU9ryJc~dFhmid?rz2 z&x_S$on%W(q%AfP@fh7M<7!m?g*_Fl&Mh+&Y`V3>x_!j1ahNn9{4PrLMs}OA=L=<2 zr|U|Rfd$pNBgUO#iWNIg17*{;uwhztR@@6-iV?0N%)GML@+zH!grBW8U-yCiV&O<< z=a%ezbYAtU5_%+6>Am#$`_eWcBtO-$zdhK4f;Q>7!G*UNZC@Kx9_Y~D{o|OA8+%#oCuO6sbJL ziaCalQG$2sMyFS_np_WDM;bG)uW8?t!#qvecJ$U;m6~14-jEDyXA$CTruA7_<&qB) z+-N6dp=0h!Si`K*siRaEz+DXTk9p<)>dhxZv%ngy1pdV)VYMy=G%9?Twx*luj!p@cmlRQV&9hfIYh6Uk_)<#$eT+zgr7*D2JX*)gLPCA;u|LXm9h-T5 zyY$Z^hWwp`0{Q|*j|<~Lo*_Bs?(gCcHZ=eJ-9O(dEjseg{`dZ+rxH4{9{>pD45G;z zi$8C80Ocz*}7X3hS`2i++0R)Pa?#cvgqTdHkt;m%A z6aw42GF3U>`ZF4o zk+!e(y7fj(dadwkwqK<1*I)puSy;4uk)rFxNNw+dv8_~^d>SO=JXQMX`MY3d%WNAP zp+r#w(ycXtd=>ui`Oa9xacD`#Bn-~YNhHrg{L6qA1q>LS!nUKAv6$xxhCbG4jsRMe zNk-$% z+*qPCKS>j^+-<_4mEbm{wz}&PD64gaN4)krkc2Uh#=}1QheG!!S`brVE2jz{=HTf; zhvd3&bfpGa%CkFR@dA5L0_P66pJ%J5POgT)7 zD#!`l)`Z3d@73bAK}{e_Et1%`WBwgKu*@a07gKT-Ez90%4UWSXfNKFJ*o>1GtT6@M zg?_|3FBTyg_Zna86N-Kk2u?^f1+7#1k_~LM$C}=s<+trK zlQjl7zAQsZ?#MngXWa;k(cqgg7-Z`)&5RGH&-XyoC~U0oPvf|lwN0)P_Y^WN_K4$-DcQP<731yi!FN7-3BR?d-n{YWKFP!o#?v+zyp=ckAn7hMd+U25 zNZ%GV-GwYCQby`%PS1-MgdlK!IeZm&CR$TVr1DZF{$`O4E3w3*YM1<=jTBx@GD0za zEG_AGYBP4>Odi>rgJz{Q_D>k zLLpmUPM&)zPSmkT6bPB-nYs*mvKukv2>(z(Mi&tFNOx_ihHD5IQ0K#rYYstM`wjay zzTUze5V`&(1qs)sj&V9)qhU((xq4JvRU}Ki8-oZZKf+owQ~l1+80Vy-0UN!IQsGd| z{=av9(-8?}X`tEHDDxO$fu(J|Y2`8Dq@E*Z9+a3u50w_z4tg~K&7$>G-n;htSS9QW zjCF0nRo55Z-=UN%Xcera+`TO@^-ca5e|F^<|By$$C;ZUa=j!p~{*YR{7sKayYOXvr zjlInhn_k}seB)}%gW$8RQc-`THwp`~WLm*-ojDf#Uety(Pyx zrq|cZlhSjX^eChC6Iz|rG9J*}28*&|xDDF*8K-{{ZX9h>)YI}`avRZpRRnuDLA;Sk z*h6mKE7ONw9#Yfo`%l);+-dmcZG&+$RX>;!QO7Y5qZ}gF4}}}-m6)}z{8WpP%|$c1 zIxbj^o6thE^GJ^5+EOR0jyWmbUbuw}Piv66ElYaf6DRDp^dbteWsy{>=dBrWiMc*C z>brYR(G#(KMuoC2!95nvzgcYA<@OB(1R@&FQM9#Tlj1OYSb#se$jmpj$~f)oYR{ne zbBl(`7rqw1Wbiw}XsLo)o6mqH$_^~KHX$P-#<*ef+R>xqUHab7gzKq_zM~aaP*2|z zY-Fp1$m}y#0!s8)mSZ%kiloHNAtD8p~UYO!*aa}P*pESMV+OBaa^S^K9wG?T# zEQW)E!oq@Kc4sX6=Z**8eX6hIYOz0(Gh1#XX1m?(bZS?N`U7B_j&XtsPtI4Q9!`+G zb01i3_N;YTYh}%1mH$5h)BXdc{srEih1kak#`rA$3PRTuPb393uAI#`>_&FRclF*m zJ1j@2nXB%LG0!|DTpRTiksq(=0;wC&PykV)UYyM$bk`a9X1q;j-7nX}Xa@3RkM2Ve z{|V2GNxGo~P(DSCM;>6$4LTTF0*rvTp^F5OJ(MuOD=xAA6ecm2I)<_>-vXEfr1}%~ zOL;&H3yV?SR?~SRBo5k{jRct+aXs-d0fby{0m#<>7qETsN+#-K4Y1DTk>6w>OS(e~ z;>fk#G9xRig0K1CZ$p9;eVQuB4U&kErAGOE@ZMe=!3G1whn12{qymR8d9fFKU zfN@Kq8eeA-w^5Dv3XExreXov-g8XChP3vj!Iqw0zF|+~B8%dZQK(M6s9w35!K*ebi z-V%8Gvp#1C?fM|mz~bYj+s9DWkX@S5^ydRwfQfhmpU)W#o2Q)*LWu(i+xtCM_lhY| z|Lb*=L)^Zu)OMs}0DxY;1Kf}Id;o?1)xLV46|vbvBzT>lAAdNJe}F!WedimHv@j)6 z@gDHi_}8llTb38r5s8 zdA95r_k?*ZDoaeW0pU4m8<;1zk915X;yI*X8^LS_Cv*X_gd+a9cVWw%%J+bGQ$^72hiGB@cU{!uCrudys%InA~{^W0k~|Zv#8iU4o+^RE&F)&%WG3M%uHR z-wt4z=u|L*-G2@BLl0BYq+VEkd*)$PU-8H_a>hpr0$TautKUi^;~u=jfPb89!}jMK zo~~gm7o&VpD<*FIk0KX7L#ufSI~;Zz1=v6Ca-^8dowOE{k+tvr)ag=8RjNSl7fuyJ zZP$5OnLw~WQqEcl6@eMx&!F3nnm5M02(FD#5(?6b+0U7?#6CNrapHw3<8xFG%2X4~ z3)!3c6aLducw-ck#A4ate=jNShe$=`vT`5-Vihmm`BHLIwzn`YUO;TS?cz0kF9dhP zbNd*-tz18Sdg&E_|p0cqvZ?4U+q-QR@A#*tz$venmJQLVF8)twy@x5F} zNajiZyeBl`g%1_ar>&|dN6z;CDy9DSzCK_<9+eul_jDbmZOU>M;;}?}t$d=_)-n3` zO8{v`8JRqNfeZ@cdRnl_?MNNt5Sx~({b>lR>b`4{D@9~J`8bQa~CpxK4vsi z$5Ns9qfNQ{rM#3Xgz*EvW?}q93TihkGV*{qvf~WtMLz@+=rLq+i)u@^;yu01*R8XU zSx1|@6C`;oU2L9Co=Cd$rtq36?lOz{L=ac!=7xKLFRSS+EW(oF^vhlN& z_H!Ytc^Mw%@pPh!iv$U78XZcUqHN3Qb{0zeoRr*ROIqFjLe2qnUlCY_Fh947Tg03n z%E$~?=Ua%1Pq?^eq~RaDs21ten?)Eio;-HBs#M|f1+R~utMnZ=-Sxf~1&F1vYtAt= zuHi>nJ+uFYed^F`T>l-qH6GLvGa=EbyI7{mZDHLi=)y=zPrFc-4;4Hfp$jXHO#~yX zhtZ|6!+9bftDeI4elBFo0@4fKGPGv8#$n=DX)7108{a-cD9XC@c~$~<^ccFr8QA<0 z{*5@^h)yRqq<`W-ecJr(f83&s6m_6(^3|=wN@)5sTu4M>VueAhq9!V|WVS4wTUbPU zAv1gT$)vouxgp8^N{>pF;L;0o9=V4~sU@$Tg;!DEM;9$6yOZs?Xr#d2Sx!Apm8pAv zcTrh6!#aLI7L7bsJH0K2a?gUPTVFz@Vf#i7vGEuPjmwqx&u_c7a>RuVGFj1_R=+}nH)s1?K`V?yy!!Jm3Chx|0a1=*izLHb2 z$m866r|p=w=GJ@krbOajC`9agc#&B7fYMB0m|i*c@cgFD|K=3kpKFwy5}js2qkxNB z%~0vzcWj#2G<$Zs52_NPKO)th29V6Ws2*D*vVDJkn+b%{FWuV@x+1y`muv0Zb39`}VUzQ0e<4yDhWKb4 zKLy;VZr(nil_9(CNr;7yw^~JXejtlVJ>kdbojn4IsI&>kZ%*=#$dqlD{JO+% zk8%B^wNh9~qqX_*dFnlboN?MMD6w`m^MSCZeGyWO{?Q#_Eqk+U;xl)kD;~aX#)93^ zNnKGxnZgF}UOw79`~*Ps2n^P!EpY3)1zfu21_&}>jvU?;=$KwDcn1jD!+cTM%{KF< zD2z3wAkokU`J{mp@jmP^DNUKW{pXx`3gSdlXMS7C3>>EAKp+HR%!oMfRT?5oWI2~l z_h5K-nf?P{6>YpBDgPCyfg*4r``>4L?WPdA3XI#=JD_tF!^f#tN)0)ZlHE#>~5 zu=N#^T08je3*UA}o|hr1^~d)VRkZ>DxM^p@CB89|l^{L`zECEzD!?zQd~`$ zb3RO3q6Fs4zS8SHv+ur=Elrfjt2v+yJ>R$@3JdjBUUmw&x_E(^uX= z^(I7orM|IaE7j$eEBURw$|zTvP;`}ceHGx`B;3_T2+0)*SnHy?u&*qmp+BaZKDmBg zk*_XI_*9ZmP2Y z6ut={=`{*^1vNAE1YGi>_!)-|@@P)1K)5F7thyq3&`dOnsMlfamBAB)JbdAr`S-=3 z54d>A1LCyUf%RtO#L0ivI`dW`-4YmX+Gi{HQ-3kHW$3x6Yh-g@%B^s47zov$o3T=@ z*ot5aN=h@RwB2*|nnQm+91jasO-3!#l zC}XC(ScetVxH|rd1rE{S34Ak;u;|{v9E2MX6{Aa*l1B#GyCbu|6~g}|#N?!E6;G`^ zZz?Df?!nH~t@M7J$dMMdgcUsjn?Q1>>eeo5Dy9k)T9%{W1m7tv))I*9Q==+|%Ksc$ zZ>4ZmPFIngUT-(^Y0ztanta_prGZ1i5n(_6H^4EWi;*ovCkZ})CWRcfjatqzsi$+^ z5-A}&3YJ`2kdKU2i#6Ez%taHyO3orF{ProT;_o$DrSJ?pCe|TR=1E9XHa~`Tdg7s! z-ohT{cuCl%hKPFWuBe6VOy`YjS%CP_(O>qn+*+8eAjxtxQhcrCWFvaJHEX9-_PggN zhZCLU^8q@XUs-ZlBh6JgL@3YiY?xcCDV3hJAysX4P~`Q zg70+n774D|&X%BNvv!yqYdagPH1I^0PhdCpbOeu>(b6A=$};-d1&2uOn)Y2`6Xh%= zN%!g^oBW{T5zpoF-u-RA23m&ea59t`6~8J|Tyd9*L8B^$5eG$d)q<+#V_MfWf2=oV zWX6x%aI53foxEjz&mO0@XF~+rxmVp?yg%-`vVG$V{+7kdL}?egz+>`zIH{Ndx8r@P zNX*3+zk2Es=jyITu{|JOG|gC&;Q#3iFmhz?u%4+j%#Ok z@WR1GJi;;J6z9OBA_uF%KR-ecU6bYZ{jY+plU}A2rGdBRkJ=>#@;+3m(4iCxyAMAP z#j24y&jq;aIi{Un`g%yrAn+jDUne_Lqsp->uthbp|1EXG=DUx*>%1KY!UKG^`A&ao zFB${4Zr?_3U@3`q@&dW#=iX~#y$dESU_$rLzun2`WTl=ap^jli8e}fRk5=-xr_;wi z=QyZ*~>FUPW|DqJ^<9!_L&fd#$?gQOK)M0O9 zE*@?fuAV3O^nVBiLlg3BcI{W#XJ_M+bNd%~+r9&l;sXao;`IZ9znbU)8MZ?ovdzwM zxBe3Sb{*7r^a`i*bp28P1;W(fWe5{2-Lo2;X0}KNU((gDtJ_i zgpch%-G2-go0|zb^PojafPey4s7*jMdthWrUB9%2gdyM;d3Ikb!e>}Gfq+7H(AO+3 zM>&PM7&DLk1G1V{e9sYe+Ryy@VGAW3S#Pa)2po^+z)}|Yq!26AQ{(&V0BssUV4T@q zN5AzRaR5QRh8VSDVB7cL1f{=DAy=9=0_p^S$SR;LZnnE8Ls8z<-|Ai=W*m5D1EczA zLK8UokP@(g+-r~(xDSeAI2O9J&*^R!g@JiYlCg(!6{L#T9G!U}>&j+Nez;mPMLR0z z%_57?L7jvQ`d}E=3L}vTUP2U0XvsS^vj2J@@C4EB1;HjSdqV~xwkfH_X22QuTGkQZzna1KNj_9xzwlp#i`9D%-Gc$LY&4G025`5{@oJXs9QRJzwJy8m& zveM^}#oi8&4|E7D^ax(vJXCA&ZeDoOg2SS;7d-J0@aAIBn}L_xu-}@Ig;}o(GWp73 zDMhj-JE_|2LAy}lL|CK@>qe)g9mG+9zmcY(ntw!pP~lXG^*BF z;lzf8jJM@KD>1O0Ephow!W^V|A?v^-=YNk7x37U-E6WcMZR@Lk?$oOX8UY{C9aoxT zSz|GDj!^fU;z@a_!Lw@-1zl(%LFKS;K>fw>+y%*K{M;XfdIMSlixC)uT;AJwYmBfQ z(*nc1`oec$QV}B{XP~TqCw&YJS>6Gq*YnrGljWs6p}(G+RSjKzlHP=D&niZVeP!Zh zz+mLFY6IG|Zx4aVfI^*8?*;t1+n?Vwy*1`g_Z+K|GO>3T$?gQ*#H}pvyZC%IDkW1dylZ>QCUhix4qrFx?2cv=R`$TEwK~Xjd=Oshv$^8xo-oRXCbOB@8M(s?E@0hnB{K9F<7DIsq7Jf&E!&<73I50@ZRkx~UeK-=EG z)Ha^C-Q4(iJN*Y>vK*U7_1o>x*?b2gIr9@x0_k8~9CnW;<El|@s4MLa&Vwa49#|Z)VZi$5!`EA z^)M(D$?C6po`uth;Yp5mwiMqs8olMGAuiLs*G}EH13OcU?C~^VjhJEH(A5Zw z`(j8Oi%QTtin;HUkk<9b+cQVQAY~sMdNAbgQ(lLkLEJ6*>7DU^&Y!sjCR%2`%YuhW z?HLtRjxVA{%i90@%l|`4IcOsF7>J2_;Eut~Km4e(`W!HY@4;b%42Ss82Z8D2*!Rri z2HeV!j=O$z6PZaJbm-ShK!(?mOrj!h=@YA-e(+KwF;`G{Qd}cIP>`h6If3>NYt8Kj zkg_@_x^B>@B&U8rQz|UV^jL?(`V^Lq6k4!JdjktDA(>wE=1&`Zb`68GX6`xkgJ%$| zd*X8S3=(d&9=Z1GU%28j2*vgFX5A~eJiZs_Mbh70uBH+{T!m-(0pVw)YX|47Cmi>c zQLbnjWX}ykv_ZF{59R6?)M&)4`y_?7xagh&6K3UlX&L94$t$FBk0eGecVtTm2rXXV zrm2Nm!ZW@EZRa7>|MCTJD`|Y@E|@7q_zX6LX>fl~QX6xH%6kanjf!K$Ya)3$6FcxPA><`WY ztp7Nrx&t;cW{>M5F0aP`Q=9|fR~f9`0B5@T;kx9sr$3*|j&cSyBp%m8UhL{ zHV+hB=1T~w0S!5qv|x)bgIWDWfpupZ;`#wQR=KizX&{Zz*XQdB*9PRt4Hlt$X1U6q zwN(Ry1=;8PvGW}Sp*p_u`feLniiCb4bv=&FNqg5K5|JZd;jPC;-Q81YRA@V$fzmnK zj`E@Q<+?0AKk)|Hw)==m1x7|A~;dxQH(5k`K+cWy|Xjr7PpKNp-HlN`P{v~ieH z!GG^MFDwpNTm=B5rW;NEmgsZHxfE%eNC9zo!O>iQ7 z-wEG98p8MYitz=?QSO&?O8VUE8u_GrmKyE^U0h2=nfjvA9JPA>1*r!ati+hxXw8X3 zUkbK!Z9p8mzD>o&8M`qrD!_bK_}0jRvph?1S&oeh%U$6I-a34#9Tn*VvRJsBYK#Pp zM_)E^UnmiU1Ra|MZ=PBj>oMHMY*0#K#pU3~p_^{&FuHVcWQ_SG6tY?|Q-*DRx!{Fn z#N@Vi$AGc+0lqmGxuI2#GVSCQYi8U;=?}$&2#NM&P}RnTPNi}G!zMurKl|R*KeEjP zj@v|%_gDHu+G|)*yZo)10st}+=i408TQ0?E{d&mR)0)(E!~OTwxcSobj%>Rbov|$! zM1QtgBknxbi=d1gViK!An4Bk8Mm_J?lM8bDtUN}{w-?1AnwMfmXYo@+OTaDkrSRO% zvOzlBstdWG!x?_GeTa6#ARmHcejQl99REq4VoPDauL4)Up%j zYQ*Tgc}eP;X}Au#4pyiGN;SE$lq4&qRzsCJ1q1Ei(L81q{X=Fwvz^7ni?r)+8sS`G zrb-Z%w!7yeNCF-Br1bJ9SQeygn!qV(YsHnue95yZe5GiumI0X*mAaw43;+ZxiBrBa zCl z8Cp4e7?Xq11nEBI?eq6Y<*RSbbSK3!#zr?gm|x0?i>thXL3icr(HGpedgkqPtZOWH ztnoTk8BSLfB}pICc^h4t&0`64O}zD2iCEin+hvRrWMYGM&Z(aXKbU`3vA=dM+$!WC zL=B_LJdnk8#ow#LMr!L#MhthZw!f?Jq=B#;iIC`>JaNJSVkN>A?$xG1dmkP4e$qM> z>69q0eAT;DF`ustoqwb|7u=d*X4ib6)KAC0EoY{Q$JlqEXi+#8L*M`VIkycffrqT> zeOcV7bxnJX04p-qi_iT9hUL%yq-Wy~&q#=5On2Gy65{xR^J~20=ZqK0ZMF>hC;oSu z9q6smZRO(aNPp|B&A!`~w>Q*XBAd{f{cEhLxJau`okkUs-z6N=S`zXhTtBExhK9kl z>HN;E_`vq5Xab|pF1f9GK}sKe>c8=>U#g~Vr!v1~;JYHQ$6t)zv#|cKpi(75iol!Fp-(vn1d6K4}WRQPcPp{X5(eQ^G9f!New~mA^#9tPa^a1S5XtN;i{c>9FA{ zR;be1(W2|F$!K(B%IyknsP1zyBZo-hi}2yzdB`EJ2W8Zt+{6 z?teJTDB3N6;#a^0jR<-9=CHVV5=J=APMFWYpk9BtoL0rQdSZC%e?}!FZlWXVAoFGe zfc+AlA5btW08nc<)0$cc^um0ZCuE=w$y5;(?y&Z*@vhj={85OYD`Am-Ryqkw6p*h*Y034bDgqg;YgwP z4yMAQl7!AF$Q;-0KRNoq9~)m!HUhg5Og4f*Cd_II$XtiTp(F&m;GxoFM(1(~bLflr z&AkW4vO6(Uw==3IVGcq5;mh~Ss8l2==(1xbv>QX!Ybl_QNLOiC;iN?TcW#jvPiIxV zdbGR+4))-7na zdhTvE$XR1}VmvV~frP4Mple+~zp8=JQpq;~{F;A1iY#aJs?xw`??L)~0!tzgz}1b6 zlt2{o({&!3JRLVKw+sgRt>S7&;b(BQ|d+YjtUS2bUDI zS48ee^A$2oEC`z`nDCG$LdAgXE-U?oSc6kJirDSHFHR2z1$qu>`xsyFdig1LeiTac z9QypO{&BuJHMci(pDYaKv71uvLy{R~DX;&!ApREvK|oeSijE<9Pr3aVz<;cNtCg+18g6^$&d~TipzBR`{cug;DK&W;h0wHw--G?Ud|*AuHGtNRq|;F>7v_j&6*wL|1{(0cs2_l!+h zO5(6!^H3=5L$?;BtILD$;LXOk$O-3)WTC9uPZ%2gZtuN&`Km*B*%pwUhtL9^6py$K z{9^0|wcr$7m};eKH`4lU8FqqA&m9hN?=9_o>b(QBSChXrYL9`Z29@HCH+%0fGA@P8 zV$<{lm-8TDQ$CEgKjuMv{oU&N9v;1iKZ5K{dj5F;4vH?i!Ld1hGYiMECi>Afz13FLiTktHMk#@O^$SL? zC3MwGVTyhR3_6o-y^}q$kKHx&oB<;v%%quXGQEA^u;yF5UoGN6(wl4?v-Syyb#;VQ zKP90gQVYKgTl2S#h`#&y(087D<1??CW`Qy1r1Dx9`y{+P7pvv6_p;rV{fSG((eogk z2onMb%jo&$Z8DH|G^~_r5|C8jCvT0FC+2gF(j8hmE}ou*gUDoQyWVT zDMRFW*0^rvu~l!#lH-vtvI9>EV&SbG9=iSXqC)~Ep+}7>9*bntq|3<7SGDVG@AJVn zJN|azE6lh-rGZA0ywI-!?_YejLjmXfdIlA$ zU;OHHpheVX3#F^kZ#vJ1jbRUVDLsOtS7<|<6gV4X1?t*exVOuPh~9kb>7juVpGOs& zN@WYuh-rI3|opjmu-O=BOoZna(5;4L)an}1FfEF#Yd8#*k`k=y2)!15e(fA zC|klyi>223Z+?(r`mudEck9JW#)gEJh;D>CiVW>?zEeG|=;^`2&6y7?pO_NvX6W_- zWoCW&iEtDdYq7|60;-A1wFg*>Lee{axj9at7n<%i_U_OAd-me7VPfRi?hGu-^a0HU zJ6=YD8hs2~0!ZPDE%pml(E97G5!>>lzai#GuS2Kl%aYj#XGbSG zeC>^fm8@t+7~uh{*MITGC*$mXA=bKy$59>a5f5!Yp)2T96`rc+41 zFg`qkNtIgS5au1%^A3^8L&P@8fi-AndTTVy<#H)wP{X3{n6<@tcvvz46DsE26I3j| zPPTqA8OGq-s)vSo0deG`w07k;hL+m%42i@xxMlj8rwnkL(@VrGf~=~asB-^?i6t>q z;HLtSuB*4-xIEQFwTu3mF#F>F=&DfQhr+u!y8Evkm2c|scI6Ot*yW{sK4(c81#Ts< zn75%)ZD*ErjT5(H2h>Wn{e-e?Uo+-Gsw<0=XJYMA|2k}%SX4}n z^%f4N^7y$-jR=$2XypS-xAE%$P=pz7VJ`@Xz00wozD9>3URK$J)^`Z|pvPamQq4!V z^=~%!KPxbwxJ``r)ueiSxQ04nm4K<~L+Ze5@o)$CI84mjhrice!z|{c^2p%r{Fs~q z{01Nbo$ur&wUeRmw|yb%=^dt{zNptqp>gW+Bwp)kX`u7UksH6a0mX_9HVdb5`14oe z+OLC)mY-O1oD(2MyDx!pj!H@+HOE5qtCBT2`;SIH)3z5M~{t}j#O54k zKylu^=o!;#J-%k2>LQ-$bBW7WZ#5#9yT!uro_ZXy1-P}|p=6QaK5_xw2o#=>knF^x zBjM-jpqEqgh)mtNc7!O^U61?f<$@5;8e#Yd>!m*vK+NEj-tH91Apeyt4*MQMeOCd=&fAz(I!{=mTMQ8D4jf>4Cmur@O@vndCAm{$0FJs##DqwE;I zr4Yxxx7;PD1hQ;pr*hp0kDfht$xrI}LuRJ^zvM&Sy&=~4jgGl&?O}8_8u&DUF}1Oj zPNoe*Eji|u=hAf=g|Xn!aFDMb?D+}PaoEi>P;lUH|)N+y~7`F zMfy>uIr0OulUn8}^=?r>xtFotdAt+u7g{DN&q{O16$m5aQKjvSUnGCf%T6$S7X6v3 z8*zD9P&qE*Xi)q`f6XJ(`_|Pg>a3#9PiAogsA9OE(5QbRtEMXocov@$tCU+3SV~tc z^#srNA@eX?iP&v7sq}Y;Hh^-k)eFDV`4&B_YlHQV;5~AubfY>3AO96qWks+AUe@t({87 z#UQH?OV7+sSsn;$RpL=HAH>-$MQO`*OWhB6y7QGkAk$5)RDn{3z%TZe_!?zW)a8m) zd$0n=vcL4`(s3A+9TV2$?Q>AScWW%UKAcqX*#7L7{WR6=g`us{%;`h1_M#tTcrnkC z!^0!HbqO+k2T2I(|`o zn@QZ_oGVmAHcv9G=#!hYI)9E(uc}W^~!98Tj&;|8T>X(~iBbwq2p>+G*aA zrogAA*vIc}Dn?6EqKyj~ar0l@b%>h0k0$h?{lu@xLhYvWABRE~x^EQppcLXSoZlRi zG%EOp=eH-XXbMbMcj$TeInQf)1FjI|BsMe<80;)g0%*S=Ym zSw4B`??kJ*%BgdyDaVpb*s-*Io;b31L1aLTYA7jfA;e`-?}mwLm=!$E5At4H)73ux zT}VtxW;2)c-fdvH{slIu&ph`CbuDaAO7Ni{bmHwMpMCQ=fwYbuox(`k+(J1be4d|6 zn+nXGhUTydbVe=vHLDi7r|>O@MS)^egVVX~gMo_FvEYPerYxDp_bTbZB$H%!_*RS} zr0u8+it>1kWXCkGFv!qH%VQPO*k)ZUyEhn5D`06zMxU$et?AM^+^e}KYZ4cO!|Ows zv6qk?quFZmG&dmGe_Z7YKDp|TugYxCG`Kz#l}bM||`BUbe%G=mnedwOA zNbw4F$thZe%VVcpLi5W<4`kLD3pcuC$9!k8c-TDpne^~7Ds1cRQT%63fw!b~b=I1$ zZ!l}mb4+ufs)z!(>R4qq^=?=G8|Nj&)?KDuqVB zW-f0|6`bKvA<#2BJ-CkNr0Z}Qge=Mlz0j1Ut?n27#nfBy*YKMtGfWxW6oqZ>+QrIasDAS)Lgv z!xYZky;}-WuA5aeD(8Rn>Zv>P-{KxL_kYlgn|K({Q|l@an8tVU=Y0m_yvg)32`ACO z<$4RQ3j3OQ49jn4^OZ~bdHe1hl!k6-^nR!qv8z4Q7cWa_abfng%M6~gj2`dND>IWm zFUyVHGwS$6E@G16c8aWDG$ocmV9e5_v5o;(xhYHa!`b4j4E$3R{z40dh1g9E_o?!( zxpV>bpH-NjdOI?fz0+K^Y}71j-SJDeU9w*19o4wEms@ZQ+$pqClE9NAE#NsUp~54# zy7cMCgJ~X`*2(F~I{BW8;}ZKn_7~uBwya5Ej>hvh{{_49{}_j@ii^Zqj@-)0OJ?uV zoB#Xc|H(A@OV#{upH1?AKljnpAwP%Yak*rU1Gly9I60vHmtrD0aKTOoiTi28(G;gE9u+Y3%r>b|9!|?*Dkt&Y8_OX(yoV$ zO{Rlw5b;F--zVgxjTjmc^&J|i8!-6EVD}hC_z)iem>?RX5PKn*4Ud5#;obqhq1FYV zm@waWr*=aO_YSxiQA^g@f8|lg3^HQ`JoO$t(fhz=02}a3a}v5b)1!JL0Al^&xWxg7RmjL(CQ%UeVT08~bE*+A) z5Mx1y@UGh5VH;v!19YhTzZXIE%{S*qCOy17p?@wx83wTD+(AqO_oxX*;e&0TDn?x3 z$igc4@m63Y1A+Xoe@);$$94*IU;!COdjDR=mD)dkT97>sD3KX|a1LGm-FA47>q3aU zsplPt!Hz>MXbU)LbjRx47XTM%d}VLEG45g?Y+-l0cdt`afT#9P&zF zRurOQN@3utT!fB_+&afb9fE0i;tq>Z(wDVT5r<{>8kj()fyP8^f*LNTRDV4^wCH|K z^`#1G3b-M>F=nE>Uy_W5gLDPTkp_%0f;b|61WA+u*Wu-0QDoE71kV5Rzx!iHbM|A2 z;qy%<*~f}cfe|77XM(o}==k!c68WV=!~6N3CE#ig3f+fYT(jx-4}qw@-z<`D9sj?6 zy)3jZWg>c0FF7GI%AILzy1ft6M3#nP0){4zU|xh{d-2YE!_tkr8GLOU4u4I1|Lc)+gq@6UK~z2{~>rpsDk0#6;Nn&kw62 zvfNP|v#%yu49|eRcm(_~(x@wSXzHXia zoHQ5|Y7_GN}ynbX!#$G&AM1c8J|^?Y7R!v>A{P z{SeF%=W_;iw1uK!?h`UIGPB9jI{G|yO1W)NXL zXy~0h#)0)K{iv#8M;O%Cg3Pac7#14(9F zO@UA%TW}i*!+OCY$xiTpFuxNxq>X$CSHco-=SyT)7f+ZAeT{$jTQ~I|9p;r3V5JBD z7@;=W(McQOXRSa!VNhBg^bzk0j<{78Hf4_kli7fz@O&Cb)PQjg_^tOSxA5ko9!i~i z9!a|dZ;{~VeOPMvRk_1H##S(x%JFUAs>GeVhbf+`ZMPzfcL{HNlBi?7>ylpeW#=#7*_5*7F zNx^$sZslofQ9#}J^jds$PZJU*VzJ<5lX5HE_x}*1@}$ff0@#n^?kxPX2&* zih-{tL@t7=mY;md>!B~oc6?|mpg-_t1vA$CgAv2>=gmlk0zZ7kF|zU!RK3&kQgBq< z;e?pcQx6DwR-5T_08QkzeKt=qQ>(y_2*_G81>#%irD{z{x-P*fe;06L5{9TL)q=D( zCpBcQ_;o_txm)*XEqLGLn>Ro~s&g(xU4cX>Av(FE`yNR~P9Yz-e^6Pb-wS-ADBe*U z|6!Vx^IoJl-j51ovB&p!P>bpoZ!cVE2Rrvypyx+pAH)gWutm7nmyM?$$1DjC0t;Q? z0=8{JZ6AXbU0yY=A|!7dnaaDK@Zxz3OF~d-1qtjgAny}=;*SBYoB;km;cZzcG;ipO zD3gQ@z`E#ugQ%W!yDB|Na+CT(2Y(4lW90OaGY>-l1|BirMwX(j(UHn9ab<6Ub^W9C zk=SO`8OWb^JY-K?8;|aGx9J~ecg%Mc71L4TuZLuEjRf4EH^0IB^tm8^6>yZ3ka;%H z<3_%G-Cb7WQ#$YMVg@d=nh3!uE4brEV!r+c)6H9`;%TwPEkX_31hV)^LYafg8HmXB zn^3PcX4|8ZNP)%78{FJgroufGL%ifszuvs^vV(s57<4LIi5dVFX3VlU*q&>3UCe0? z-9{`4t7x-~K|ul+w0((lV~VeYp?5Q7qNKujWvx@`9>M}iJzrX^J{?u3kA{oVqYfQ~ zD(<|U6p+r)eJpW5`o8>dxXRPE^2Pr0Qt25(wanwAai5dhR5x_w&+C09Zbt^ONbV0~ zwB1=1{l0dwDz~sa=_JQyT1Gc0az`SLw_<^OiJ1RCro#XQTJ#PKHb;)L0vgwo?XRS z_7-D5u#dE^Dj_@P#v{|bxJkkB4>=DNk-&sB+qX|<&q&x#xTMNP9^bOzaxr%=Mtzv} z-H6iDj7^Sm`tSTF-yS=-a|3;|o`s`1F9m0%U)te0h>D7Zp57wC3R{%%u#_<<_BKcdSrA_|{RP;9;ia(S$O4nds`8jaSbUVc^)g#e zx)_gH%co+6xuqh>lQqy|v_1WbbcmC<4|()d^&!b)jk>gbiXf*>a6x{`Al@@kg@fu{ zG|lN&(DX|zwvg*wSC4@dUC*W~Y<{sjMbU#ji%3Q!OVkRZR%+4~S?|AyenRMd+av!^FF_v&I)m>=fjEK%Ko94v4(gS%kS>n4J}k_OCNi7?|X_4NaW%MZjlY7vZ8f#zvz9b z?t0Z(ZK_BKSHX65wSO|-+XB^WvO|u@69U( zZnfy6)7YW>2_Ce>sb6uoqe?uQ>B}ij@~e7cW>C^OU={dY`kMADEm`HzAh^mIb`BOp zef=3WGRpRzbp_wW=5(C4kkJ|pN*Bm5WzHL}yWzw#fv#?3CQZj{k(!S#k2}hrtNdKH z7f>!G%bCUF$RCT>Kgcy95lz+IjC4l4yE!(jQnL8Xc{ATt%D>9qk05C2md+7vD9;^-YLEG=fDJg9CZXkwq0rnEg)kYOqI*%bz zV@=n(Lsmwo+xdQevqo|o?H&_hJRucFk?TtxsD_G+t}`gx}g;qo@LwD+h%Q?>X5s z&&eikNKTN&23=*vf5ozUGI0OcCGCng>R@xKs_B|x;TK?ebfJRq4{ZU!7Tq0xij+shOi(aJk z8*^6&#)Gs%>Ybd@N&Ky8uqdR(Cw&S1!TX`%EN&+L{%JfA`6N42*e0kp@yZPT4&FG$ zy|s+HMRj=xdUw*7+c`Xggg_$YkV8Cb-iZ5gn{k-STG zkkgUR0fgN;adiIsQh$sI9yaK_W91;tY}H=)3P;#u8pw3v!2q zeHUatJMx+@U&+AZE`6Zim$BV!kmr(Hx&UUb@1{#g(sQEW9_KrBMzn zc(Ki129xkkhvEzLeJ^xJd{9Hi%b3GoM(tE~KF1YH#f*&-g=awM&~dQTkHwNv2%_&V z7ww%1y?;{@W#W6P!M94|0k>lsy%TZ3cM^69oUJ0dX>JqvRjAQG_k+_~OvBvD#);Pw zW6tRz0*iGL+C#YKIj9*6Hc%M^MF_lgLWoI`vy@nres(A|)hGkn+SV>;rFOLYE*(iC zU4@Dcdq=|vyROl3W^T7LvxR0eZR)A?g7dBStj@m?t^f}E zCbEV+eN)PK<|Ubz{T=f;lPtEJ;IN697q@kuAbp$k8BVnB)JC!R$5*O9y8aajiMM?t zk_@L`UgGv{>Oi%c7MQsu~q^Y`&dI_r5NB6!M$7!me7B zKbH=OZ}H-8_`KdK*+y0ogQ*|AfMi}(6H~+AjA70`xjQSZVI)NMW5CIJN4Jy;3;j@3 z^HeYj4;ZAaO*zavYaP`X%DU0$W{&OcFn2h>nw`VZm+@k@H8b+ksKtxfjoGuF${u_v zV^?Y|%a5nhd0yj-Krs0@jAjb198di;9OvR~k0QD0*}Vgca@b?EHKL^x~N*eErqIR_;qlv-F9cSsm8j zcMAe{$41k)jUIV}@6pYk?@h8T`u?kottb49>XWEazF4y)M_!Scp6b=#g{^pgKuIDI zzTDDU6!5zq^y~U|b@5k`@c+MR`Rk3n|88+-dyKco_PwBAHPExVDoi^&16mORxYhTp|-eW@$+@ z09PZCEi9=37J~%fIC~p=inas6j0A-%k(|k9BvlH*4S?hAs3eMmy$yj%0;m)xP=F$t z>ZnPg;OuQ3?CnT)Q~(3ORme6V8~C}!r$jQdCz1eJS?CW-TxqAq3bvzQI|{a=U^@!_D^W0b*#y^6hW|4M z`<7a5C1DaMwDhkW4E1kvFp2Lu*jYdVfGcd}M0Q(=(~pemoT}n~PL+~lT+VCvvfpT{ zlCEms%M0)?aJw@CFHflLhiC=hy*26leFdDAcBrti3ST6ie?qHzgV#)%jp_O|(;mjp zFwKSbZDOpnVUmYmzC&Vtyjs!$KO?JC|dj^?oF(CEBaVdz_EMND}q-V$G4LP zs@x@Y@~QyGDBUgXqIxdWCgk}-v@psaiDFM@%(%}xTvuSTm_2r^qA4y`U?iPex0S0B zof2H3*`L5alo9&Pp z=1>HOcY%G3GA+NZZM10gf>4()U#qWA% zFGGVnO3!B}=S~OyFb0N%KC7;@%!?>+3`4np9bY}nWDsaKbXtK|du)+8j7Z_n5ar4o z@U^L-+Z(=%ng&Jth$HAkO?LBmOE}Q?12n$gYB2g3dT}*6vOMH31=-g$PzB^`TIcIl z4m7WP+}j~%uSq%VG=N-svfF`)*;`c}>R+RdpzZe|GhCa6?axri4QJ2V6R+3}JD|tl zhEveQu+i7!0>WXD@+<8EcR59_=ceN{WfqQ7xyu<0udk-xzB3AJi)`D`m}ja$#s9yE{-Q}hfbBU%d(U_~OG5?-OIn7%_0&E(mc$5`;&tgxN$-BwB;clPX zeb?@lPHtRzvYtkjlIJN;xN4L{?0oESQ(n})2ri%a^9T3C~4{c zMdsO})_sPN;`-7GB?cwhE{YoJa2>dDf!0jAtX67XYSv@b$NFB+pR@ySOo9{=Ywo58 zrava65Hg3%j^;+(>k!G*%RJG5F?)15a87nuU!X7`86SxcX*#3*`c?mVlk&FWHfHNF zO9Avf$%@8|!gsp5_f@*nu(cZ|V}P4b40o{jG-0idygVjXliE5gTxRJneZR!LYE8z2a;|+ak*%@0!3Ga+k~v z*BezVORuTULKVKAU92A`hDuxKf`@krdI&z~#AgpA>$VEF?rzOwV&<6TcqPV3>9{;p z%0r0|CyECfyE>%5y6`r7SnuO%%bA{#apyYQy1v&ky&I)#$M&f2iBJt{yphPI~S+F|%hV?Kjd>~xCjIA_0;jFQZT`&S(~#YNHg1*Y6e zFSuTHb%BVPDl6gYD%8TBy?mw`6vD2~?xND9TCd!tdPdnpIaXOcR!3B~XhbDgFBrHZ z!+!X{eh)rpO3u>DKJ^>JQ}3a}pTs2$Vv45TP#%uvG`Ho48`tPw7CCg_@WBDtX28Cu zIisiZ7mUkXMj<^>6*tx*#~Y4~hs+r+lhz|3vA%!#b|}Tx83vf)^YQ!f!*m)74+ow8 zGXCr{l5;EkR;I8-PDjoQvTyNnai=0bA+Ye6p@fWJ6}%RmiNKXVCwG0iurEWtBjU7> zqpo>HT4E54A=$sztT$6Dy%lKESec> zP%Kl_8mba&)n~D(x7lwq-Dh5uXZ1Fg*Qn!*Y4iKQ_Zs}~B0mo3dR|)TYgzQ2uDZQ= zd(CCgnZe~<-(>l`PQ0nEQEz+xpkdx<%jb;GB^8&ZsxK1sFPrQkhY`byQFs5UI#pn$ z+Liqw>w^z>Si)G<2al5JGf<$(>hPVww~~A=zeY6 z$BYlDDTJd?tFvezxpGj~#OBX#jnyI!DPdiT5TfJa$UWRKGx1C!pJ$p>2x zipeEzURelUj87!eUFT~!n$j2I<@J#lsn)cra={{7E5@S4dl|1=y#$81<`m`x352tqYPQgY?; zHoBI3%yX(1rqX&$+KO&kg!z}^;G5Aa1sb(G+H%^CsT8YxP|Z_q3tkECbAPZSnDwKE}(P>c3l!UF}}99VbqVbh?md?qmn{->a5e z^w~&XGh1kkn4HpB)`(6Gk#o7ixc=Eyz}9?hV99s>-(UvFt!3!edKD#wMEzW^Vt>%| z!J<>nzb#ndJC2|Uf(DKN{0xamCMepw0{UCX11J@c#-a?j zU;`%*0RZs>bu!Tr&K;07Fx44MBm&(rrMAILfQ8dkQ!x$Sr+91_cGp)5m{N zzo~TYU;OM!A(=xF01633{5k+BNl6Jwz#RBa!(dQS;An0gfZY!o0`vu_=HF--X)FRX z?{74)fdVJTKWIp4Q2T$-BtYqZ&@iA8f8)a-rO^NEi;>1ifj;~vpVS|HC6S0f`br{E zfAC3T(Eqd-v<>qI4TJbo7YqUePVB$yf5J%+`S5T+;;*32A(k|s!F%rFE~ mNrE&QD=meRh5lz2!0 Date: Thu, 1 Jul 2021 04:26:09 +0200 Subject: [PATCH 170/270] chore(deps): update dependency google-cloud-storage to v1.40.0 (#187) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-storage](https://togithub.com/googleapis/python-storage) | `==1.39.0` -> `==1.40.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.40.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.40.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.40.0/compatibility-slim/1.39.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-storage/1.40.0/confidence-slim/1.39.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes