Przeglądaj źródła

remove self info answers from pages after first one

Noemi Vanyi 8 lat temu
rodzic
commit
aa227180e2
2 zmienionych plików z 22 dodań i 4 usunięć
  1. 2
    0
      searx/plugins/self_info.py
  2. 20
    4
      tests/unit/test_plugins.py

+ 2
- 0
searx/plugins/self_info.py Wyświetl plik

29
 #  request: flask request object
29
 #  request: flask request object
30
 #  ctx: the whole local context of the pre search hook
30
 #  ctx: the whole local context of the pre search hook
31
 def post_search(request, ctx):
31
 def post_search(request, ctx):
32
+    if ctx['search'].pageno > 1:
33
+        return True
32
     if ctx['search'].query == 'ip':
34
     if ctx['search'].query == 'ip':
33
         x_forwarded_for = request.headers.getlist("X-Forwarded-For")
35
         x_forwarded_for = request.headers.getlist("X-Forwarded-For")
34
         if x_forwarded_for:
36
         if x_forwarded_for:

+ 20
- 4
tests/unit/test_plugins.py Wyświetl plik

52
         request = Mock(user_plugins=store.plugins,
52
         request = Mock(user_plugins=store.plugins,
53
                        remote_addr='127.0.0.1')
53
                        remote_addr='127.0.0.1')
54
         request.headers.getlist.return_value = []
54
         request.headers.getlist.return_value = []
55
-        ctx = get_search_mock(query='ip')
55
+        ctx = get_search_mock(query='ip', pageno=1)
56
         store.call('post_search', request, ctx)
56
         store.call('post_search', request, ctx)
57
         self.assertTrue('127.0.0.1' in ctx['search'].result_container.answers)
57
         self.assertTrue('127.0.0.1' in ctx['search'].result_container.answers)
58
 
58
 
59
+        ctx = get_search_mock(query='ip', pageno=2)
60
+        store.call('post_search', request, ctx)
61
+        self.assertFalse('127.0.0.1' in ctx['search'].result_container.answers)
62
+
59
         # User agent test
63
         # User agent test
60
         request = Mock(user_plugins=store.plugins,
64
         request = Mock(user_plugins=store.plugins,
61
                        user_agent='Mock')
65
                        user_agent='Mock')
62
         request.headers.getlist.return_value = []
66
         request.headers.getlist.return_value = []
63
 
67
 
64
-        ctx = get_search_mock(query='user-agent')
68
+        ctx = get_search_mock(query='user-agent', pageno=1)
65
         store.call('post_search', request, ctx)
69
         store.call('post_search', request, ctx)
66
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
70
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
67
 
71
 
68
-        ctx = get_search_mock(query='user-agent')
72
+        ctx = get_search_mock(query='user-agent', pageno=2)
73
+        store.call('post_search', request, ctx)
74
+        self.assertFalse('Mock' in ctx['search'].result_container.answers)
75
+
76
+        ctx = get_search_mock(query='user-agent', pageno=1)
69
         store.call('post_search', request, ctx)
77
         store.call('post_search', request, ctx)
70
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
78
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
71
 
79
 
72
-        ctx = get_search_mock(query='What is my User-Agent?')
80
+        ctx = get_search_mock(query='user-agent', pageno=2)
81
+        store.call('post_search', request, ctx)
82
+        self.assertFalse('Mock' in ctx['search'].result_container.answers)
83
+
84
+        ctx = get_search_mock(query='What is my User-Agent?', pageno=1)
73
         store.call('post_search', request, ctx)
85
         store.call('post_search', request, ctx)
74
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
86
         self.assertTrue('Mock' in ctx['search'].result_container.answers)
87
+
88
+        ctx = get_search_mock(query='What is my User-Agent?', pageno=2)
89
+        store.call('post_search', request, ctx)
90
+        self.assertFalse('Mock' in ctx['search'].result_container.answers)