cleanup six (no python2 support)
This commit is contained in:
parent
f8c592f743
commit
216e9403be
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
from collections import defaultdict, namedtuple
|
from collections import defaultdict, namedtuple
|
||||||
from math import floor, log10
|
from math import floor, log10
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
|
@ -48,8 +47,7 @@ from .transaction import Transaction
|
||||||
from .import paymentrequest
|
from .import paymentrequest
|
||||||
from .paymentrequest import PR_PAID, PR_UNPAID, PR_UNKNOWN, PR_EXPIRED
|
from .paymentrequest import PR_PAID, PR_UNPAID, PR_UNKNOWN, PR_EXPIRED
|
||||||
from .import contacts
|
from .import contacts
|
||||||
if six.PY3:
|
|
||||||
long = int
|
|
||||||
known_commands = {}
|
known_commands = {}
|
||||||
|
|
||||||
|
|
||||||
|
@ -739,7 +737,7 @@ arg_types = {
|
||||||
'num': int,
|
'num': int,
|
||||||
'nbits': int,
|
'nbits': int,
|
||||||
'imax': int,
|
'imax': int,
|
||||||
'entropy': long,
|
'entropy': int,
|
||||||
'tx': tx_from_str,
|
'tx': tx_from_str,
|
||||||
'pubkeys': json_loads,
|
'pubkeys': json_loads,
|
||||||
'jsontx': json_loads,
|
'jsontx': json_loads,
|
||||||
|
|
|
@ -25,7 +25,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import ast
|
import ast
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
|
|
||||||
# Check DNSSEC trust chain.
|
# Check DNSSEC trust chain.
|
||||||
|
@ -75,7 +74,7 @@ def python_validate_rrsig(rrset, rrsig, keys, origin=None, now=None):
|
||||||
from dns.dnssec import ValidationFailure, ECDSAP256SHA256, ECDSAP384SHA384
|
from dns.dnssec import ValidationFailure, ECDSAP256SHA256, ECDSAP384SHA384
|
||||||
from dns.dnssec import _find_candidate_keys, _make_hash, _is_ecdsa, _is_rsa, _to_rdata, _make_algorithm_id
|
from dns.dnssec import _find_candidate_keys, _make_hash, _is_ecdsa, _is_rsa, _to_rdata, _make_algorithm_id
|
||||||
|
|
||||||
if isinstance(origin, six.text_type):
|
if isinstance(origin, str):
|
||||||
origin = dns.name.from_text(origin, dns.name.root)
|
origin = dns.name.from_text(origin, dns.name.root)
|
||||||
|
|
||||||
for candidate_key in _find_candidate_keys(keys, rrsig):
|
for candidate_key in _find_candidate_keys(keys, rrsig):
|
||||||
|
|
|
@ -3,7 +3,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import inspect
|
import inspect
|
||||||
import requests
|
import requests
|
||||||
|
|
|
@ -27,17 +27,12 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import gettext, os, six
|
import gettext, os
|
||||||
|
|
||||||
LOCALE_DIR = os.path.join(os.path.dirname(__file__), 'locale')
|
LOCALE_DIR = os.path.join(os.path.dirname(__file__), 'locale')
|
||||||
language = gettext.translation('electrum', LOCALE_DIR, fallback = True)
|
language = gettext.translation('electrum', LOCALE_DIR, fallback = True)
|
||||||
|
|
||||||
if six.PY2:
|
def _(x):
|
||||||
def _(x):
|
|
||||||
global language
|
|
||||||
return language.ugettext(x)
|
|
||||||
else:
|
|
||||||
def _(x):
|
|
||||||
global language
|
global language
|
||||||
return language.gettext(x)
|
return language.gettext(x)
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import socket
|
import socket
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import hmac
|
import hmac
|
||||||
|
|
|
@ -3,7 +3,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
# from http://eli.thegreenplace.net/2009/03/07/computing-modular-square-roots-in-python/
|
# from http://eli.thegreenplace.net/2009/03/07/computing-modular-square-roots-in-python/
|
||||||
|
|
||||||
def modular_sqrt(a, p):
|
def modular_sqrt(a, p):
|
||||||
|
|
|
@ -25,9 +25,8 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import time
|
import time
|
||||||
from six.moves import queue
|
import queue
|
||||||
import os
|
import os
|
||||||
import errno
|
import errno
|
||||||
import sys
|
import sys
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
# list of words from http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/Contemporary_poetry
|
# list of words from http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/Contemporary_poetry
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
|
@ -38,7 +37,7 @@ import traceback
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from six.moves import urllib_parse
|
import urllib.parse
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -78,7 +77,7 @@ PR_PAID = 3 # send and propagated
|
||||||
|
|
||||||
|
|
||||||
def get_payment_request(url):
|
def get_payment_request(url):
|
||||||
u = urllib_parse.urlparse(url)
|
u = urllib.parse.urlparse(url)
|
||||||
error = None
|
error = None
|
||||||
if u.scheme in ['http', 'https']:
|
if u.scheme in ['http', 'https']:
|
||||||
try:
|
try:
|
||||||
|
@ -277,7 +276,7 @@ class PaymentRequest:
|
||||||
ref_out.script = transaction.Transaction.pay_script(TYPE_ADDRESS, refund_addr)
|
ref_out.script = transaction.Transaction.pay_script(TYPE_ADDRESS, refund_addr)
|
||||||
paymnt.memo = "Paid using Electrum"
|
paymnt.memo = "Paid using Electrum"
|
||||||
pm = paymnt.SerializeToString()
|
pm = paymnt.SerializeToString()
|
||||||
payurl = urllib_parse.urlparse(pay_det.payment_url)
|
payurl = urllib.parse.urlparse(pay_det.payment_url)
|
||||||
try:
|
try:
|
||||||
r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=ca_path)
|
r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=ca_path)
|
||||||
except requests.exceptions.SSLError:
|
except requests.exceptions.SSLError:
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
# This module uses code from TLSLlite
|
# This module uses code from TLSLlite
|
||||||
# TLSLite Author: Trevor Perrin)
|
# TLSLite Author: Trevor Perrin)
|
||||||
|
|
|
@ -38,7 +38,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import os
|
import os
|
||||||
import math
|
import math
|
||||||
import base64
|
import base64
|
||||||
|
|
|
@ -3,7 +3,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
import ast
|
import ast
|
||||||
import json
|
import json
|
||||||
import threading
|
import threading
|
||||||
|
@ -257,13 +256,7 @@ def read_system_config(path=SYSTEM_CONFIG_PATH):
|
||||||
"""Parse and return the system config settings in /etc/electrum.conf."""
|
"""Parse and return the system config settings in /etc/electrum.conf."""
|
||||||
result = {}
|
result = {}
|
||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
try:
|
import configparser
|
||||||
from six.moves import configparser
|
|
||||||
# import ConfigParser
|
|
||||||
except ImportError:
|
|
||||||
print("cannot parse electrum.conf. please install ConfigParser")
|
|
||||||
return
|
|
||||||
|
|
||||||
p = configparser.ConfigParser()
|
p = configparser.ConfigParser()
|
||||||
try:
|
try:
|
||||||
p.read(path)
|
p.read(path)
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
from threading import Lock
|
from threading import Lock
|
||||||
import hashlib
|
import hashlib
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,6 @@ import struct
|
||||||
# Workalike python implementation of Bitcoin's CDataStream class.
|
# Workalike python implementation of Bitcoin's CDataStream class.
|
||||||
#
|
#
|
||||||
import struct
|
import struct
|
||||||
from six import StringIO
|
|
||||||
import random
|
import random
|
||||||
from .keystore import xpubkey_to_address, xpubkey_to_pubkey
|
from .keystore import xpubkey_to_address, xpubkey_to_pubkey
|
||||||
|
|
||||||
|
|
62
lib/util.py
62
lib/util.py
|
@ -36,14 +36,9 @@ import threading
|
||||||
|
|
||||||
from .i18n import _
|
from .i18n import _
|
||||||
|
|
||||||
import six
|
|
||||||
from six.moves import queue, urllib_parse
|
|
||||||
|
|
||||||
try:
|
import urllib.request, urllib.parse, urllib.error
|
||||||
import urllib.parse
|
import queue
|
||||||
import urllib.request, urllib.parse, urllib.error
|
|
||||||
except ImportError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
base_units = {'BTC':8, 'mBTC':5, 'uBTC':2}
|
base_units = {'BTC':8, 'mBTC':5, 'uBTC':2}
|
||||||
fee_levels = [_('Within 25 blocks'), _('Within 10 blocks'), _('Within 5 blocks'), _('Within 2 blocks'), _('In the next block')]
|
fee_levels = [_('Within 25 blocks'), _('Within 10 blocks'), _('Within 5 blocks'), _('Within 2 blocks'), _('In the next block')]
|
||||||
|
@ -254,18 +249,9 @@ def assert_bytes(*args):
|
||||||
"""
|
"""
|
||||||
porting helper, assert args type
|
porting helper, assert args type
|
||||||
"""
|
"""
|
||||||
if six.PY2:
|
|
||||||
for x in args:
|
|
||||||
assert isinstance(x, (bytes, bytearray, str))
|
|
||||||
return
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if six.PY3:
|
|
||||||
for x in args:
|
for x in args:
|
||||||
assert isinstance(x, (bytes, bytearray))
|
assert isinstance(x, (bytes, bytearray))
|
||||||
else:
|
|
||||||
for x in args:
|
|
||||||
assert isinstance(x, bytearray)
|
|
||||||
except:
|
except:
|
||||||
print('assert bytes failed', list(map(type, args)))
|
print('assert bytes failed', list(map(type, args)))
|
||||||
raise
|
raise
|
||||||
|
@ -276,7 +262,7 @@ def assert_str(*args):
|
||||||
porting helper, assert args type
|
porting helper, assert args type
|
||||||
"""
|
"""
|
||||||
for x in args:
|
for x in args:
|
||||||
assert isinstance(x, six.string_types)
|
assert isinstance(x, str)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -310,11 +296,8 @@ def hfu(x):
|
||||||
:param x: str
|
:param x: str
|
||||||
:return: str
|
:return: str
|
||||||
"""
|
"""
|
||||||
if six.PY3:
|
|
||||||
assert_bytes(x)
|
assert_bytes(x)
|
||||||
return binascii.hexlify(x)
|
return binascii.hexlify(x)
|
||||||
else:
|
|
||||||
return x.encode('hex')
|
|
||||||
|
|
||||||
|
|
||||||
def bfh(x):
|
def bfh(x):
|
||||||
|
@ -323,7 +306,7 @@ def bfh(x):
|
||||||
:param x: str
|
:param x: str
|
||||||
:rtype: bytes
|
:rtype: bytes
|
||||||
"""
|
"""
|
||||||
if isinstance(x, six.string_types):
|
if isinstance(x, str):
|
||||||
return bfh_builder(x)
|
return bfh_builder(x)
|
||||||
# TODO: check for iterator interface
|
# TODO: check for iterator interface
|
||||||
elif isinstance(x, (list, tuple, map)):
|
elif isinstance(x, (list, tuple, map)):
|
||||||
|
@ -340,15 +323,8 @@ def bh2u(x):
|
||||||
:param x: bytes
|
:param x: bytes
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
if six.PY3:
|
|
||||||
assert_bytes(x)
|
assert_bytes(x)
|
||||||
# x = to_bytes(x, 'ascii')
|
|
||||||
return binascii.hexlify(x).decode('ascii')
|
return binascii.hexlify(x).decode('ascii')
|
||||||
else:
|
|
||||||
if isinstance(x, bytearray):
|
|
||||||
return binascii.hexlify(x)
|
|
||||||
else:
|
|
||||||
return x.encode('hex')
|
|
||||||
|
|
||||||
|
|
||||||
def user_dir():
|
def user_dir():
|
||||||
|
@ -392,8 +368,6 @@ def format_satoshis(x, is_diff=False, num_zeros = 0, decimal_point = 8, whitespa
|
||||||
if whitespaces:
|
if whitespaces:
|
||||||
result += " " * (decimal_point - len(fract_part))
|
result += " " * (decimal_point - len(fract_part))
|
||||||
result = " " * (15 - len(result)) + result
|
result = " " * (15 - len(result)) + result
|
||||||
if six.PY2:
|
|
||||||
result = result.decode('utf8')
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def timestamp_to_datetime(timestamp):
|
def timestamp_to_datetime(timestamp):
|
||||||
|
@ -529,7 +503,7 @@ def parse_URI(uri, on_pr=None):
|
||||||
raise BaseException("Not a bitcoin address")
|
raise BaseException("Not a bitcoin address")
|
||||||
return {'address': uri}
|
return {'address': uri}
|
||||||
|
|
||||||
u = urllib_parse.urlparse(uri)
|
u = urllib.parse.urlparse(uri)
|
||||||
if u.scheme != 'bitcoin':
|
if u.scheme != 'bitcoin':
|
||||||
raise BaseException("Not a bitcoin URI")
|
raise BaseException("Not a bitcoin URI")
|
||||||
address = u.path
|
address = u.path
|
||||||
|
@ -537,9 +511,9 @@ def parse_URI(uri, on_pr=None):
|
||||||
# python for android fails to parse query
|
# python for android fails to parse query
|
||||||
if address.find('?') > 0:
|
if address.find('?') > 0:
|
||||||
address, query = u.path.split('?')
|
address, query = u.path.split('?')
|
||||||
pq = urllib_parse.parse_qs(query)
|
pq = urllib.parse.parse_qs(query)
|
||||||
else:
|
else:
|
||||||
pq = urllib_parse.parse_qs(u.query)
|
pq = urllib.parse.parse_qs(u.query)
|
||||||
|
|
||||||
for k, v in pq.items():
|
for k, v in pq.items():
|
||||||
if len(v)!=1:
|
if len(v)!=1:
|
||||||
|
@ -560,10 +534,7 @@ def parse_URI(uri, on_pr=None):
|
||||||
amount = Decimal(am) * COIN
|
amount = Decimal(am) * COIN
|
||||||
out['amount'] = int(amount)
|
out['amount'] = int(amount)
|
||||||
if 'message' in out:
|
if 'message' in out:
|
||||||
if six.PY3:
|
|
||||||
out['message'] = out['message']
|
out['message'] = out['message']
|
||||||
else:
|
|
||||||
out['message'] = out['message'].decode('utf8')
|
|
||||||
out['memo'] = out['message']
|
out['memo'] = out['message']
|
||||||
if 'time' in out:
|
if 'time' in out:
|
||||||
out['time'] = int(out['time'])
|
out['time'] = int(out['time'])
|
||||||
|
@ -600,11 +571,9 @@ def create_URI(addr, amount, message):
|
||||||
if amount:
|
if amount:
|
||||||
query.append('amount=%s'%format_satoshis_plain(amount))
|
query.append('amount=%s'%format_satoshis_plain(amount))
|
||||||
if message:
|
if message:
|
||||||
if six.PY2 and type(message) == unicode:
|
|
||||||
message = message.encode('utf8')
|
|
||||||
query.append('message=%s'%urllib.parse.quote(message))
|
query.append('message=%s'%urllib.parse.quote(message))
|
||||||
p = urllib_parse.ParseResult(scheme='bitcoin', netloc='', path=addr, params='', query='&'.join(query), fragment='')
|
p = urllib.parse.ParseResult(scheme='bitcoin', netloc='', path=addr, params='', query='&'.join(query), fragment='')
|
||||||
return urllib_parse.urlunparse(p)
|
return urllib.parse.urlunparse(p)
|
||||||
|
|
||||||
|
|
||||||
# Python bug (http://bugs.python.org/issue1927) causes raw_input
|
# Python bug (http://bugs.python.org/issue1927) causes raw_input
|
||||||
|
@ -615,14 +584,9 @@ def raw_input(prompt=None):
|
||||||
sys.stdout.write(prompt)
|
sys.stdout.write(prompt)
|
||||||
return builtin_raw_input()
|
return builtin_raw_input()
|
||||||
|
|
||||||
if six.PY2:
|
import builtins
|
||||||
import __builtin__
|
builtin_raw_input = builtins.input
|
||||||
builtin_raw_input = __builtin__.raw_input
|
builtins.input = raw_input
|
||||||
__builtin__.raw_input = raw_input
|
|
||||||
else:
|
|
||||||
import builtins
|
|
||||||
builtin_raw_input = builtins.input
|
|
||||||
builtins.input = raw_input
|
|
||||||
|
|
||||||
|
|
||||||
def parse_json(message):
|
def parse_json(message):
|
||||||
|
@ -772,7 +736,7 @@ def check_www_dir(rdir):
|
||||||
"https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"
|
"https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"
|
||||||
]
|
]
|
||||||
for URL in files:
|
for URL in files:
|
||||||
path = urllib_parse.urlsplit(URL).path
|
path = urllib.parse.urlsplit(URL).path
|
||||||
filename = os.path.basename(path)
|
filename = os.path.basename(path)
|
||||||
path = os.path.join(rdir, filename)
|
path = os.path.join(rdir, filename)
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
|
|
|
@ -27,8 +27,7 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
import queue
|
||||||
from six.moves import queue
|
|
||||||
import threading, os, json, time
|
import threading, os, json, time
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -27,7 +27,6 @@ from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import six
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import sys
|
import sys
|
||||||
from . import util
|
from . import util
|
||||||
|
|
Loading…
Reference in New Issue