From 57bf89e035609c39506372cc9deed92dfbd42716 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sun, 22 Apr 2018 22:02:00 +0200 Subject: [PATCH] Add support for torrent files cleaning --- src/torrent.py | 123 +++++++++++++++++++++++++++++++++++++++ tests/data/dirty.torrent | Bin 0 -> 93903 bytes tests/test_libmat2.py | 23 +++++++- 3 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 src/torrent.py create mode 100644 tests/data/dirty.torrent diff --git a/src/torrent.py b/src/torrent.py new file mode 100644 index 0000000..df64161 --- /dev/null +++ b/src/torrent.py @@ -0,0 +1,123 @@ +import os +import re +import shutil +import tempfile +import datetime +import zipfile + +from . import abstract, parser_factory + + + +class TorrentParser(abstract.AbstractParser): + mimetypes = {'application/x-bittorrent', } + whitelist = {b'announce', b'announce-list', b'info'} + + def __init__(self, filename): + super().__init__(filename) + self.__decode_func = { + ord('l'): self.__decode_list, + ord('d'): self.__decode_dict, + ord('i'): self.__decode_int + } + for i in range(0, 10): + self.__decode_func[ord(str(i))] = self.__decode_string + + self.__encode_func = { + int: self.__encode_int, + bytes: self.__encode_string, + list: self.__encode_list, + dict: self.__encode_dict, + } + + + def get_meta(self): + metadata = {} + with open(self.filename, 'rb') as f: + d = self.__bdecode(f.read()) + for k,v in d.items(): + if k not in self.whitelist: + metadata[k.decode('utf-8')] = v + return metadata + + + def remove_all(self): + cleaned = dict() + with open(self.filename, 'rb') as f: + d = self.__bdecode(f.read()) + for k,v in d.items(): + if k in self.whitelist: + cleaned[k] = v + with open(self.output_filename, 'wb') as f: + f.write(self.__bencode(cleaned)) + return True + + def __decode_int(self, s): + s = s[1:] + next_idx = s.index(b'e') + if s.startswith(b'-0'): + raise ValueError # negative zero doesn't exist + if s.startswith(b'0') and next_idx != 1: + raise ValueError # no leading zero except for zero itself + return int(s[:next_idx]), s[next_idx+1:] + + def __decode_string(self, s): + end = s.index(b':') + str_len = int(s[:end]) + if s[0] == b'0' and end != 1: + raise ValueError + s = s[1:] # skip terminal `:` + return s[end:end+str_len], s[end+str_len:] + + def __decode_list(self, s): + r = list() + s = s[1:] # skip leading `l` + while s[0] != ord('e'): + v, s = self.__decode_func[s[0]](s) + r.append(v) + return r, s[1:] + + def __decode_dict(self, s): + r = dict() + s = s[1:] + while s[0] != ord(b'e'): + k, s = self.__decode_string(s) + r[k], s = self.__decode_func[s[0]](s) + return r, s[1:] + + def __bdecode(self, s): + try: + r, l = self.__decode_func[s[0]](s) + except (IndexError, KeyError, ValueError) as e: + print("not a valid bencoded string: %s" % e) + return None + if l != b'': + print("invalid bencoded value (data after valid prefix)") + return None + return r + + @staticmethod + def __encode_int(x): + return b'i' + bytes(str(x), 'utf-8') + b'e' + + @staticmethod + def __encode_string(x:str): + return bytes((str(len(x))), 'utf-8') + b':' + x + + def __encode_list(self, x): + ret = b'' + for i in x: + ret += self.__encode_func[type(i)](i) + return b'l' + ret + b'e' + + def __encode_dict(self, x): + ret = b'' + for k, v in sorted(x.items()): + ret += self.__encode_func[type(k)](k) + ret += self.__encode_func[type(v)](v) + return b'd' + ret + b'e' + + def __bencode(self, x): + return self.__encode_func[type(x)](x) + + diff --git a/tests/data/dirty.torrent b/tests/data/dirty.torrent new file mode 100644 index 0000000000000000000000000000000000000000..472371be2750b88a6b160360d36e5a9f9750946f GIT binary patch literal 93903 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⁣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 Vfs5j7QdHuPvP=5l(T17X{{Xd$^Me2Y literal 0 HcmV?d00001 diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index ae04dc2..ff5c196 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -6,7 +6,7 @@ import os import zipfile import tempfile -from src import pdf, images, audio, office, parser_factory +from src import pdf, images, audio, office, parser_factory, torrent class TestParserFactory(unittest.TestCase): @@ -28,6 +28,11 @@ class TestGetMeta(unittest.TestCase): "3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) kpathsea " \ "version 6.1.1") + def test_torrent(self): + p = torrent.TorrentParser('./tests/data/dirty.torrent') + meta = p.get_meta() + self.assertEqual(meta['created by'], b'mktorrent 1.0') + def test_png(self): p = images.PNGParser('./tests/data/dirty.png') meta = p.get_meta() @@ -322,3 +327,19 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) os.remove('./tests/data/clean.bmp') + + + def test_torrent(self): + shutil.copy('./tests/data/dirty.torrent', './tests/data/clean.torrent') + p = torrent.TorrentParser('./tests/data/clean.torrent') + + meta = p.get_meta() + self.assertEqual(meta, {'created by': b'mktorrent 1.0', 'creation date': 1522397702}) + + ret = p.remove_all() + self.assertTrue(ret) + + p = torrent.TorrentParser('./tests/data/clean.torrent.cleaned') + self.assertEqual(p.get_meta(), {}) + + os.remove('./tests/data/clean.torrent')