@@ -14,7 +14,7 @@ class TestBtdiggEngine(SearxTestCase):
14 params = btdigg.request(query, dicto)
14 params = btdigg.request(query, dicto)
15 self.assertIn('url', params)
15 self.assertIn('url', params)
16 self.assertIn(query, params['url'])
16 self.assertIn(query, params['url'])
17− self.assertIn('btdigg.org', params['url'])
17+ self.assertIn('btdig.com', params['url'])
19 def test_response(self):
19 def test_response(self):
20 self.assertRaises(AttributeError, btdigg.response, None)
20 self.assertRaises(AttributeError, btdigg.response, None)
@@ -26,359 +26,87 @@ class TestBtdiggEngine(SearxTestCase):
26 self.assertEqual(btdigg.response(response), [])
26 self.assertEqual(btdigg.response(response), [])
28 html = u"""
28 html = u"""
29− <div id="search_res">
29+ <div class="one_result" style="display:table-row;background-color:#e8e8e8">
30− <table>
30+ <div style="display:table-cell;color:rgb(0, 0, 0)">
31− <tr>
31+ <div style="display:table">
32− <td class="idx">1</td>
32+ <div style="display:table-row">
34− <table class="torrent_name_tbl">
36− <td class="torrent_name">
33+ <div class="torrent_name" style="display:table-cell">
37− <a href="/url">Should be the title</a>
34+ <a style="color:rgb(0, 0, 204);text-decoration:underline;font-size:150%"
38− </td>
35+ href="http://btdig.com/a72f35b7ee3a10928f02bb799e40ae5db701ed1c/pdf?q=pdf&p=1&order=0"
39− </tr>
36+ >3.9GBdeLibrosByHuasoFromHell(3de4)</a>
40− </table>
40+ <div style="display:table">
41− <table class="torrent_name_tbl">
41+ <div style="display:table-row">
42− <tr>
42+ <div style="display:table-cell">
43− <td class="ttth">
43+ <span class="torrent_files" style="color:#666;padding-left:10px">4217</span> files <span
44− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
44+ class="torrent_size" style="color:#666;padding-left:10px">1 GB</span><span
45− title="Télécharger des liens Magnet">[magnet]</a>
45+ class="torrent_age" style="color:rgb(0, 102, 0);padding-left:10px;margin: 0px 4px"
46− </td>
46+ >found 3 years ago</span>
47− <td class="ttth">
47+ </div>
48− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
48+ </div>
49− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
49+ </div>
50− </td>
50+ <div style="display:table;width:100%;padding:10px">
51− <td>
51+ <div style="display:table-row">
52− <span class="attr_name">Taille:</span>
52+ <div class="torrent_magnet" style="display:table-cell">
53− <span class="attr_val">8 B</span>
53+ <div class="fa fa-magnet" style="color:#cc0000">
54− </td>
54+ <a href="magnet:?xt=urn:btih:a72f35b7ee3a10928f02bb799e40ae5db701ed1c&dn=3.9GBdeLibrosBy..."
55− <td>
55+ title="Download via magnet-link"> magnet:?xt=urn:btih:a72f35b7ee...</a>
56− <span class="attr_name">Fichiers:</span>
56+ </div>
57− <span class="attr_val">710</span>
57+ </div>
58− </td>
58+ <div style="display:table-cell;color:rgb(0, 0, 0);text-align:right">
59− <td>
59+ <span style="color:rgb(136, 136, 136);margin: 0px 0px 0px 4px"></span><span
60− <span class="attr_name">Téléchargements:</span>
60+ style="color:rgb(0, 102, 0);margin: 0px 4px">found 3 years ago</span>
61− <span class="attr_val">5</span>
61+ </div>
64− <span class="attr_name">Temps:</span>
64+ <div class="torrent_excerpt" style="display:table;padding:10px;white-space:nowrap">
65− <span class="attr_val">417.8 jours</span>
65+ <div class="fa fa-folder-open" style="padding-left:0em"> 3.9GBdeLibrosByHuasoFromHell(3de4)</div><br/>
66− </td>
66+ <div class="fa fa-folder-open" style="padding-left:1em"> Libros H-Z</div><br/>
67− <td>
67+ <div class="fa fa-folder-open" style="padding-left:2em"> H</div><br/><div class="fa fa-file-archive-o"
68− <span class="attr_name">Dernière mise à jour:</span>
68+ style="padding-left:3em"> H.H. Hollis - El truco de la espada-<b
69− <span class="attr_val">5.3 jours</span>
69+ style="color:red; background-color:yellow">pdf</b>.zip</div><span
70− </td>
70+ style="color:#666;padding-left:10px">17 KB</span><br/>
71− <td>
71+ <div class="fa fa-file-archive-o" style="padding-left:3em"> Hagakure - El Libro del Samurai-<b
72− <span class="attr_name">Faux:</span>
72+ style="color:red; background-color:yellow">pdf</b>.zip</div><span
73− <span class="attr_val">Aucun</span>
73+ style="color:#666;padding-left:10px">95 KB</span><br/>
74− </td>
74+ <div class="fa fa-folder-open" style="padding-left:3em"> Hamsun, Knut (1859-1952)</div><br/>
75− </tr>
75+ <div class="fa fa-file-archive-o" style="padding-left:4em"> Hamsun, Knut - Hambre-<b
76− </table>
76+ style="color:red; background-color:yellow">pdf</b>.zip</div><span
77− <pre class="snippet">
77+ style="color:#666;padding-left:10px">786 KB</span><br/>
78− Content
78+ <div class="fa fa-plus-circle"><a
79− </pre>
79+ href="http://btdig.com/a72f35b7ee3a10928f02bb799e40ae5db701ed1c/pdf?q=pdf&p=1&order=0"
80− </td>
80+ > 4214 hidden files<span style="color:#666;padding-left:10px">1 GB</span></a></div>
85 response = mock.Mock(text=html.encode('utf-8'))
85 response = mock.Mock(text=html.encode('utf-8'))
86 results = btdigg.response(response)
86 results = btdigg.response(response)
87 self.assertEqual(type(results), list)
87 self.assertEqual(type(results), list)
88 self.assertEqual(len(results), 1)
88 self.assertEqual(len(results), 1)
89− self.assertEqual(results[0]['title'], 'Should be the title')
89+ self.assertEqual(results[0]['title'], '3.9GBdeLibrosByHuasoFromHell(3de4)')
90− self.assertEqual(results[0]['url'], 'https://btdigg.org/url')
90+ self.assertEqual(results[0]['url'],
91+ 'http://btdig.com/a72f35b7ee3a10928f02bb799e40ae5db701ed1c/pdf?q=pdf&p=1&order=0')
91− self.assertEqual(results[0]['content'], 'Content')
92+ self.assertEqual(results[0]['content'],
92− self.assertEqual(results[0]['seed'], 5)
93+ '3.9GBdeLibrosByHuasoFromHell(3de4) | ' +
93− self.assertEqual(results[0]['leech'], 0)
94+ 'Libros H-Z | ' +
95+ 'H H.H. Hollis - El truco de la espada-pdf.zip17 KB | ' +
96+ 'Hagakure - El Libro del Samurai-pdf.zip95 KB | ' +
97+ 'Hamsun, Knut (1859-1952) | Hamsun, Knut - Hambre-pdf.zip786 KB | ' +
98+ '4214 hidden files1 GB')
94− self.assertEqual(results[0]['filesize'], 8)
99+ self.assertEqual(results[0]['filesize'], 1 * 1024 * 1024 * 1024)
95− self.assertEqual(results[0]['files'], 710)
100+ self.assertEqual(results[0]['files'], 4217)
96− self.assertEqual(results[0]['magnetlink'], 'magnet:?xt=urn:btih:magnet&dn=Test')
101+ self.assertEqual(results[0]['magnetlink'],
102+ 'magnet:?xt=urn:btih:a72f35b7ee3a10928f02bb799e40ae5db701ed1c&dn=3.9GBdeLibrosBy...')
98 html = """
104 html = """
99− <div id="search_res">
105+ <div style="display:table-row;background-color:#e8e8e8">
104− response = mock.Mock(text=html.encode('utf-8'))
105− results = btdigg.response(response)
106− self.assertEqual(type(results), list)
107− self.assertEqual(len(results), 0)
110− <div id="search_res">
113− <td class="idx">1</td>
115− <table class="torrent_name_tbl">
117− <td class="torrent_name">
118− <a href="/url">Should be the title</a>
122− <table class="torrent_name_tbl">
125− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
126− title="Télécharger des liens Magnet">[magnet]</a>
129− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
130− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
133− <span class="attr_name">Taille:</span>
134− <span class="attr_val">1 KB</span>
137− <span class="attr_name">Fichiers:</span>
138− <span class="attr_val">710</span>
141− <span class="attr_name">Téléchargements:</span>
142− <span class="attr_val">5</span>
145− <span class="attr_name">Temps:</span>
146− <span class="attr_val">417.8 jours</span>
149− <span class="attr_name">Dernière mise à jour:</span>
150− <span class="attr_val">5.3 jours</span>
153− <span class="attr_name">Faux:</span>
154− <span class="attr_val">Aucun</span>
158− <pre class="snippet">
164− <td class="idx">1</td>
166− <table class="torrent_name_tbl">
168− <td class="torrent_name">
169− <a href="/url">Should be the title</a>
173− <table class="torrent_name_tbl">
176− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
177− title="Télécharger des liens Magnet">[magnet]</a>
180− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
181− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
184− <span class="attr_name">Taille:</span>
185− <span class="attr_val">1 MB</span>
188− <span class="attr_name">Fichiers:</span>
189− <span class="attr_val">a</span>
192− <span class="attr_name">Téléchargements:</span>
193− <span class="attr_val">4</span>
196− <span class="attr_name">Temps:</span>
197− <span class="attr_val">417.8 jours</span>
200− <span class="attr_name">Dernière mise à jour:</span>
201− <span class="attr_val">5.3 jours</span>
204− <span class="attr_name">Faux:</span>
205− <span class="attr_val">Aucun</span>
209− <pre class="snippet">
215− <td class="idx">1</td>
217− <table class="torrent_name_tbl">
219− <td class="torrent_name">
220− <a href="/url">Should be the title</a>
224− <table class="torrent_name_tbl">
227− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
228− title="Télécharger des liens Magnet">[magnet]</a>
231− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
232− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
235− <span class="attr_name">Taille:</span>
236− <span class="attr_val">1 GB</span>
239− <span class="attr_name">Fichiers:</span>
240− <span class="attr_val">710</span>
243− <span class="attr_name">Téléchargements:</span>
244− <span class="attr_val">3</span>
247− <span class="attr_name">Temps:</span>
248− <span class="attr_val">417.8 jours</span>
251− <span class="attr_name">Dernière mise à jour:</span>
252− <span class="attr_val">5.3 jours</span>
255− <span class="attr_name">Faux:</span>
256− <span class="attr_val">Aucun</span>
260− <pre class="snippet">
266− <td class="idx">1</td>
268− <table class="torrent_name_tbl">
270− <td class="torrent_name">
271− <a href="/url">Should be the title</a>
275− <table class="torrent_name_tbl">
278− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
279− title="Télécharger des liens Magnet">[magnet]</a>
282− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
283− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
286− <span class="attr_name">Taille:</span>
287− <span class="attr_val">1 TB</span>
290− <span class="attr_name">Fichiers:</span>
291− <span class="attr_val">710</span>
294− <span class="attr_name">Téléchargements:</span>
295− <span class="attr_val">2</span>
298− <span class="attr_name">Temps:</span>
299− <span class="attr_val">417.8 jours</span>
302− <span class="attr_name">Dernière mise à jour:</span>
303− <span class="attr_val">5.3 jours</span>
306− <span class="attr_name">Faux:</span>
307− <span class="attr_val">Aucun</span>
311− <pre class="snippet">
317− <td class="idx">1</td>
319− <table class="torrent_name_tbl">
321− <td class="torrent_name">
322− <a href="/url">Should be the title</a>
326− <table class="torrent_name_tbl">
329− <a onclick="fclck(this.href)" href="magnet:?xt=urn:btih:magnet&dn=Test"
330− title="Télécharger des liens Magnet">[magnet]</a>
333− <a href="https://btcloud.io/manager?cmd=add&info_hash=hash"
334− target="_blank" title="Ajouter à BTCloud">[cloud]</a>
337− <span class="attr_name">Taille:</span>
338− <span class="attr_val">a TB</span>
341− <span class="attr_name">Fichiers:</span>
342− <span class="attr_val">710</span>
345− <span class="attr_name">Téléchargements:</span>
346− <span class="attr_val">z</span>
349− <span class="attr_name">Temps:</span>
350− <span class="attr_val">417.8 jours</span>
353− <span class="attr_name">Dernière mise à jour:</span>
354− <span class="attr_val">5.3 jours</span>
357− <span class="attr_name">Faux:</span>
358− <span class="attr_val">Aucun</span>
362− <pre class="snippet">
370 response = mock.Mock(text=html.encode('utf-8'))
109 response = mock.Mock(text=html.encode('utf-8'))
371 results = btdigg.response(response)
110 results = btdigg.response(response)
372 self.assertEqual(type(results), list)
111 self.assertEqual(type(results), list)
373− self.assertEqual(len(results), 5)
112+ self.assertEqual(len(results), 0)
374− self.assertEqual(results[0]['title'], 'Should be the title')
375− self.assertEqual(results[0]['url'], 'https://btdigg.org/url')
376− self.assertEqual(results[0]['content'], 'Content')
377− self.assertEqual(results[0]['seed'], 5)
378− self.assertEqual(results[0]['leech'], 0)
379− self.assertEqual(results[0]['files'], 710)
380− self.assertEqual(results[0]['magnetlink'], 'magnet:?xt=urn:btih:magnet&dn=Test')
381− self.assertEqual(results[0]['filesize'], 1024)
382− self.assertEqual(results[1]['filesize'], 1048576)
383− self.assertEqual(results[2]['filesize'], 1073741824)
384− self.assertEqual(results[3]['filesize'], 1099511627776)