mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-11-16 07:33:16 +00:00
23 lines
574 B
Python
23 lines
574 B
Python
"""Generic size counter using pathlib"""
|
|
|
|
import pathlib
|
|
|
|
|
|
def get_storage_usage(path: str) -> int:
|
|
"""
|
|
Calculate the real storage usage of path and all subdirectories.
|
|
Calculate using pathlib.
|
|
Do not follow symlinks.
|
|
"""
|
|
storage_usage = 0
|
|
for iter_path in pathlib.Path(path).rglob("**/*"):
|
|
if iter_path.is_dir():
|
|
continue
|
|
try:
|
|
storage_usage += iter_path.stat().st_size
|
|
except FileNotFoundError:
|
|
pass
|
|
except Exception as error:
|
|
print(error)
|
|
return storage_usage
|