def load(filepath: str) -> Torrent: """ Loads a torrent from file """ # open .torrent file for binary reading with open(filepath, 'rb') as f: content = f.read() # decode the B-encoded content meta_info = decoder.decode(content) # create Torrent object t = Torrent(meta_info) return t
def test_decode_emptydictnoend_err(self): with self.assertRaises(decoder.DecodeError): decoder.decode(b'd')
def test_decode_dictnoend_err(self): with self.assertRaises(decoder.DecodeError): decoder.decode(b'd3:cowi123e')
def test_decode_endnostart_err(self): with self.assertRaises(decoder.DecodeError): decoder.decode(b'e')
def test_decode_intnoend_err(self): with self.assertRaises(decoder.DecodeError): decoder.decode(b'i123')
def test_decode_cowmoospameggs(self): self.assertEqual(decoder.decode(b'd3:cow3:moo4:spam4:eggse'), OrderedDict([(b'cow', b'moo'), (b'spam', b'eggs')]))
def test_decode_spameggs123(self): self.assertEqual(decoder.decode(b'l4:spam4:eggsi123ee'), [b'spam', b'eggs', 123])
def test_decode_helloworld(self): self.assertEqual(decoder.decode(b'11:hello world'), b'hello world')
def test_decode_123(self): self.assertEqual(decoder.decode(b'i123e'), 123)