From: Roland Häder Date: Sun, 12 Jan 2025 02:27:05 +0000 (+0100) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0c4069d684d0c99984cebc4242e2aa6628730073;p=fba.git Continued: - more "caching" of config.get() calls - yes, still good --- diff --git a/fba/http/csrf.py b/fba/http/csrf.py index e3884cc..ddfe408 100644 --- a/fba/http/csrf.py +++ b/fba/http/csrf.py @@ -85,7 +85,7 @@ def determine(domain: str, headers: dict) -> dict: logger.debug("Adding CSRF token='%s' for domain='%s'", tag["data-token"], domain) reqheaders["X-CSRF-Token"] = tag["data-token"] else: - logger.warning("domain='%s' has unknown CSRF token: tag()=%d", domain, len(tag)) + logger.warning("domain='%s' has unknown CSRF token: tag(%d)='%s'", domain, len(tag), tag) elif not validators.url(response_url): logger.warning("response_url='%s' is not valid - Raising exception ...", response_url) diff --git a/fba/http/network.py b/fba/http/network.py index 989d28b..779ad2d 100644 --- a/fba/http/network.py +++ b/fba/http/network.py @@ -91,7 +91,7 @@ def post_json_api(domain: str, path: str, data: str = "", headers: dict = dict() f"https://{domain}{path}", data=data, headers={**api_headers, **headers}, - timeout=(config.get("connection_timeout"), config.get("read_timeout")), + timeout=config.timeout, cookies=cookies.get_all(domain), allow_redirects=False ) @@ -271,7 +271,7 @@ def send_bot_post(domain: str, blocklist: list) -> None: "content_type": "text/plain" }, headers={**api_headers, **{"Authorization": "Bearer " + config.get("bot_token")}}, - timeout=(config.get("connection_timeout"), config.get("read_timeout")), + timeout=config.timeout, allow_redirects=False ) @@ -394,7 +394,7 @@ def fetch_json_rows(hostname: str, path: str, headers: dict = {}, rows_key: str hostname, path, headers=headers, - timeout=(config.get("connection_timeout"), config.get("read_timeout")) + timeout=config.timeout ) logger.debug("fetched(%d)[]='%s'", len(fetched), type(fetched)) diff --git a/fba/models/instances.py b/fba/models/instances.py index 38d28cb..43b57bb 100644 --- a/fba/models/instances.py +++ b/fba/models/instances.py @@ -77,6 +77,12 @@ _pending = { "software" : {}, } +# "Cached" configuration values +_config = { + "recheck_block" : config.get("recheck_block"), + "recheck_instance": config.get("recheck_instance"), +} + def _set_data(key: str, domain: str, value: any) -> None: logger.debug("key='%s',domain='%s',value[]='%s' - CALLED!", key, domain, type(value)) domain_helper.raise_on(domain) @@ -351,10 +357,6 @@ def is_recent(domain: str, column: str = "last_instance_fetch") -> bool: logger.debug("domain='%s' is not registered, returning False - EXIT!", domain) return False - key = "recheck_instance" - if column == "last_blocked": - key = "recheck_block" - # Query database database.cursor.execute(f"SELECT {column} FROM instances WHERE domain = ? LIMIT 1", [domain]) @@ -365,10 +367,11 @@ def is_recent(domain: str, column: str = "last_instance_fetch") -> bool: fetched = float(row[column]) if row[column] is not None else 0.0 logger.debug("fetched[%s]=%f", type(fetched), fetched) - diff = (time.time() - fetched) + # Very simple: + diff = time.time() - fetched - logger.debug("fetched[%s]=%f,key='%s',diff=%f", type(fetched), fetched, key, diff) - recently = bool(diff < config.get(key)) + logger.debug("fetched[%s]=%f,diff=%f", type(fetched), fetched, diff) + recently = bool(diff < _config["recheck_instance" if column == "last_blocked" else "recheck_block"]) logger.debug("recently='%s' - EXIT!", recently) return recently