dcs-retribution/userdata/persistency.py

44 lines
943 B
Python

import typing
import pickle
import os
import shutil
def _save_file() -> str:
return os.path.expanduser("~\Saved Games\DCS\liberation_save")
def _temporary_save_file() -> str:
return os.path.expanduser("~\Saved Games\DCS\liberation_save_tmp")
def _save_file_exists() -> bool:
return os.path.exists(_save_file())
def mission_path_for(name: str) -> str:
return os.path.expanduser("~\Saved Games\DCS\Missions\{}".format(name))
def restore_game():
if not _save_file_exists():
return None
try:
with open(_save_file(), "rb") as f:
return pickle.load(f)
except Exception as e:
print(e)
return None
def save_game(game) -> bool:
try:
with open(_temporary_save_file(), "wb") as f:
pickle.dump(game, f)
shutil.copy(_temporary_save_file(), _save_file())
return True
except Exception as e:
print(e)
return False