airflow.contrib.hooks.gcp_translate_hook

Module Contents

class airflow.contrib.hooks.gcp_translate_hook.CloudTranslateHook(gcp_conn_id='google_cloud_default')[source]

Bases: airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook

Hook for Google Cloud translate APIs.

_client[source]
get_conn(self)[source]

Retrieves connection to Cloud Translate

Returns

Google Cloud Translate client object.

Return type

google.cloud.translate_v2.Client

translate(self, values, target_language, format_=None, source_language=None, model=None)[source]

Translate a string or list of strings.

See https://cloud.google.com/translate/docs/translating-text

Parameters
  • values (str or list) – String or list of strings to translate.

  • target_language (str) – The language to translate results into. This is required by the API and defaults to the target language of the current instance.

  • format (str) – (Optional) One of text or html, to specify if the input text is plain text or HTML.

  • source_language (str or None) – (Optional) The language of the text to be translated.

  • model (str or None) – (Optional) The model used to translate the text, such as 'base' or 'nmt'.

Return type

str or list

Returns

A list of dictionaries for each queried value. Each dictionary typically contains three keys (though not all will be present in all cases)

  • detectedSourceLanguage: The detected language (as an ISO 639-1 language code) of the text.

  • translatedText: The translation of the text into the target language.

  • input: The corresponding input value.

  • model: The model used to translate the text.

If only a single value is passed, then only a single dictionary will be returned.

Raises

ValueError if the number of values and translations differ.

Was this entry helpful?