From ccf55d26541c897971e5c09b1e5f4b8f4c7f5944 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 2 Nov 2017 15:17:08 +0100 Subject: [PATCH] Also added in our torrent class so that all our indexing sites can create the same class so to be easily managed under the same type. --- torrentSearch/torrent.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 torrentSearch/torrent.py diff --git a/torrentSearch/torrent.py b/torrentSearch/torrent.py new file mode 100644 index 0000000..72c5535 --- /dev/null +++ b/torrentSearch/torrent.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3.6 + +from json import dumps + +RELEASE_TYPES = ('bdremux', 'brremux', 'remux', + 'bdrip', 'brrip', 'blu-ray', 'bluray', 'bdmv', 'bdr', 'bd5', + 'web-cap', 'webcap', 'web cap', + 'webrip', 'web rip', 'web-rip', 'web', + 'webdl', 'web dl', 'web-dl', 'hdrip', + 'dsr', 'dsrip', 'satrip', 'dthrip', 'dvbrip', 'hdtv', 'pdtv', 'tvrip', 'hdtvrip', + 'dvdr', 'dvd-full', 'full-rip', 'iso', + 'ts', 'hdts', 'hdts', 'telesync', 'pdvd', 'predvdrip', + 'camrip', 'cam') + +class Torrent(object): + def __init__(self, name, magnet=None, size=None, uploader=None, date=None, + seed_count=None, leech_count=None, url=None): + self.name = name + self.magnet = magnet + self.size = size + self.uploader = uploader + self.date = date + self.seed_count = seed_count + self.leech_count = leech_count + self.url = url + + def find_release_type(self): + name = self.name.casefold() + return [r_type for r_type in RELEASE_TYPES if r_type in name] + + def get_all_attr(self): + return ({'name': self.name, 'magnet': self.magnet,'uploader': self.uploader, + 'size': self.size,'date': self.date,'seed': self.seed_count, + 'leech': self.leech_count, 'url': self.url, 'release_type': self.find_release_type()}) + + def to_json(self): + return dumps(self.get_all_attr()) + + def __repr__(self): + return '<%s [%r]>' % (self.__class__.__name__, self.name) \ No newline at end of file