]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sat, 9 Dec 2023 02:46:25 +0000 (03:46 +0100)
committerRoland Häder <roland@mxchange.org>
Sat, 9 Dec 2023 02:46:25 +0000 (03:46 +0100)
- check all URLs against validator

fba/helpers/domain.py
fba/helpers/processing.py
fba/http/federation.py
fba/http/network.py
fba/models/instances.py
fba/utils.py

index 4141258665c43c64e6acb2c3c39492961ad3ee51..2df92e8f9733005978e0f9ce5b6ce951009fc1c2 100644 (file)
@@ -76,6 +76,8 @@ def is_in_url(domain: str, url: str) -> bool:
         raise ValueError(f"Parameter url[]='{type(url)}' is not of type 'str'")
     elif url == "":
         raise ValueError("Parameter 'url' is empty")
+    elif not validators.url(url):
+        raise ValueError(f"Parameter url='{url}' is not a valid URL")
     elif domain + url in _cache["is_in_url"]:
         logger.debug("Returning cached is_in_url='%s' - EXIT!", _cache["is_in_url"][domain + url])
         return _cache["is_in_url"][domain + url]
index d8f3d12182d9b0f692e1cc19761fbcd1d45629a2..37a47065be200e2e2b01f1dacb5ced8de506c837 100644 (file)
@@ -120,6 +120,8 @@ def csv_block(blocker: str, url: str, command: str):
         raise ValueError(f"url[]='{url}' is not of type 'str'")
     elif url == "":
         raise ValueError("Parameter 'url' is empty")
+    elif not validators.url(url):
+        raise ValueError(f"Parameter url='{url}' is not a valid URL")
     elif not isinstance(command, str):
         raise ValueError(f"command[]='{command}' is not of type 'str'")
     elif command == "":
index e0bd1aede5090012fec35c40e09ac9714db8c392..8b1508dd0ec6af62c1817bb809ef63aa570fbc92 100644 (file)
@@ -477,6 +477,7 @@ def determine_software(domain: str, path: str = None) -> str:
 
 def find_domains(tag: bs4.element.Tag) -> list:
     logger.debug("tag[]='%s' - CALLED!", type(tag))
+
     if not isinstance(tag, bs4.element.Tag):
         raise ValueError(f"Parameter tag[]='{type(tag)}' is not type of bs4.element.Tag")
     elif len(tag.select("tr")) == 0:
@@ -527,6 +528,7 @@ def find_domains(tag: bs4.element.Tag) -> list:
 
 def add_peers(rows: dict) -> list:
     logger.debug("rows[]='%s' - CALLED!", type(rows))
+
     if not isinstance(rows, dict):
         raise ValueError(f"Parameter rows[]='{type(rows)}' is not of type 'dict'")
 
index a5ad140e1198300f1b4f0e389be55d1d60dd5612..ec548d8f9c7de407db989aae36db48947a10d399 100644 (file)
@@ -125,6 +125,8 @@ def fetch_api_url(url: str, timeout: tuple) -> dict:
         raise ValueError(f"Parameter url[]='{type(url)}' is not of type 'str'")
     elif url == "":
         raise ValueError("Parameter 'url' is empty")
+    elif not validators.url(url):
+        raise ValueError(f"Parameter url='{url}' is not a valid URL")
     elif not isinstance(timeout, tuple):
         raise ValueError(f"timeout[]='{type(timeout)}' is not of type 'tuple'")
 
index 619d05b2968f32052284d6f2a8b9611ec0298a6f..f01dd36fc887ca2a5e4185ec0f8365a54d640471 100644 (file)
@@ -483,6 +483,8 @@ def set_nodeinfo_url(domain: str, url: str):
         raise ValueError(f"Parameter url[]='{type(url)}' is not of type 'str'")
     elif url == "":
         raise ValueError("Parameter 'url' is empty")
+    elif not validators.url(url):
+        raise ValueError(f"Parameter url='{url}' is not a valid URL")
 
     # Set timestamp
     _set_data("nodeinfo_url", domain, url)
index 562abde97a5a8247fc58c6c002100631cb5b14c7..f698194af4d807da11616b2486cf017579b5c4f2 100644 (file)
@@ -20,6 +20,7 @@ from urllib.parse import urlparse
 
 import bs4
 import requests
+import validators
 
 from fba.helpers import blacklist
 from fba.helpers import config
@@ -52,6 +53,8 @@ def fetch_url(url: str, headers: dict, timeout: tuple) -> requests.models.Respon
         raise ValueError(f"Parameter url[]='{type(url)}' is not of type 'str'")
     elif url == "":
         raise ValueError("Parameter 'url' is empty")
+    elif not validators.url(url):
+        raise ValueError(f"Parameter url='{url}' is not a valid URL")
     elif not isinstance(headers, dict):
         raise ValueError(f"Parameter headers[]='{type(headers)}' is not of type 'dict'")
     elif not isinstance(timeout, tuple):