HPI/my/takeout.py
2020-01-27 22:35:45 +00:00

30 lines
981 B
Python

from pathlib import Path
from typing import Optional
from .common import get_files
from mycfg import paths
from kython.kompress import open as kopen
def get_last_takeout(*, path: Optional[str]=None) -> Path:
"""
Ok, sometimes google splits takeout into two zip archives
I guess I could detect it (they've got 001/002 etc suffixes), but fornow that works fine..
"""
for takeout in reversed(get_files(paths.google.takeout_path, glob='*.zip')):
if path is None:
return takeout
else:
try:
kopen(takeout, path)
return takeout
except:
# TODO eh, a bit horrible, but works for now..
continue
raise RuntimeError(f'Not found: {path}')
# TODO might be a good idea to merge across multiple taekouts...
# perhaps even a special takeout module that deals with all of this automatically?
# e.g. accumulate, filter and maybe report useless takeouts?