Browse Source

Add searx user agent to Reddit engine request to comply with API usage terms

Kirill Isakov 9 years ago
parent
commit
d0001f10e6
2 changed files with 6 additions and 0 deletions
  1. 4
    0
      searx/engines/reddit.py
  2. 2
    0
      tests/unit/engines/test_reddit.py

+ 4
- 0
searx/engines/reddit.py View File

15
 from urllib import urlencode
15
 from urllib import urlencode
16
 from urlparse import urlparse
16
 from urlparse import urlparse
17
 from datetime import datetime
17
 from datetime import datetime
18
+from searx.utils import searx_useragent
18
 
19
 
19
 # engine dependent config
20
 # engine dependent config
20
 categories = ['general', 'images', 'news', 'social media']
21
 categories = ['general', 'images', 'news', 'social media']
30
                        'limit': page_size})
31
                        'limit': page_size})
31
     params['url'] = search_url.format(query=query)
32
     params['url'] = search_url.format(query=query)
32
 
33
 
34
+    # using searx User-Agent
35
+    params['headers']['User-Agent'] = searx_useragent()
36
+
33
     return params
37
     return params
34
 
38
 
35
 
39
 

+ 2
- 0
tests/unit/engines/test_reddit.py View File

3
 from searx.engines import reddit
3
 from searx.engines import reddit
4
 from searx.testing import SearxTestCase
4
 from searx.testing import SearxTestCase
5
 from datetime import datetime
5
 from datetime import datetime
6
+from searx.utils import searx_useragent
6
 
7
 
7
 
8
 
8
 class TestRedditEngine(SearxTestCase):
9
 class TestRedditEngine(SearxTestCase):
14
         self.assertTrue('url' in params)
15
         self.assertTrue('url' in params)
15
         self.assertTrue(query in params['url'])
16
         self.assertTrue(query in params['url'])
16
         self.assertTrue('reddit.com' in params['url'])
17
         self.assertTrue('reddit.com' in params['url'])
18
+        self.assertEqual(params['headers']['User-Agent'], searx_useragent())
17
 
19
 
18
     def test_response(self):
20
     def test_response(self):
19
         resp = mock.Mock(text='{}')
21
         resp = mock.Mock(text='{}')