diff --git a/Changelog b/Changelog index 6c319ebe7..612a8cade 100644 --- a/Changelog +++ b/Changelog @@ -9,6 +9,7 @@ - FEATURE: Added a button to reload the IP filter - FEATURE: Search engine results can now be opened in a Web browser - FEATURE: Added a search engine plugin to extratorrent.com + - FEATURE: Added a search engine plugin for kickasstorrents.com - COSMETIC: Same deletion confirmation dialog in the GUI and Web UI - COSMETIC: Simplified the top toolbar - COSMETIC: Display execution log as a tab instead of a modal window diff --git a/src/searchengine/nova2/engines/kickasstorrents.png b/src/searchengine/nova2/engines/kickasstorrents.png new file mode 100644 index 000000000..7ddc99353 Binary files /dev/null and b/src/searchengine/nova2/engines/kickasstorrents.png differ diff --git a/src/searchengine/nova2/engines/kickasstorrents.py b/src/searchengine/nova2/engines/kickasstorrents.py new file mode 100755 index 000000000..16290f1e0 --- /dev/null +++ b/src/searchengine/nova2/engines/kickasstorrents.py @@ -0,0 +1,67 @@ +#VERSION: 1.1 +#AUTHORS: Christophe Dumez (chris@qbittorrent.org) + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the author nor the names of its contributors may be +# used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + + +from novaprinter import prettyPrinter +from helpers import retrieve_url, download_file +import json + +class kickasstorrents(object): + url = 'http://www.kickasstorrents.com' + name = 'kickasstorrents' + supported_categories = {'all': 'all', 'movies': 'movies', 'tv': 'tv', 'music': 'music', 'games': 'games', 'software': 'applications'} + + def __init__(self): + self.results = [] + + def download_torrent(self, info): + print download_file(info) + + def search(self, what, cat='all'): + ret = [] + i = 1 + while True and i<11: + results = [] + json_data = retrieve_url(self.url+'/search/%s/%d/?categories[]=%s&field=seeders&sorder=desc&json=1'%(what, i, self.supported_categories[cat])) + json_dict = json.loads(json_data) + if json_dict['total_results'] <= 0: return + results = json_dict['list'] + for r in results: + try: + res_dict = dict() + res_dict['name'] = r['title'] + res_dict['size'] = str(r['size']) + res_dict['seeds'] = r['seeds'] + res_dict['leech'] = r['leechs'] + res_dict['link'] = r['torrentLink'] + res_dict['desc_link'] = r['link'] + res_dict['engine_url'] = self.url + prettyPrinter(res_dict) + except: + pass + i += 1 + diff --git a/src/searchengine/nova2/engines/versions.txt b/src/searchengine/nova2/engines/versions.txt index 565e8cc33..ed760ac33 100644 --- a/src/searchengine/nova2/engines/versions.txt +++ b/src/searchengine/nova2/engines/versions.txt @@ -6,3 +6,4 @@ piratebay: 1.40 vertor: 1.2 torrentdownloads: 1.1 extratorrent: 1.1 +kickasstorrents: 1.1 diff --git a/src/searchengine/search.qrc b/src/searchengine/search.qrc index eeb85bb14..e0d334a90 100644 --- a/src/searchengine/search.qrc +++ b/src/searchengine/search.qrc @@ -21,5 +21,7 @@ nova2/engines/vertor.py nova2/engines/extratorrent.py nova2/engines/extratorrent.png + nova2/engines/kickasstorrents.png + nova2/engines/kickasstorrents.png