aliases
This commit is contained in:
parent
d71d8d80ae
commit
382abc54a8
|
@ -19,7 +19,6 @@
|
|||
import re, sys, getpass
|
||||
|
||||
from optparse import OptionParser
|
||||
|
||||
from wallet import Wallet
|
||||
from interface import Interface
|
||||
|
||||
|
@ -29,6 +28,26 @@ _ud = re.compile('%([0-9a-hA-H]{2})', re.MULTILINE)
|
|||
urldecode = lambda x: _ud.sub(lambda m: chr(int(m.group(1), 16)), x)
|
||||
|
||||
|
||||
def alias(x):
|
||||
import urllib
|
||||
if wallet.is_valid(x):
|
||||
xx = x
|
||||
else:
|
||||
m = re.match('([\w\-\.]+)@((\w[\w\-]+\.)+[\w\-]+)', x)
|
||||
if m:
|
||||
url = 'http://' + m.group(2) + '/bitcoin.id/' + m.group(1)
|
||||
else:
|
||||
url = 'http://' + x + '/bitcoin.id'
|
||||
print url
|
||||
try:
|
||||
xx = urllib.urlopen(url).read().strip()
|
||||
except:
|
||||
xx = ''
|
||||
if not wallet.is_valid(xx):
|
||||
xx = ''
|
||||
return xx
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'payto', 'sendtx', 'password', 'newaddress', 'addresses', 'history', 'label', 'gui', 'mktx','seed','import','signmessage','verifymessage']
|
||||
|
||||
|
@ -58,9 +77,11 @@ if __name__ == '__main__':
|
|||
import gui
|
||||
gui.init_wallet(wallet)
|
||||
gui = gui.BitcoinGUI(wallet)
|
||||
|
||||
if re.match('^bitcoin:', cmd):
|
||||
|
||||
o = cmd[8:].split('?')
|
||||
address = o[0]
|
||||
address = alias(o[0])
|
||||
if len(o)>1:
|
||||
params = o[1].split('&')
|
||||
else:
|
||||
|
@ -75,18 +96,10 @@ if __name__ == '__main__':
|
|||
elif k == 'signature': signature = uv
|
||||
elif k == 'identity':
|
||||
identity = uv
|
||||
if wallet.is_valid(identity):
|
||||
signing_address = identity
|
||||
signing_address = alias(identity)
|
||||
else:
|
||||
import urllib
|
||||
url = 'http://'+identity+'/bitcoin.id'
|
||||
try:
|
||||
signing_address = urllib.urlopen(url).read().strip()
|
||||
except:
|
||||
# no need to display anything since verification will fail
|
||||
signing_address = ''
|
||||
print k,v
|
||||
|
||||
else: print k,v
|
||||
if k in ['identity','signature']:
|
||||
cmd = cmd.replace('&%s=%s'%(k,v),'')
|
||||
|
||||
|
|
Loading…
Reference in New Issue