def parse_URI(uri):
import urlparse
+ import urllib
import bitcoin
from decimal import Decimal
assert u.scheme == 'bitcoin'
address = u.path
- assert bitcoin.is_address(address)
+ valid_address = bitcoin.is_address(address)
pq = urlparse.parse_qs(u.query)
if 'label' in pq:
label = pq['label'][0]
if 'r' in pq:
- request_url = pq['r'][0]
+ request_url = urllib.quote(pq['r'][0], '/:?')
+ if request_url != '':
+ return address, amount, label, message, request_url
+
+ assert valid_address
+
return address, amount, label, message, request_url