commit 8254a1568bbd64031fe28798fdddb46f9c090dd4 Author: renarde Date: Mon Nov 11 15:40:05 2024 +0100 Add script to convert msg diff --git a/conv_backup.py b/conv_backup.py new file mode 100644 index 0000000..f804036 --- /dev/null +++ b/conv_backup.py @@ -0,0 +1,81 @@ +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 convertBck(old_path : str,new_path : str) : + with open(old_path) as file : + data = json.load(file) + + newBck = [] + for msg in data["messages"] : + # Skip all message without body + if msg["body"] != "" : + newBck.append(formatMsg(msg)) + # Write to new file + with open(new_path,"w") as file : + json.dump(newBck,file,indent=2) + +def appendToBck(old_path : str,target_path : str) : + # Load file to import + with open(old_path) as file : + old_data = json.load(file) + # Load file to edit + with open(new_path,"rw") as file : + target = json.load(file) + for msg in data["messages"] : + if msg["body"] != "" : + data.append(formatMsg(msg)) + with open(new_path,"w") as file : + json.dump(newBck,file,indent=2) + +def main() : + if len(sys.argv) != 3 : + print( + "Unrecognized arguments :\n", + "python3 conv_backup.py ./backup.json ./new.json" + ) + sys.exit(1) + convertBck(sys.argv[1],sys.argv[2]) + sys.exit(0) + + +if __name__ == "__main__" : + main()