diff --git a/translate/cloud-client/README.rst b/translate/cloud-client/README.rst index 4935e3c8b06..18855a10308 100644 --- a/translate/cloud-client/README.rst +++ b/translate/cloud-client/README.rst @@ -77,50 +77,6 @@ To run this sample: $ python quickstart.py -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: - -.. code-block:: bash - - $ python snippets.py - - 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. - 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 diff --git a/translate/cloud-client/README.rst.in b/translate/cloud-client/README.rst.in index a2483218cc4..73af322be25 100644 --- a/translate/cloud-client/README.rst.in +++ b/translate/cloud-client/README.rst.in @@ -15,10 +15,7 @@ setup: samples: - name: Quickstart file: quickstart.py -- name: Snippets - file: snippets.py - show_help: true cloud_client_library: true -folder: translate/cloud-client \ No newline at end of file +folder: translate/cloud-client diff --git a/translate/cloud-client/snippets.py b/translate/cloud-client/snippets.py deleted file mode 100644 index b5719d23212..00000000000 --- a/translate/cloud-client/snippets.py +++ /dev/null @@ -1,154 +0,0 @@ -#!/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 -import six - - -def detect_language(text): - # [START translate_detect_language] - """Detects the text's language.""" - 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'])) - # [END translate_detect_language] - - -def list_languages(): - # [START translate_list_codes] - """Lists all available languages.""" - translate_client = translate.Client() - - results = translate_client.get_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. - See https://g.co/cloud/translate/v2/translate-reference#supported_languages - """ - translate_client = translate.Client() - - results = translate_client.get_languages(target_language=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. - - Target must be an ISO 639-1 language code. - See https://g.co/cloud/translate/v2/translate-reference#supported_languages - """ - 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, 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'])) - # [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. - See https://g.co/cloud/translate/v2/translate-reference#supported_languages - """ - 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, target_language=target) - - 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__': - parser = argparse.ArgumentParser( - 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') - - 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.text) - elif args.command == 'list-languages': - list_languages() - elif args.command == 'list-languages-with-target': - list_languages_with_target(args.target) - elif args.command == 'translate-text': - translate_text(args.target, args.text) diff --git a/translate/cloud-client/snippets_test.py b/translate/cloud-client/snippets_test.py index 5123576698a..e8852d5743c 100644 --- a/translate/cloud-client/snippets_test.py +++ b/translate/cloud-client/snippets_test.py @@ -15,35 +15,109 @@ # limitations under the License. -import snippets +def test_detect_language(capsys): + # [START translate_detect_language] + from google.cloud import 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. + text = 'Hæ sæta' + result = translate_client.detect_language(text) + + print('Text: {}'.format(text)) + print('Confidence: {}'.format(result['confidence'])) + print('Language: {}'.format(result['language'])) + # [END translate_detect_language] -def test_detect_language(capsys): - snippets.detect_language('Hæ sæta') out, _ = capsys.readouterr() assert 'is' in out def test_list_languages(capsys): - snippets.list_languages() + # [START translate_list_codes] + from google.cloud import translate + + translate_client = translate.Client() + + results = translate_client.get_languages() + + for language in results: + print(u'{name} ({language})'.format(**language)) + # [END translate_list_codes] + out, _ = capsys.readouterr() assert 'Icelandic (is)' in out def test_list_languages_with_target(capsys): - snippets.list_languages_with_target('is') + # [START translate_list_language_names] + from google.cloud import translate + + translate_client = translate.Client() + + target = 'is' # Target must be an ISO 639-1 language code. + results = translate_client.get_languages(target_language=target) + + for language in results: + print(u'{name} ({language})'.format(**language)) + # [END translate_list_language_names] + out, _ = capsys.readouterr() assert u'íslenska (is)' in out def test_translate_text(capsys): - snippets.translate_text('is', 'Hello world') + # [START translate_text_with_model] + import six + from google.cloud import translate + + translate_client = translate.Client() + + text = 'Hello world' + target = 'is' # Target must be an ISO 639-1 language code. + model = translate.NMT + 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, 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'])) + # [END translate_text_with_model] + out, _ = capsys.readouterr() assert u'Halló heimur' in out def test_translate_utf8(capsys): + # [START translate_translate_text] + import six + from google.cloud import translate + + translate_client = translate.Client() + + target = 'en' # Target must be an ISO 639-1 language code. text = u'나는 파인애플을 좋아한다.' - snippets.translate_text('en', text) + 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, target_language=target) + + print(u'Text: {}'.format(result['input'])) + print(u'Translation: {}'.format(result['translatedText'])) + print(u'Detected source language: {}'.format( + result['detectedSourceLanguage'])) + # [END translate_translate_text] + out, _ = capsys.readouterr() assert u'I like pineapples.' in out