my.fbmessenger.export: remove legacy dump_chat_history code

This commit is contained in:
Dima Gerasimov 2023-03-16 21:57:55 +00:00 committed by karlicoss
parent 0a05b27266
commit bef832cbff

View file

@ -9,7 +9,6 @@ REQUIRES = [
from contextlib import ExitStack, contextmanager
from dataclasses import dataclass
from pathlib import Path
from typing import Iterator
from my.core import PathIsh, Res, stat, Stats
@ -59,33 +58,3 @@ def messages() -> Iterator[Res[messenger.Message]]:
def stats() -> Stats:
return stat(messages)
### vvv not sure if really belongs here...
def _dump_helper(model: messenger.DAL, tdir: Path) -> None:
for t in model.iter_threads():
name = t.name.replace('/', '_') # meh..
path = tdir / (name + '.txt')
with path.open('w') as fo:
for m in t.iter_messages(order_by='-timestamp'):
# TODO would be nice to have usernames perhaps..
dts = m.dt.strftime('%Y-%m-%d %a %H:%M')
msg = f"{dts}: {m.text}"
print(msg, file=fo)
def dump_chat_history(where: PathIsh) -> None:
p = Path(where)
assert not p.exists() or p.is_dir()
from shutil import rmtree
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tdir, _dal() as model:
td = Path(tdir)
_dump_helper(model, td)
if p.exists():
rmtree(p)
td.rename(p)
td.mkdir() # ugh, hacky way of preventing complaints from context manager