Пример #1
0
    def get_index_of_file_in_files(self, file):
        if not self.metainfo:
            raise ValueError("TorrentDef does not have metainfo")
        info = self.metainfo[b'info']

        if file is not None and b'files' in info:
            for i in range(len(info[b'files'])):
                file_dict = info[b'files'][i]

                if b'path.utf-8' in file_dict:
                    intorrentpath = maketorrent.pathlist2filename(file_dict[b'path.utf-8'])
                else:
                    intorrentpath = maketorrent.pathlist2filename(file_dict[b'path'])

                if intorrentpath == path_util.Path(ensure_unicode(file, 'utf8')):
                    return i
            raise ValueError("File not found in torrent")
        else:
            raise ValueError("File not found in single-file torrent")
Пример #2
0
 def test_pathlist2filename_utf8(self):
     path_list = [u"test", u"path"]
     path = pathlist2filename(path_list)
     self.assertEqual(path, Path(u"test") / u"path")
Пример #3
0
 def test_pathlist2filename_not_utf8(self):
     part = u'\xb0\xe7'.encode("latin-1")
     path_list = ["test", part]
     path = pathlist2filename(path_list)
     self.assertEqual(path, Path(u"test") / u"\xb0\xe7")
Пример #4
0
def test_pathlist2filename_utf8():
    path_list = ["test", "path"]
    path = pathlist2filename(path_list)
    assert path == Path("test") / "path"
Пример #5
0
def test_pathlist2filename_not_utf8():
    part = b'\xb0\xe7'
    path_list = ["test", part]
    path = pathlist2filename(path_list)
    assert path == Path("test") / "\xb0\xe7"