Cache(): a dict that keeps track of "x in Cache()" calls to enable statistics
This commit is contained in:
parent
2692f4b560
commit
f5544299da
@ -7,6 +7,25 @@ from functools import wraps
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
|
class Cache(dict):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.hits = 0
|
||||||
|
self.misses = 0
|
||||||
|
|
||||||
|
def str_hits(self) -> str:
|
||||||
|
return "%d (%1.2f)" % (self.hits, self.hits / (self.misses + self.hits) * 100)
|
||||||
|
|
||||||
|
def __contains__(self, item: Any) -> bool:
|
||||||
|
r = super().__contains__(item)
|
||||||
|
if r:
|
||||||
|
self.hits += 1
|
||||||
|
else:
|
||||||
|
self.misses += 1
|
||||||
|
|
||||||
|
return r
|
||||||
|
|
||||||
|
|
||||||
def get_script_dir(follow_symlinks: bool = True) -> str:
|
def get_script_dir(follow_symlinks: bool = True) -> str:
|
||||||
"""return path of the executed script"""
|
"""return path of the executed script"""
|
||||||
if getattr(sys, 'frozen', False):
|
if getattr(sys, 'frozen', False):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user