]> git.mxchange.org Git - fba.git/blobdiff - fba/helpers/cookies.py
Continued:
[fba.git] / fba / helpers / cookies.py
index b40b68bd74bb60c1ec76715dd1e3156405dd07bc..ff2457aad7ea423b47c1f2c1901bc4600c9c6e45 100644 (file)
 
 import logging
 
-import validators
+from fba.helpers import domain as domain_helper
 
 logging.basicConfig(level=logging.INFO)
 logger = logging.getLogger(__name__)
 
-# Cookies stor
+# Cookies storage
 _cookies = {}
 
 def store (domain: str, cookies: dict):
-    logger.debug(f"domain='{domain}',cookies()={len(cookies)} - CALLED!")
-    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!")
-    elif not isinstance(cookies, dict):
-        raise ValueError(f"Parameter cookies[]='{type(cookies)}' is not 'dict'")
+    logger.debug("domain='%s',cookies()=%d - CALLED!", domain, len(cookies))
+    domain_helper.raise_on(domain)
+    if not isinstance(cookies, dict):
+        raise ValueError(f"Parameter cookies[]='{type(cookies)}' is not of type 'dict'")
 
     _cookies[domain] = cookies
 
     logger.debug("EXIT!")
 
 def get_all(domain: str) -> dict:
-    logger.debug("domain(%d)='%s' - CALLED!", len(domain), domain)
-    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!")
-    elif not has(domain):
-        raise Exception(f"domain='{domain}' has no cookies stored, maybe invoke store() first?")
-
-    logger.debug(f"_cookies[{domain}]()={len(_cookies[domain])} - EXIT!")
+    logger.debug("domain='%s' - CALLED!", domain)
+    domain_helper.raise_on(domain)
+
+    if domain not in _cookies:
+        return dict()
+
+    logger.debug("_cookies[%s]()=%d - EXIT!", domain, len(_cookies[domain]))
     return _cookies[domain]
 
 def has (domain: str) -> bool:
-    logger.debug("domain(%d)='%s' - CALLED!", len(domain), domain)
-    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")
+    logger.debug("domain='%s' - CALLED!", domain)
+    domain_helper.raise_on(domain)
 
     has_cookies = domain in _cookies
 
-    logger.debug(f"has_cookies='{has_cookies}' - EXIT!")
+    logger.debug("has_cookies='%s' - EXIT!", has_cookies)
     return has_cookies
 
 def clear (domain: str):
-    logger.debug("domain(%d)='%s' - CALLED!", len(domain), domain)
-    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' - CALLED!", domain)
+    domain_helper.raise_on(domain)
 
     if has(domain):
-        logger.debug(f"Removing cookies for domain='{domain}' ...")
+        logger.debug("Removing cookies for domain='%s' ...", domain)
         del _cookies[domain]
 
     logger.debug("EXIT!")