mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-04 01:49:42 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a6bb879db3 |
@@ -7,6 +7,7 @@ class Download:
|
||||
title: str
|
||||
url: str
|
||||
magnet_uri: str
|
||||
path: str
|
||||
completed: bool
|
||||
|
||||
@dataclass
|
||||
|
||||
@@ -5,6 +5,7 @@ from datetime import datetime
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import time
|
||||
|
||||
_log_buffer = []
|
||||
|
||||
@@ -21,7 +22,21 @@ def add_download_log(title, url, magnet_uri, completed) -> DownloadList:
|
||||
downloads = []
|
||||
else:
|
||||
downloads = []
|
||||
|
||||
|
||||
magnetdl = state.active_downloads.get(magnet_uri)
|
||||
if magnetdl:
|
||||
status = magnetdl.status()
|
||||
timeout = 60
|
||||
start = time.time()
|
||||
while not status.has_metadata and (time.time() - start) < timeout:
|
||||
time.sleep(0.5)
|
||||
status = magnetdl.status()
|
||||
torrent_name = status.name
|
||||
save_path = status.save_path
|
||||
consoleLog(f"Torrent name (has_metadata={status.has_metadata}): {torrent_name}")
|
||||
path = os.path.join(save_path, torrent_name)
|
||||
else:
|
||||
path = os.path.join(state.download_path, title)
|
||||
|
||||
if any(d.magnet_uri == magnet_uri or d.url == url for d in downloads):
|
||||
if magnet_uri in state.active_downloads:
|
||||
@@ -37,7 +52,8 @@ def add_download_log(title, url, magnet_uri, completed) -> DownloadList:
|
||||
title=title,
|
||||
url=url,
|
||||
magnet_uri=magnet_uri,
|
||||
completed=completed,
|
||||
path=path,
|
||||
completed=completed
|
||||
))
|
||||
|
||||
consoleLog(f"Added {title} to Log File")
|
||||
|
||||
@@ -5,6 +5,7 @@ from core.utils.data.tracker import get_magnet_link
|
||||
from core.network.libtorrent_wrapper import add_download
|
||||
from core.utils.general.wrappers import run_thread
|
||||
from core.utils.logging.logs import add_download_log
|
||||
import time
|
||||
|
||||
import threading
|
||||
|
||||
@@ -21,8 +22,8 @@ def run_download(item, posts, post_titles):
|
||||
consoleLog(f"Selected URL: {post_url}")
|
||||
magnet_uri = get_magnet_link(post_url)
|
||||
|
||||
add_download_log(item, post_url, magnet_uri, False)
|
||||
add_download(magnet_uri)
|
||||
add_download_log(item, post_url, magnet_uri, False)
|
||||
|
||||
def run_download_direct(magnet_uri):
|
||||
add_download(magnet_uri)
|
||||
|
||||
Reference in New Issue
Block a user