# along with this program. If not, see <https://www.gnu.org/licenses/>.
import logging
+import sqlite3
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
##### Cache #####
def key_exists(key: str) -> bool:
- return key in _cache
+ logger.debug("key='%s' - CALLED!", key)
+ exists = key in _cache
+
+ logger.debug("exists='%s' - EXIT!", exists)
+ return exists
def set_all(key: str, rows: list, value: any):
logger.debug("key='%s',rows()=%d,value[]='%s' - CALLED!", key, len(rows), type(value))
+
if not isinstance(key, str):
- raise ValueError(f"Parameter key[]='{type(key)}' is not 'str'")
+ raise ValueError(f"Parameter key[]='{type(key)}' is not of type 'str'")
elif not key_exists(key):
logger.debug("Cache for key='%s' not initialized.", key)
_cache[key] = dict()
+ logger.debug("Setting %d row(s) for key='%s',value[%s]='%s' ...", len(rows), key, type(value), value)
for sub in rows:
logger.debug("Setting key='%s',sub[%s]='%s'", key, type(sub), sub)
- if isinstance(sub, tuple):
+ if isinstance(sub, sqlite3.Row):
logger.debug("Setting key='%s',sub[%s]='%s',value[]='%s'", key, type(sub), sub, type(value))
_cache[key][sub[0]] = value
else:
def set_sub_key(key: str, sub: str, value: any):
logger.debug("key='%s',sub='%s',value[]='%s' - CALLED!", key, sub, type(value))
+
if not isinstance(key, str):
- raise ValueError(f"Parameter key[]='{type(key)}' is not 'str'")
+ raise ValueError(f"Parameter key[]='{type(key)}' is not of type 'str'")
elif not isinstance(sub, str):
- raise ValueError(f"Parameter sub[]='{type(sub)}' is not 'str'")
+ raise ValueError(f"Parameter sub[]='{type(sub)}' is not of type 'str'")
elif not key_exists(key):
raise Exception(f"Cache for key='{key}' is not initialized, but function invoked")
- logger.debug("Setting key='%s',sub='%s',value[]='%s' ...", key, sub, type(value))
+ logger.debug("Setting key='%s',sub='%s',value[%s]='%s' ...", key, sub, type(value), value)
_cache[key][sub] = value
logger.debug("EXIT!")
def sub_key_exists(key: str, sub: str) -> bool:
logger.debug("key='%s',sub='%s' - CALLED!", key, sub)
+
if not isinstance(key, str):
- raise ValueError(f"Parameter key[]='{type(key)}' is not 'str'")
+ raise ValueError(f"Parameter key[]='{type(key)}' is not of type 'str'")
elif not isinstance(sub, str):
- raise ValueError(f"Parameter sub[]='{type(sub)}' is not 'str'")
+ raise ValueError(f"Parameter sub[]='{type(sub)}' is not of type 'str'")
elif not key_exists(key):
raise Exception(f"Cache for key='{key}' is not initialized, but function invoked")