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 main() : if len(sys.argv) != 3 : print( "Unrecognized arguments :\n", "python qsms_to_fossify ./QSMS_Backup.json ./New_Backup_Name.json" ) sys.exit(1) convertBck(sys.argv[1],sys.argv[2]) sys.exit(0) if __name__ == "__main__" : main()