Update info_api.py

added a way to disable getDiskUsageInfo
This commit is contained in:
Theenoro 2024-03-04 01:01:17 +01:00 committed by GitHub
parent 5596f53744
commit 187869c21d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -10,22 +10,23 @@ _cache_result = None # type: Optional[int]
def _get_disk_usage() -> int: def _get_disk_usage() -> int:
global _cache_time, _cache_result
threshold = timedelta(hours=48)
now = datetime.utcnow()
if _cache_time and _cache_time > now - threshold:
assert _cache_result is not None
return _cache_result
total_size = 0 total_size = 0
for dir_path, _, file_names in os.walk(config.config["data_dir"]): if config.config["data_dir_get_usage"] == 1:
for file_name in file_names: global _cache_time, _cache_result
file_path = os.path.join(dir_path, file_name) threshold = timedelta(hours=48)
try: now = datetime.utcnow()
total_size += os.path.getsize(file_path) if _cache_time and _cache_time > now - threshold:
except FileNotFoundError: assert _cache_result is not None
pass return _cache_result
_cache_time = now for dir_path, _, file_names in os.walk(config.config["data_dir"]):
_cache_result = total_size for file_name in file_names:
file_path = os.path.join(dir_path, file_name)
try:
total_size += os.path.getsize(file_path)
except FileNotFoundError:
pass
_cache_time = now
_cache_result = total_size
return total_size return total_size