]> jfr.im git - irc/rizon/acid.git/blob - pyva/src/main/python/internets/api/bing.py
.gitignore: Ignore all pyva logs
[irc/rizon/acid.git] / pyva / src / main / python / internets / api / bing.py
1 from urllib import urlencode
2 from feed import XmlFeed
3
4 class Bing(object):
5 def __init__(self, key):
6 self.API_KEY = key
7 f = XmlFeed('http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate?appId=' + self.API_KEY)
8 self.languages = [lang.childNodes[0].nodeValue.lower() for lang in f.elements('ArrayOfstring')[0]._element.childNodes]
9
10 def translate(self, text, source=None, target='en'):
11 url = 'http://api.microsofttranslator.com/V2/Http.svc/Translate?'
12 url += urlencode({'text': text,
13 'to': target,
14 'appId': self.API_KEY})
15 if source:
16 url += '&from=' + source
17
18 xml = XmlFeed(url)
19 return xml.text('string')
20
21 def detect_language(self, text):
22 url = 'http://api.microsofttranslator.com/V2/Http.svc/Detect?'
23 url += urlencode({'text': text,
24 'appId': self.API_KEY})
25
26 xml = XmlFeed(url)
27 return xml.text('string')