history: fix: store entries only once
All checks were successful
checks-impure / test (pull_request) Successful in 1m39s
checks / test (pull_request) Successful in 2m55s

This commit is contained in:
DavHau 2023-11-20 11:29:57 +07:00
parent 9d99f93b37
commit 9f63f725d3

View File

@ -11,9 +11,14 @@ from ..async_cmd import CmdOut, runforcli
async def add_flake(path: Path) -> Dict[str, CmdOut]:
user_history_file().parent.mkdir(parents=True, exist_ok=True)
# append line to history file
# TODO: Is this atomic?
with open(user_history_file(), "a+") as f:
f.write(f"{path}\n")
# TODO: Make this atomic
lines: set = set()
if user_history_file().exists():
with open(user_history_file(), "r") as f:
lines = set(f.readlines())
lines.add(str(path))
with open(user_history_file(), "w") as f:
f.writelines(lines)
return {}