]> git.mxchange.org Git - fba.git/blobdiff - fba/models/instances.py
Continued:
[fba.git] / fba / models / instances.py
index 8746d2376419745429c6aa67ba216c2ed8358ec9..320a24f69d90d639dc7fb29c5a99b85329aad928 100644 (file)
@@ -171,6 +171,8 @@ def add(domain: str, origin: str, command: str, path: str = None, software: str
         raise Exception(f"domain='{domain}' is blacklisted, but method invoked")
     elif domain.find("/profile/") > 0 or domain.find("/users/") > 0 or (is_registered(domain.split("/")[0]) and domain.find("/c/") > 0):
         raise Exception(f"domain='{domain}' is a single user")
+    elif domain.find("/tag/") > 0:
+        raise Exception(f"domain='{domain}' is a tag")
 
     if software is None:
         try:
@@ -280,15 +282,20 @@ def is_registered(domain: str) -> bool:
     logger.debug("registered='%s' - EXIT!", registered)
     return registered
 
-def is_recent(domain: str) -> bool:
-    logger.debug("domain='%s' - CALLED!", domain)
+def is_recent(domain: str, column: str = "last_instance_fetch") -> bool:
+    logger.debug("domain='%s',column='%s' - CALLED!", domain)
     domain_helper.raise_on(domain)
-    if not is_registered(domain):
+
+    if not isinstance(column, str):
+        raise ValueError(f"Parameter column[]='{type(column)}' is not 'str'")
+    elif column not in ["last_instance_fetch", "last_blocked"]:
+        raise ValueError(f"Parameter column='{column}' is not expected")
+    elif not is_registered(domain):
         logger.debug("domain='%s' is not registered, returning False - EXIT!", domain)
         return False
 
     # Query database
-    database.cursor.execute("SELECT last_instance_fetch FROM instances WHERE domain = ? LIMIT 1", [domain])
+    database.cursor.execute(f"SELECT {column} FROM instances WHERE domain = ? LIMIT 1", [domain])
 
     # Fetch row
     fetched = database.cursor.fetchone()[0]