|  | @@ -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
 |