Esempio n. 1
0
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
Esempio n. 2
0
 def test_decode_emptydictnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'd')
Esempio n. 3
0
 def test_decode_dictnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'd3:cowi123e')
Esempio n. 4
0
 def test_decode_endnostart_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'e')
Esempio n. 5
0
 def test_decode_intnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'i123')
Esempio n. 6
0
 def test_decode_cowmoospameggs(self):
     self.assertEqual(decoder.decode(b'd3:cow3:moo4:spam4:eggse'), OrderedDict([(b'cow', b'moo'), (b'spam', b'eggs')]))
Esempio n. 7
0
 def test_decode_spameggs123(self):
     self.assertEqual(decoder.decode(b'l4:spam4:eggsi123ee'), [b'spam', b'eggs', 123])
Esempio n. 8
0
 def test_decode_helloworld(self):
     self.assertEqual(decoder.decode(b'11:hello world'), b'hello world')
Esempio n. 9
0
 def test_decode_123(self):
     self.assertEqual(decoder.decode(b'i123e'), 123)