add script to revert BLOB-keys into TEXT-keys
This commit is contained in:
parent
07953592aa
commit
31dcbd6d5f
3
revert_blob_to_text.sh
Executable file
3
revert_blob_to_text.sh
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
python3 pybitmessage/revert_blob_to_text.py "$@"
|
52
src/revert_blob_to_text.py
Normal file
52
src/revert_blob_to_text.py
Normal file
|
@ -0,0 +1,52 @@
|
|||
import helper_startup
|
||||
import state
|
||||
import shutil
|
||||
import sqlite3
|
||||
|
||||
expected_ver = 11
|
||||
|
||||
print("Looking up database file..")
|
||||
helper_startup.loadConfig()
|
||||
db_path = state.appdata + "messages.dat"
|
||||
print("Database path: {}".format(db_path))
|
||||
db_backup_path = db_path + ".blob-keys"
|
||||
print("Backup path: {}".format(db_backup_path))
|
||||
shutil.copyfile(db_path, db_backup_path)
|
||||
print("Copied to backup")
|
||||
|
||||
print()
|
||||
|
||||
print("Open the database")
|
||||
conn = sqlite3.connect(db_path)
|
||||
cur = conn.cursor()
|
||||
|
||||
cur.execute("SELECT value FROM settings WHERE key='version';")
|
||||
ver = int(cur.fetchall()[0][0])
|
||||
print("PyBitmessage database version: {}".format(ver))
|
||||
if ver != expected_ver:
|
||||
print("Error: version must be {}".format(expected_ver))
|
||||
conn.close()
|
||||
print("Quitting..")
|
||||
quit()
|
||||
print("Version OK")
|
||||
|
||||
print()
|
||||
|
||||
print("Converting..")
|
||||
q = "UPDATE inbox SET msgid=CAST(msgid AS TEXT), sighash=CAST(sighash AS TEXT);"
|
||||
print(q)
|
||||
cur.execute(q)
|
||||
q = "UPDATE pubkeys SET transmitdata=CAST(transmitdata AS TEXT);"
|
||||
print(q)
|
||||
cur.execute(q)
|
||||
q = "UPDATE sent SET msgid=CAST(msgid AS TEXT), toripe=CAST(toripe AS TEXT), ackdata=CAST(ackdata AS TEXT);"
|
||||
print(q)
|
||||
cur.execute(q)
|
||||
|
||||
print("Commiting..")
|
||||
conn.commit()
|
||||
print("Conversion done")
|
||||
|
||||
print("Close the database")
|
||||
conn.close()
|
||||
print("Finished")
|
Reference in New Issue
Block a user