]> git.mxchange.org Git - fba.git/blobdiff - fba/models/error_log.py
Continued:
[fba.git] / fba / models / error_log.py
index ed1f89fd7720946a41d8850cdb14855ba334aa89..35e0933c3a514fcec619657ed3f34af2f230ddf9 100644 (file)
@@ -17,38 +17,30 @@ import logging
 import json
 import time
 
-import validators
-
 from fba import database
 
+from fba.helpers import blacklist
 from fba.helpers import config
+from fba.helpers import domain as domain_helper
 
 logging.basicConfig(level=logging.INFO)
 logger = logging.getLogger(__name__)
 
 def add(domain: str, error: dict):
-    logger.debug("domain,error[]:", domain, type(error))
-    if not isinstance(domain, str):
-        raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'")
-    elif domain == "":
-        raise ValueError("Parameter 'domain' is empty")
-    elif domain.lower() != domain:
-        raise ValueError(f"Parameter domain='{domain}' must be all lower-case")
-    elif not validators.domain(domain.split("/")[0]):
-        raise ValueError(f"domain='{domain}' is not a valid domain")
-    elif domain.endswith(".arpa"):
-        raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!")
-    elif domain.endswith(".tld"):
-        raise ValueError(f"domain='{domain}' is a fake domain, please don't crawl them!")
+    logger.debug("domain='%s',error[]='%s' - CALLED!", domain, type(error))
+    domain_helper.raise_on(domain)
+
+    if blacklist.is_blacklisted(domain):
+        raise ValueError(f"domain='{domain}' is blacklisted but function was invoked")
     elif config.get("write_error_log").lower() != "true":
         logger.debug("Writing to error_log is disabled in configuruation file - EXIT!")
         return
 
-    logger.debug("BEFORE error[]:", type(error))
-    if isinstance(error, BaseException, error, json.decoder.JSONDecodeError):
+    logger.debug("error[]='%s' - BEFORE!", type(error))
+    if isinstance(error, (BaseException, json.decoder.JSONDecodeError)):
         error = f"error[{type(error)}]='{str(error)}'"
+    logger.debug("error[]='%s' - AFTER!", type(error))
 
-    logger.debug("AFTER error[]:", type(error))
     if isinstance(error, str):
         database.cursor.execute("INSERT INTO error_log (domain, error_code, error_message, created) VALUES (?, 999, ?, ?)",[
             domain,
@@ -64,7 +56,7 @@ def add(domain: str, error: dict):
         ])
 
     # Cleanup old entries
-    logger.debug(f"Purging old records (distance: {config.get('error_log_cleanup')})")
+    logger.debug("Purging old records (distance: %d)", config.get('error_log_cleanup'))
     database.cursor.execute("DELETE FROM error_log WHERE created < ?", [time.time() - config.get("error_log_cleanup")])
 
     logger.debug("EXIT!")