Explorar el Código

[enh] is_valid_lang moved to utils

potato hace 8 años
padre
commit
983415bc38
Se han modificado 3 ficheros con 19 adiciones y 32 borrados
  1. 3
    17
      searx/engines/dictzone.py
  2. 1
    15
      searx/engines/translated.py
  3. 15
    0
      searx/utils.py

+ 3
- 17
searx/engines/dictzone.py Ver fichero

@@ -14,7 +14,7 @@ from urlparse import urljoin
14 14
 from lxml import html
15 15
 from cgi import escape
16 16
 from searx.engines.xpath import extract_text
17
-from searx.languages import language_codes
17
+from searx.utils import is_valid_lang
18 18
 
19 19
 categories = ['general']
20 20
 url = 'http://dictzone.com/{from_lang}-{to_lang}-dictionary/{query}'
@@ -24,20 +24,6 @@ parser_re = re.compile(u'.*?([a-z]+)-([a-z]+) ([^ ]+)$', re.I)
24 24
 results_xpath = './/table[@id="r"]/tr'
25 25
 
26 26
 
27
-def is_valid_lang(lang):
28
-    is_abbr = (len(lang) == 2)
29
-    if is_abbr:
30
-        for l in language_codes:
31
-            if l[0][:2] == lang.lower():
32
-                return (True, l[1].lower())
33
-        return False
34
-    else:
35
-        for l in language_codes:
36
-            if l[1].lower() == lang.lower():
37
-                return (True, l[1].lower())
38
-        return False
39
-
40
-
41 27
 def request(query, params):
42 28
     m = parser_re.match(unicode(query, 'utf8'))
43 29
     if not m:
@@ -51,8 +37,8 @@ def request(query, params):
51 37
     if not from_lang or not to_lang:
52 38
         return params
53 39
 
54
-    params['url'] = url.format(from_lang=from_lang[1],
55
-                               to_lang=to_lang[1],
40
+    params['url'] = url.format(from_lang=from_lang[2],
41
+                               to_lang=to_lang[2],
56 42
                                query=query)
57 43
 
58 44
     return params

+ 1
- 15
searx/engines/translated.py Ver fichero

@@ -13,7 +13,7 @@ from urlparse import urljoin
13 13
 from lxml import html
14 14
 from cgi import escape
15 15
 from searx.engines.xpath import extract_text
16
-from searx.languages import language_codes
16
+from searx.utils import is_valid_lang
17 17
 
18 18
 categories = ['general']
19 19
 url = 'http://api.mymemory.translated.net/get?q={query}' \
@@ -25,20 +25,6 @@ parser_re = re.compile(u'.*?([a-z]+)-([a-z]+) (.{2,})$', re.I)
25 25
 api_key = ''
26 26
 
27 27
 
28
-def is_valid_lang(lang):
29
-    is_abbr = (len(lang) == 2)
30
-    if is_abbr:
31
-        for l in language_codes:
32
-            if l[0][:2] == lang.lower():
33
-                return (True, l[0][:2], l[1].lower())
34
-        return False
35
-    else:
36
-        for l in language_codes:
37
-            if l[1].lower() == lang.lower():
38
-                return (True, l[0][:2], l[1].lower())
39
-        return False
40
-
41
-
42 28
 def request(query, params):
43 29
     m = parser_re.match(unicode(query, 'utf8'))
44 30
     if not m:

+ 15
- 0
searx/utils.py Ver fichero

@@ -9,6 +9,7 @@ from HTMLParser import HTMLParser
9 9
 from random import choice
10 10
 
11 11
 from searx.version import VERSION_STRING
12
+from searx.languages import language_codes
12 13
 from searx import settings
13 14
 from searx import logger
14 15
 
@@ -255,3 +256,17 @@ def get_torrent_size(filesize, filesize_multiplier):
255 256
         filesize = None
256 257
 
257 258
     return filesize
259
+
260
+
261
+def is_valid_lang(lang):
262
+    is_abbr = (len(lang) == 2)
263
+    if is_abbr:
264
+        for l in language_codes:
265
+            if l[0][:2] == lang.lower():
266
+                return (True, l[0][:2], l[1].lower())
267
+        return False
268
+    else:
269
+        for l in language_codes:
270
+            if l[1].lower() == lang.lower():
271
+                return (True, l[0][:2], l[1].lower())
272
+        return False