mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 00:04:15 +02:00
[view.qt.thread] refactoring: file downloader URL pattern checking
This commit is contained in:
@@ -9,7 +9,7 @@ from io import StringIO
|
|||||||
from logging import Logger
|
from logging import Logger
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from typing import List, Type, Set, Tuple, Optional
|
from typing import List, Type, Set, Tuple, Optional, Pattern
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from PyQt5.QtCore import QThread, pyqtSignal, QObject
|
from PyQt5.QtCore import QThread, pyqtSignal, QObject
|
||||||
@@ -1115,6 +1115,7 @@ class StartAsyncAction(QThread):
|
|||||||
class URLFileDownloader(QThread):
|
class URLFileDownloader(QThread):
|
||||||
|
|
||||||
signal_downloaded = pyqtSignal(str, bytes, object)
|
signal_downloaded = pyqtSignal(str, bytes, object)
|
||||||
|
pattern_is_url: Pattern = re.compile(r"^https?://.+$")
|
||||||
|
|
||||||
def __init__(self, max_workers: int = 50, request_timeout: int = 30, inactivity_timeout: int = 5,
|
def __init__(self, max_workers: int = 50, request_timeout: int = 30, inactivity_timeout: int = 5,
|
||||||
max_downloads: int = -1, parent: Optional[QWidget] = None):
|
max_downloads: int = -1, parent: Optional[QWidget] = None):
|
||||||
@@ -1158,7 +1159,7 @@ class URLFileDownloader(QThread):
|
|||||||
final_url = url.strip() if url else None
|
final_url = url.strip() if url else None
|
||||||
|
|
||||||
if final_url:
|
if final_url:
|
||||||
if final_url.startswith("http"):
|
if self.pattern_is_url.match(final_url):
|
||||||
self._queue.put((final_url, id_))
|
self._queue.put((final_url, id_))
|
||||||
else:
|
else:
|
||||||
self.signal_downloaded.emit(final_url, None, id_)
|
self.signal_downloaded.emit(final_url, None, id_)
|
||||||
|
|||||||
Reference in New Issue
Block a user