From cb97e3414b9a15912dea6ea6952a80c9a4add4f9 Mon Sep 17 00:00:00 2001 From: bebound Date: Thu, 17 Apr 2014 11:36:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B6=85=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=87=8D=E6=96=B0=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- __init__.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c236475..9703c9d 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Microsoft(Bing) translate API for python3 ---------- -###Install +###Installation pip install mstranslate diff --git a/__init__.py b/__init__.py index 6a3006f..4225c82 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ import json import re +import time import requests @@ -35,9 +36,12 @@ def accessToken(self): raise AuthenticationFailed(result['error_description']) else: self.access_token = result['access_token'] + self.time = time.time() def translate(self, text, toLang, fromLang=None): - if not self.access_token: + if (not self.access_token): + self.accessToken() + elif int(time.time() - self.time) > 550: self.accessToken() authToken = 'Bearer ' + self.access_token headers = {'Authorization': authToken} @@ -45,7 +49,7 @@ def translate(self, text, toLang, fromLang=None): result = requests.get('http://api.microsofttranslator.com/v2/Http.svc/Translate', params=params, headers=headers) if 'Argument Exception' in result.text: - error=re.search(r'

Message:(.*?)

',result.text.replace('\n','')).group(1) + error = re.search(r'

Message:(.*?)

', result.text.replace('\n', '')).group(1) raise ArgumentException(error) else: return result.text[68:-9]