in sdw_updater/Updater.py [0:0]
def _write_updates_status_flag_to_disk(status):
"""
Writes the latest SecureDrop Workstation update status to disk, on both
dom0 and sd-app for futher processing in the future.
"""
flag_file_path_sd_app = FLAG_FILE_STATUS_SD_APP
flag_file_path_dom0 = get_dom0_path(FLAG_FILE_STATUS_DOM0)
try:
sdlog.info(f"Setting update flag to {status.value} in sd-app")
subprocess.check_call(
["qvm-run", "sd-app", f"echo '{status.value}' > {flag_file_path_sd_app}"]
)
except subprocess.CalledProcessError as e:
sdlog.error("Error writing update status flag to sd-app")
sdlog.error(str(e))
try:
sdlog.info(f"Setting update flag to {status.value} in dom0")
if not os.path.exists(os.path.dirname(flag_file_path_dom0)):
os.makedirs(os.path.dirname(flag_file_path_dom0))
current_date = str(datetime.now().strftime(DATE_FORMAT))
with open(flag_file_path_dom0, "w") as f:
flag_contents = {"last_status_update": current_date, "status": status.value}
json.dump(flag_contents, f)
except Exception as e:
sdlog.error("Error writing update status flag to dom0")
sdlog.error(str(e))