simplify deletions
This commit is contained in:
parent
fbddb2a65b
commit
35c0c3251d
71
pywallet.py
71
pywallet.py
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#-*- coding: utf-8 -*-
|
#-*- coding: utf-8 -*-
|
||||||
pywversion="2.0.9"
|
pywversion="2.0.10"
|
||||||
never_update=False
|
never_update=False
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1776,37 +1776,36 @@ def delete_from_wallet(db_env, walletfile, typedel, kd):
|
|||||||
if not isinstance(kd, list):
|
if not isinstance(kd, list):
|
||||||
kd=[kd]
|
kd=[kd]
|
||||||
|
|
||||||
for i in range(len(kd)):
|
if typedel=='tx' and kd!=['all']:
|
||||||
keydel=kd[i]
|
for keydel in kd:
|
||||||
for (key, value) in db.items():
|
db.delete('\x02\x74\x78'+keydel.decode('hex')[::-1])
|
||||||
kds.clear(); kds.write(key)
|
deleted_items+=1
|
||||||
vds.clear(); vds.write(value)
|
|
||||||
type = kds.read_string()
|
|
||||||
|
|
||||||
if typedel == "tx":
|
else:
|
||||||
if type == "tx":
|
for i,keydel in enumerate(kd):
|
||||||
if keydel == "all" or keydel == inversetxid(kds.read_bytes(32).encode('hex_codec')):
|
for (key, value) in db.items():
|
||||||
db.delete(key)
|
kds.clear(); kds.write(key)
|
||||||
deleted_items+=1
|
vds.clear(); vds.write(value)
|
||||||
if keydel == "all":
|
type = kds.read_string()
|
||||||
continue
|
|
||||||
else:
|
if typedel == "tx" and type == "tx":
|
||||||
break
|
db.delete(key)
|
||||||
elif typedel == "key":
|
deleted_items+=1
|
||||||
if type == "key" or type == "ckey":
|
elif typedel == "key":
|
||||||
if keydel == public_key_to_bc_address(kds.read_bytes(kds.read_compact_size())):
|
if type == "key" or type == "ckey":
|
||||||
db.delete(key)
|
if keydel == public_key_to_bc_address(kds.read_bytes(kds.read_compact_size())):
|
||||||
deleted_items+=1
|
db.delete(key)
|
||||||
elif type == "pool":
|
deleted_items+=1
|
||||||
vds.read_int32()
|
elif type == "pool":
|
||||||
vds.read_int64()
|
vds.read_int32()
|
||||||
if keydel == public_key_to_bc_address(vds.read_bytes(vds.read_compact_size())):
|
vds.read_int64()
|
||||||
db.delete(key)
|
if keydel == public_key_to_bc_address(vds.read_bytes(vds.read_compact_size())):
|
||||||
deleted_items+=1
|
db.delete(key)
|
||||||
elif type == "name":
|
deleted_items+=1
|
||||||
if keydel == kds.read_string():
|
elif type == "name":
|
||||||
db.delete(key)
|
if keydel == kds.read_string():
|
||||||
deleted_items+=1
|
db.delete(key)
|
||||||
|
deleted_items+=1
|
||||||
|
|
||||||
|
|
||||||
db.close()
|
db.close()
|
||||||
@ -4531,9 +4530,13 @@ if __name__ == '__main__':
|
|||||||
filin.close()
|
filin.close()
|
||||||
typedel=content[0]
|
typedel=content[0]
|
||||||
kd=filter(bool,content[1:])
|
kd=filter(bool,content[1:])
|
||||||
r=delete_from_wallet(db_env, determine_db_name(), typedel, kd)
|
try:
|
||||||
print '%d element%s deleted'%(r, 's'*(int(r>1)))
|
r=delete_from_wallet(db_env, determine_db_name(), typedel, kd)
|
||||||
exit(0)
|
print '%d element%s deleted'%(r, 's'*(int(r>1)))
|
||||||
|
exit(0)
|
||||||
|
except:
|
||||||
|
print "Error: do not try to delete a non-existing transaction."
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
read_wallet(json_db, db_env, determine_db_name(), True, True, "", options.dumpbalance is not None)
|
read_wallet(json_db, db_env, determine_db_name(), True, True, "", options.dumpbalance is not None)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user