1
0

clean up prev commit

This commit is contained in:
SomberNight
2018-02-21 18:55:37 +01:00
parent 5997c18aef
commit 500c0493d0
7 changed files with 60 additions and 54 deletions

View File

@@ -25,7 +25,6 @@ import dns
import json
import traceback
import sys
import os
from . import bitcoin
from . import dnssec
@@ -52,14 +51,14 @@ class Contacts(dict):
self.storage.put('contacts', dict(self))
def import_file(self, path):
import_meta(path, self.validate, self.load_meta)
import_meta(path, self._validate, self.load_meta)
def load_meta(self, data):
self.update(data)
self.save()
def export_file(self, fileName):
export_meta(self, fileName)
def export_file(self, filename):
export_meta(self, filename)
def __setitem__(self, key, value):
dict.__setitem__(self, key, value)
@@ -117,14 +116,14 @@ class Contacts(dict):
except AttributeError:
return None
def validate(self, data):
for k,v in list(data.items()):
def _validate(self, data):
for k, v in list(data.items()):
if k == 'contacts':
return self._validate(v)
if not bitcoin.is_address(k):
data.pop(k)
else:
_type,_ = v
_type, _ = v
if _type != 'address':
data.pop(k)
return data

View File

@@ -468,31 +468,29 @@ class InvoiceStore(object):
continue
def import_file(self, path):
import_meta(path, self.validate, self.on_import)
#TODO: Invoice import validation
def validate(self, data):
return data
def validate(data):
return data # TODO
import_meta(path, validate, self.on_import)
def on_import(self, data):
self.load(data)
self.save()
def export_file(self, fileName):
export_meta(self.before_save(), fileName)
def export_file(self, filename):
export_meta(self.dump(), filename)
def before_save(self):
l= {}
def dump(self):
d = {}
for k, pr in self.invoices.items():
l[k] = {
d[k] = {
'hex': bh2u(pr.raw),
'requestor': pr.requestor,
'txid': pr.tx
}
return l
return d
def save(self):
self.storage.put('invoices', self.before_save())
self.storage.put('invoices', self.dump())
def get_status(self, key):
pr = self.get(key)

View File

@@ -66,12 +66,14 @@ class FileImportFailed(Exception):
def __str__(self):
return _("Failed to import from file.") + "\n" + self.message
class FileExportFailed(Exception):
def __init__(self, reason=''):
self.message = str(reason)
def __init__(self, message=''):
self.message = str(message)
def __str__(self):
return( _("Failed to export to file.") + "\n" + self.message )
return _("Failed to export to file.") + "\n" + self.message
# Throw this exception to unwind the stack like when an error occurs.
# However unlike other exceptions the user won't be informed.
@@ -788,6 +790,7 @@ def setup_thread_excepthook():
def versiontuple(v):
return tuple(map(int, (v.split("."))))
def import_meta(path, validater, load_meta):
try:
with open(path, 'r') as f:
@@ -798,13 +801,14 @@ def import_meta(path, validater, load_meta):
traceback.print_exc(file=sys.stderr)
raise FileImportFailed(_("Invalid JSON code."))
except BaseException as e:
traceback.print_exc(file=sys.stdout)
raise FileImportFailed(e)
traceback.print_exc(file=sys.stdout)
raise FileImportFailed(e)
def export_meta(meta, fileName):
try:
with open(fileName, 'w+') as f:
try:
with open(fileName, 'w+') as f:
json.dump(meta, f, indent=4, sort_keys=True)
except (IOError, os.error) as reason:
traceback.print_exc(file=sys.stderr)
raise FileExportFailed(str(reason))
except (IOError, os.error) as e:
traceback.print_exc(file=sys.stderr)
raise FileExportFailed(e)