From 8acf2be1df9279468df5bb57c025194d54618f65 Mon Sep 17 00:00:00 2001 From: renarde Date: Mon, 11 Nov 2024 15:46:06 +0100 Subject: [PATCH] Add script to append old backup to fossify backup --- edit_backup.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 edit_backup.py diff --git a/edit_backup.py b/edit_backup.py new file mode 100644 index 0000000..f244678 --- /dev/null +++ b/edit_backup.py @@ -0,0 +1,68 @@ +import json +import sys + +class newJSON() : + def __init__( + self, + old_type, + old_address, + old_date, + old_dateSent, + old_read, + old_status, + old_body, + old_locked, + old_subId, + ) : + self.subscriptionId = old_subId + self.address = old_address + self.body = old_body + self.date = old_date + self.dateSent = old_dateSent + self.locked = 1 if old_locked else 0 + self.protocol = None + self.read = 1 if old_read else 0 + self.status = old_status + self.type = old_type + self.serviceCenter = None + self.backupType = "sms" + +def formatMsg(oldMsgJSON) : + return newJSON( + oldMsgJSON["type"], + oldMsgJSON["address"], + oldMsgJSON["date"], + oldMsgJSON["dateSent"], + oldMsgJSON["read"], + oldMsgJSON["status"], + oldMsgJSON["body"], + oldMsgJSON["locked"], + oldMsgJSON["subId"], + ).__dict__ + +def appendToBck(old_path : str,new_path : str,target_path : str) : + # Load old backup + with open(old_path) as file : + old_data = json.load(file) + # Load new backup + with open(new_path) as file : + target = json.load(file) + for msg in old_data["messages"] : + if msg["body"] != "" : + target.append(formatMsg(msg)) + # Write to target + with open(target_path,"w") as file : + json.dump(target,file,indent=2) + +def main() : + if len(sys.argv) != 4 : + print( + "Unrecognized arguments :\n", + "python3 edit_backup.py ./backup.json ./new_backup.json ./new.json" + ) + sys.exit(1) + appendToBck(sys.argv[1],sys.argv[2],sys.argv[3]) + sys.exit(0) + +if __name__ == "__main__" : + main() \ No newline at end of file