From 639bcb2df9a330ce4be1febe75842d378f4aea7c Mon Sep 17 00:00:00 2001 From: Karthik Balakrishnan Date: Tue, 16 Dec 2014 20:41:56 +0530 Subject: [PATCH] Add detect and get_language capability * Cherry picked from the PR #16 --- __init__.py | 15 +++++++++++++++ test.py | 12 ++++++++++++ 2 files changed, 27 insertions(+) diff --git a/__init__.py b/__init__.py index a6a6f03..02ff046 100644 --- a/__init__.py +++ b/__init__.py @@ -214,3 +214,18 @@ def translate_array(self, texts, to_lang, from_lang=None, **options): params['from'] = from_lang return self.call("TranslateArray", params) + + def get_languages(self): + """Fetches the languages supported by Microsoft Translator + Returns list of languages + """ + return self.call('GetLanguagesForTranslate', '') + + def detect_language(self, text): + """Detects language of given string + Returns two letter language - Example : fr + """ + params = { + 'text': text.encode('utf8') + } + return self.call('Detect', params) diff --git a/test.py b/test.py index 893912b..a698dcf 100644 --- a/test.py +++ b/test.py @@ -13,6 +13,8 @@ client_id = "translaterpythonapi" client_secret = "FLghnwW4LJmNgEG+EZkL8uE+wb7+6tkOS8eejHg3AaI=" +default_languages = [u'en', u'fr', u'de'] + class TestTranslator(unittest.TestCase): @@ -25,6 +27,16 @@ def test_invalid_client_id(self): with self.assertRaises(TranslateApiException): client.translate("hello", "pt") + def test_get_languages(self): + client = Translator(client_id, client_secret, debug=True) + languages = client.get_languages() + self.assertEqual(type(languages), list) + self.assertTrue(set(default_languages).issubset(set(languages))) + + def test_detect_language(self): + client = Translator(client_id, client_secret, debug=True) + self.assertEqual(client.detect_language('hello'), u'en') + def test_all(): loader = unittest.TestLoader()