コード例 #1
0
ファイル: torrent.py プロジェクト: MoazAshraf/bits-n-pieces
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
コード例 #2
0
 def test_decode_emptydictnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'd')
コード例 #3
0
 def test_decode_dictnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'd3:cowi123e')
コード例 #4
0
 def test_decode_endnostart_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'e')
コード例 #5
0
 def test_decode_intnoend_err(self):
     with self.assertRaises(decoder.DecodeError):
         decoder.decode(b'i123')
コード例 #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')]))
コード例 #7
0
 def test_decode_spameggs123(self):
     self.assertEqual(decoder.decode(b'l4:spam4:eggsi123ee'), [b'spam', b'eggs', 123])
コード例 #8
0
 def test_decode_helloworld(self):
     self.assertEqual(decoder.decode(b'11:hello world'), b'hello world')
コード例 #9
0
 def test_decode_123(self):
     self.assertEqual(decoder.decode(b'i123e'), 123)