]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Wed, 29 Nov 2023 22:08:45 +0000 (23:08 +0100)
committerRoland Häder <roland@mxchange.org>
Wed, 29 Nov 2023 22:08:45 +0000 (23:08 +0100)
- check domain more again blacklist to avoid bad function invocations
- improved some debug logging messages

fba/models/instances.py

index 64873d5c20d3c86d81cf487ca1d1afab181cfbfd..8a46dcb9d214a39c152d8e1e18d93ad97a906cd2 100644 (file)
@@ -84,6 +84,8 @@ def _set_data(key: str, domain: str, value: any):
         raise ValueError("Parameter 'key' is empty")
     elif not key in _pending:
         raise ValueError(f"key='{key}' not found in _pending")
+    elif blacklist.is_blacklisted(domain):
+        raise Exception(f"domain='{domain}' is blacklisted but function has been invoked")
     elif not utils.is_primitive(value):
         raise ValueError(f"value[]='{type(value)}' is not a primitive type")
 
@@ -98,10 +100,13 @@ def has_pending(domain: str) -> bool:
 
     if not is_registered(domain):
         raise ValueError(f"domain='{domain}' is not registered but function was invoked.")
+    elif blacklist.is_blacklisted(domain):
+        raise Exception(f"domain='{domain}' is blacklisted but function has been invoked")
 
     has = False
+    logger.debug("Checking %d _pending array elements ...", len(_pending))
     for key in _pending:
-        logger.debug("key='%s',domain='%s',_pending[key]()=%d", key, domain, len(_pending[key]))
+        logger.debug("domain='%s',_pending[%s]()=%d", key, domain, key, len(_pending[key]))
         if domain in _pending[key]:
             logger.debug("domain='%s' at key='%s' has pending data ...", domain, key)
             has = True
@@ -118,10 +123,13 @@ def update(domain: str):
         raise Exception(f"domain='{domain}' cannot be updated while not being registered")
     elif not has_pending(domain):
         raise Exception(f"domain='{domain}' has no pending instance data, but function invoked")
+    elif blacklist.is_blacklisted(domain):
+        raise Exception(f"domain='{domain}' is blacklisted but function has been invoked")
 
-    logger.debug("Updating instance data for domain='%s' ...", domain)
     sql_string = ""
     fields = list()
+
+    logger.debug("Checking %d _pending array elements ...", len(_pending))
     for key in _pending:
         logger.debug("Checking key='%s',domain='%s'", key, domain)
         if domain in _pending[key]: