[kupfer] plugin.google_translate: set timeout for http connection
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] plugin.google_translate: set timeout for http connection
- Date: Sun, 27 Dec 2009 19:46:01 +0000 (UTC)
commit a3607df6ee0083d8dc206e422aeaf0eafdfcb041
Author: Karol BÄ?dkowski <karol bedkowsk+gh gmail com>
Date: Sun Dec 27 11:52:38 2009 +0100
plugin.google_translate: set timeout for http connection
Fix https://bugs.launchpad.net/bugs/500619
kupfer/plugin/google_translate.py | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/kupfer/plugin/google_translate.py b/kupfer/plugin/google_translate.py
index 54a06cd..c0547aa 100644
--- a/kupfer/plugin/google_translate.py
+++ b/kupfer/plugin/google_translate.py
@@ -17,6 +17,7 @@ import httplib
import locale
import urllib
import re
+import socket
try:
import cjson
@@ -51,6 +52,8 @@ def _translate(text, lang):
query_param = urllib.urlencode(dict(tl=lang, text=text.encode('utf-8')))
try:
conn = httplib.HTTPConnection(_GOOGLE_TRANSLATE_HOST)
+ conn.connect()
+ conn.sock.settimeout(10) # set timeout to 10 sec
conn.request("POST", _GOOGLE_TRANSLATE_PATH, query_param, _HEADER)
resp = conn.getresponse()
if resp.status != 200:
@@ -100,6 +103,8 @@ def _load_languages():
pretty.print_debug(__name__, '_load_languages')
try:
conn = httplib.HTTPConnection(_GOOGLE_TRANSLATE_HOST)
+ conn.connect()
+ conn.sock.settimeout(10) # set timeout to 10 sec
headers = {
"Accept-Language": "%s, en;q=0.7" % user_language,
}
@@ -115,9 +120,8 @@ def _load_languages():
for key, name in _RE_GET_LANG.findall(result[0]):
yield key, name
- except (httplib.HTTPException, ValueError), err:
+ except (httplib.HTTPException, ValueError, socket.timeout), err:
pretty.print_error(__name__, '_load_languages error', type(err), err)
- yield 'en', 'English'
finally:
conn.close()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]