fix delete_contact

This commit is contained in:
ThomasV 2015-03-31 11:29:18 +02:00
parent 27d871277a
commit 4d7b68658b
1 changed files with 4 additions and 23 deletions

View File

@ -159,7 +159,7 @@ class Abstract_Wallet(object):
self.seed = storage.get('seed', '') # encrypted
self.labels = storage.get('labels', {})
self.frozen_addresses = storage.get('frozen_addresses',[])
self.addressbook = storage.get('contacts', [])
self.addressbook = set(storage.get('contacts', []))
self.history = storage.get('addr_history',{}) # address -> list(txid, height)
self.fee_per_kb = int(storage.get('fee_per_kb', RECOMMENDED_FEE))
@ -381,34 +381,19 @@ class Abstract_Wallet(object):
return self.history.values() != [[]] * len(self.history)
def add_contact(self, address, label=None):
self.addressbook.append(address)
self.storage.put('contacts', self.addressbook, True)
self.addressbook.add(address)
self.storage.put('contacts', list(self.addressbook), True)
if label:
self.set_label(address, label)
def delete_contact(self, addr):
if addr in self.addressbook:
self.addressbook.remove(addr)
self.storage.put('addressbook', self.addressbook, True)
def fill_addressbook(self):
# todo: optimize this
for tx_hash, tx in self.transactions.viewitems():
_, is_send, _, _ = self.get_tx_value(tx)
if is_send:
for addr in tx.get_output_addresses():
if not self.is_mine(addr) and addr not in self.addressbook:
self.addressbook.append(addr)
# redo labels
# self.update_tx_labels()
self.storage.put('contacts', list(self.addressbook), True)
def get_num_tx(self, address):
""" return number of transactions where address is involved """
return len(self.history.get(address, []))
#n = 0
#for tx in self.transactions.values():
# if address in tx.get_output_addresses(): n += 1
#return n
def get_tx_delta(self, tx_hash, address):
"effect of tx on address"
@ -1316,10 +1301,6 @@ class Deterministic_Wallet(Abstract_Wallet):
else:
self.synchronize()
# disable this because it crashes android
#self.fill_addressbook()
def is_beyond_limit(self, address, account, is_change):
if type(account) == ImportedAccount:
return False