on master help sign in
Merge branch 'master' into dsgvo
commit78be030500526ad073b1291baec6bfbf36eb221d authorcy8aer <cybaer42@web.de> dateMon 9 Jul 2018, 15:34 (8 years ago) parentb786ac9d51732c
4 files changed+29−21
searx/engines/bing.py+4−1 searx/engines/wikidata.py+2−1 searx/utils.py+11−10 tests/unit/engines/test_wikidata.py+12−9
searx/engines/bing.py+4−1
@@ -16,7 +16,7 @@
1616from lxml import html
1717from searx.engines.xpath import extract_text
1818from searx.url_utils import urlencode
19−from searx.utils import match_language
19+from searx.utils import match_language, gen_useragent
2020
2121# engine dependent config
2222categories = ['general']
@@ -43,6 +43,9 @@ def request(query, params):
4343 offset=offset)
4444
4545 params['url'] = base_url + search_path
46+
47+ params['headers']['User-Agent'] = gen_useragent('Windows NT 6.3; WOW64')
48+
4649 return params
4750
4851
searx/engines/wikidata.py+2−1
@@ -54,6 +54,7 @@ value_xpath = './/div[contains(@class,"wikibase-statementview-mainsnak")]'\
5454 + '/*/div[contains(@class,"wikibase-snakview-value")]'
5555language_fallback_xpath = '//sup[contains(@class,"wb-language-fallback-indicator")]'
5656calendar_name_xpath = './/sup[contains(@class,"wb-calendar-name")]'
57+media_xpath = value_xpath + '//div[contains(@class,"commons-media-caption")]//a'
5758
5859
5960def request(query, params):
@@ -313,7 +314,7 @@ def add_image(result):
313314 for property_id in property_ids:
314315 image = result.xpath(property_xpath.replace('{propertyid}', property_id))
315316 if image:
316− image_name = image[0].xpath(value_xpath)
317+ image_name = image[0].xpath(media_xpath)
317318 image_src = url_image.replace('{filename}', extract_text(image_name[0]))
318319 return image_src
319320
searx/utils.py+11−10
@@ -39,14 +39,15 @@ else:
3939
4040logger = logger.getChild('utils')
4141
42−ua_versions = ('40.0',
43− '41.0',
44− '42.0',
45− '43.0',
46− '44.0',
47− '45.0',
48− '46.0',
49− '47.0')
42+ua_versions = ('52.8.1',
43+ '53.0',
44+ '54.0',
45+ '55.0',
46+ '56.0',
47+ '57.0',
48+ '58.0',
49+ '59.0',
50+ '60.0.2')
5051
5152ua_os = ('Windows NT 6.3; WOW64',
5253 'X11; Linux x86_64',
@@ -58,9 +59,9 @@ blocked_tags = ('script',
5859 'style')
5960
6061
61−def gen_useragent():
62+def gen_useragent(os=None):
6263 # TODO
63− return ua.format(os=choice(ua_os), version=choice(ua_versions))
64+ return ua.format(os=os or choice(ua_os), version=choice(ua_versions))
6465
6566
6667def searx_useragent():
tests/unit/engines/test_wikidata.py+12−9
@@ -123,9 +123,10 @@ class TestWikidataEngine(SearxTestCase):
123123 <div class="wikibase-statementview-mainsnak">
124124 <div>
125125 <div class="wikibase-snakview-value">
126− <a href="https://commons.wikimedia.org/wiki/File:image.png">
127− image.png
128− </a>
126+ <div class="commons-media-caption">
127+ <a href="https://commons.wikimedia.org/wiki/File:image.png">image.png</a>
128+ <br/>2,687 &#215; 3,356; 1.22 MB
129+ </div>
129130 </div>
130131 </div>
131132 </div>
@@ -156,9 +157,10 @@ class TestWikidataEngine(SearxTestCase):
156157 <div class="wikibase-statementview-mainsnak">
157158 <div>
158159 <div class="wikibase-snakview-value">
159− <a href="https://commons.wikimedia.org/wiki/File:icon.png">
160− icon.png
161− </a>
160+ <div class="commons-media-caption">
161+ <a href="https://commons.wikimedia.org/wiki/File:icon.png">icon.png</a>
162+ <br/>671 &#215; 671; 18 KB</div>
163+ </div>
162164 </div>
163165 </div>
164166 </div>
@@ -179,9 +181,10 @@ class TestWikidataEngine(SearxTestCase):
179181 <div class="wikibase-statementview-mainsnak">
180182 <div>
181183 <div class="wikibase-snakview-value">
182− <a href="https://commons.wikimedia.org/wiki/File:logo.png">
183− logo.png
184− </a>
184+ <div class="commons-media-caption">
185+ <a href="https://commons.wikimedia.org/wiki/File:logo.png">logo.png</a>
186+ <br/>170 &#215; 170; 1 KB
187+ </div>
185188 </div>
186189 </div>
187190 </div>