From 5a76a0fc951371440216f4c7aab25f5b2f006ccd Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sun, 31 May 2015 14:42:16 +0200 Subject: [PATCH] hook openalias plugin to command line interface --- lib/util.py | 7 ++++++- plugins/__init__.py | 2 +- plugins/openalias.py | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/util.py b/lib/util.py index 212be18a..201aa978 100644 --- a/lib/util.py +++ b/lib/util.py @@ -464,6 +464,7 @@ class StoreDict(dict): import bitcoin +from plugins import run_hook class Contacts(StoreDict): def __init__(self, config): @@ -474,6 +475,10 @@ class Contacts(StoreDict): return k if k in self.keys(): _type, addr = self[k] - return addr + if _type == 'address': + return addr + out = run_hook('resolve_address', k) + if out: + return out raise Exception("invalid Bitcoin address", k) diff --git a/plugins/__init__.py b/plugins/__init__.py index 2ff3296f..b9a5a25f 100644 --- a/plugins/__init__.py +++ b/plugins/__init__.py @@ -73,7 +73,7 @@ descriptions = [ 'fullname': 'OpenAlias', 'description': _('Allow for payments to OpenAlias addresses.'), 'requires': [('dns', 'dnspython')], - 'available_for': ['qt'] + 'available_for': ['qt', 'cmdline'] }, { 'name': 'plot', diff --git a/plugins/openalias.py b/plugins/openalias.py index 938a87a0..e433258a 100644 --- a/plugins/openalias.py +++ b/plugins/openalias.py @@ -179,6 +179,10 @@ class Plugin(BasePlugin): return bool(d.exec_()) + @hook + def resolve_address(self, url): + return self.resolve(url)[0] + def resolve(self, url): '''Resolve OpenAlias address using url.''' self.print_error('[OA] Attempting to resolve OpenAlias data for ' + url)