[view] refactoring: URL regex

This commit is contained in:
Vinicius Moreira
2023-12-01 07:36:11 -03:00
parent a4c24c8aa6
commit 4000f0116a
3 changed files with 7 additions and 7 deletions

3
bauh/commons/regex.py Normal file
View File

@@ -0,0 +1,3 @@
import re
RE_URL = re.compile(r"^https?://.+$")

View File

@@ -1,5 +1,3 @@
import re
import re
import shutil import shutil
import time import time
import traceback import traceback
@@ -17,6 +15,7 @@ from bauh.api.abstract.view import TabGroupComponent, MessageType
from bauh.api.exception import NoInternetException from bauh.api.exception import NoInternetException
from bauh.commons.boot import CreateConfigFile from bauh.commons.boot import CreateConfigFile
from bauh.commons.html import bold from bauh.commons.html import bold
from bauh.commons.regex import RE_URL
from bauh.commons.util import sanitize_command_input from bauh.commons.util import sanitize_command_input
from bauh.view.core.config import CoreConfigManager from bauh.view.core.config import CoreConfigManager
from bauh.view.core.settings import GenericSettingsManager from bauh.view.core.settings import GenericSettingsManager
@@ -25,8 +24,6 @@ from bauh.view.util import resource
from bauh.view.util.resource import get_path from bauh.view.util.resource import get_path
from bauh.view.util.util import clean_app_files, restart_app from bauh.view.util.util import clean_app_files, restart_app
RE_IS_URL = re.compile(r'^https?://.+')
class GenericUpgradeRequirements(UpgradeRequirements): class GenericUpgradeRequirements(UpgradeRequirements):
@@ -163,7 +160,7 @@ class GenericSoftwareManager(SoftwareManager, SettingsController):
self.logger.info(f"Search query: {norm_query}") self.logger.info(f"Search query: {norm_query}")
if norm_query: if norm_query:
is_url = bool(RE_IS_URL.match(norm_query)) is_url = bool(RE_URL.match(norm_query))
disk_loader = self.disk_loader_factory.new() disk_loader = self.disk_loader_factory.new()
disk_loader.start() disk_loader.start()

View File

@@ -27,6 +27,7 @@ from bauh.api.exception import NoInternetException
from bauh.api.paths import LOGS_DIR from bauh.api.paths import LOGS_DIR
from bauh.commons.html import bold from bauh.commons.html import bold
from bauh.commons.internet import InternetChecker from bauh.commons.internet import InternetChecker
from bauh.commons.regex import RE_URL
from bauh.commons.system import ProcessHandler, SimpleProcess from bauh.commons.system import ProcessHandler, SimpleProcess
from bauh.commons.view_utils import get_human_size_str from bauh.commons.view_utils import get_human_size_str
from bauh.view.core import timeshift from bauh.view.core import timeshift
@@ -1115,7 +1116,6 @@ 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 = 3, def __init__(self, max_workers: int = 50, request_timeout: int = 30, inactivity_timeout: int = 3,
max_downloads: int = -1, parent: Optional[QWidget] = None): max_downloads: int = -1, parent: Optional[QWidget] = None):
@@ -1159,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 self.pattern_is_url.match(final_url): if RE_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_)