1
0

contact/invoice import: better exception handling.

see #3904
This commit is contained in:
SomberNight
2018-02-14 19:42:35 +01:00
parent 7f04c30567
commit 909c063eb1
5 changed files with 38 additions and 8 deletions

View File

@@ -23,9 +23,12 @@
import re
import dns
import json
import traceback
import sys
from . import bitcoin
from . import dnssec
from .util import FileImportFailed, FileImportFailedEncrypted
class Contacts(dict):
@@ -51,8 +54,12 @@ class Contacts(dict):
try:
with open(path, 'r') as f:
d = self._validate(json.loads(f.read()))
except:
return
except json.decoder.JSONDecodeError:
traceback.print_exc(file=sys.stderr)
raise FileImportFailedEncrypted()
except BaseException:
traceback.print_exc(file=sys.stdout)
raise FileImportFailed()
self.update(d)
self.save()