]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sun, 12 Jan 2025 23:53:47 +0000 (00:53 +0100)
committerRoland Häder <roland@mxchange.org>
Sun, 12 Jan 2025 23:53:47 +0000 (00:53 +0100)
- parameter 'domain_hash' can be an empty string, so let's check it
- converted concating strings into f-string
- some debug messages added

fba/commands.py
fba/models/instances.py
fba/utils.py

index 88f6e2c2389b5b2a671595bde19d579693f2e7da..19418a087bc00ced0cdcb64c7559505459d32677 100644 (file)
@@ -1015,6 +1015,7 @@ def fetch_instances(args: argparse.Namespace) -> int:
         database.cursor.execute("SELECT domain, origin, software FROM instances WHERE domain = ? LIMIT 1", [domain])
         rows = database.cursor.fetchall()
 
+        logger.debug("rows()=%d", len(rows))
         if len(rows) == 0:
             rows.append({
                 "domain"  : args.domain,
index f5816892eb91bd8eb9ee7911cc0417010ea278c1..c3e347c9e503e30a50ef5bddc51210974c2b6696 100644 (file)
@@ -118,7 +118,7 @@ def has_pending(domain: str) -> bool:
     for key in _pending:
         logger.debug("domain='%s',_pending[%s]()=%d", domain, key, len(_pending[key]))
         if domain in _pending[key]:
-            logger.debug("domain='%s' at key='%s' has pending data ...", domain, key)
+            logger.debug("domain='%s' at key='%s' has pending data - BREAK!", domain, key)
             has = True
             break
 
@@ -138,6 +138,7 @@ def update(domain: str) -> None:
 
     sql_string = ""
     fields = []
+    updated = 0
 
     logger.debug("Checking %d _pending array elements ...", len(_pending))
     for key in _pending:
@@ -146,9 +147,10 @@ def update(domain: str) -> None:
             logger.debug("Adding '%s' for key='%s' ...", _pending[key][domain], key)
             fields.append(_pending[key][domain])
             sql_string += f" {key} = ?,"
+            updated = updated + 1
 
-    logger.debug("sql_string(%d)='%s'", len(sql_string), sql_string)
-    if sql_string == "" or len(fields) == 0:
+    logger.debug("sql_string(%d)='%s',updated=%d", len(sql_string), sql_string, updated)
+    if sql_string == "" or updated == 0:
         raise ValueError(f"No fields have been set, but function invoked, domain='{domain}'")
 
     # Set last_updated to current timestamp
@@ -159,7 +161,7 @@ def update(domain: str) -> None:
     fields.append(domain)
 
     logger.debug("sql_string='%s',fields()=%d", sql_string, len(fields))
-    sql_string = "UPDATE instances SET" + sql_string + " last_updated = ? WHERE domain = ? LIMIT 1"
+    sql_string = f"UPDATE instances SET{sql_string} last_updated = ? WHERE domain = ? LIMIT 1"
 
     logger.debug("Executing SQL: sql_string='%s',fields()=%d", sql_string, len(fields))
     database.cursor.execute(sql_string, fields)
index 8402a0c81b2e6d76869a57870a0e17fac9351375..a6a3fafde074aed2d755df9603f6cee6bc2de10d 100644 (file)
@@ -33,7 +33,7 @@ logger = logging.getLogger(__name__)
 
 def is_primitive(var: any) -> bool:
     logger.debug("var[]='%s' - CALLED!", type(var))
-    return type(var) in {int, str, float, bool, None} or var is None
+    return type(var) in [int, str, float, bool, None] or var is None
 
 def get_hash(domain: str) -> str:
     logger.debug("domain='%s' - CALLED!", domain)
@@ -90,6 +90,8 @@ def deobfuscate(domain: str, blocker: str, domain_hash: str = None) -> str:
         raise ValueError(f"domain='{domain}' is blacklisted but function was invoked")
     elif not isinstance(domain_hash, str) and domain_hash is not None:
         raise ValueError(f"Parameter domain_hash[]='{type(domain_hash)}' is not of type 'str'")
+    elif domain_hash == "":
+        raise ValueError("Parameter 'domain_hash' is empty")
 
     logger.debug("Checking domain='%s' ...", domain)
     if domain.find("*") >= 0: