deserialize torrent fields properly
This commit is contained in:
parent
651348f6e0
commit
1041a19467
1 changed files with 2 additions and 7 deletions
|
@ -1,5 +1,4 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import binascii
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import typing
|
import typing
|
||||||
|
@ -23,12 +22,6 @@ if typing.TYPE_CHECKING:
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def path_or_none(encoded_path) -> Optional[str]:
|
|
||||||
if not encoded_path:
|
|
||||||
return
|
|
||||||
return binascii.unhexlify(encoded_path).decode()
|
|
||||||
|
|
||||||
|
|
||||||
class TorrentSource(ManagedDownloadSource):
|
class TorrentSource(ManagedDownloadSource):
|
||||||
STATUS_STOPPED = "stopped"
|
STATUS_STOPPED = "stopped"
|
||||||
filter_fields = SourceManager.filter_fields
|
filter_fields = SourceManager.filter_fields
|
||||||
|
@ -185,6 +178,8 @@ class TorrentManager(SourceManager):
|
||||||
async def initialize_from_database(self):
|
async def initialize_from_database(self):
|
||||||
for file in await self.storage.get_all_torrent_files():
|
for file in await self.storage.get_all_torrent_files():
|
||||||
claim = await self.storage.get_content_claim_for_torrent(file['bt_infohash'])
|
claim = await self.storage.get_content_claim_for_torrent(file['bt_infohash'])
|
||||||
|
file['download_directory'] = bytes.fromhex(file['download_directory'] or '').decode() or None
|
||||||
|
file['file_name'] = bytes.fromhex(file['file_name'] or '').decode() or None
|
||||||
await self._load_stream(None, claim=claim, **file)
|
await self._load_stream(None, claim=claim, **file)
|
||||||
|
|
||||||
async def start(self):
|
async def start(self):
|
||||||
|
|
Loading…
Add table
Reference in a new issue