contrib: Remove confusing and redundant encoding from IO
The encoding arg is confusing, because it is not applied consistently for all IO. Also, it is useless, as the majority of files are ASCII encoded, which are fine to encode and decode with any mode. Moreover, UTF-8 is already required for most scripts to work properly, so setting the encoding twice is redundant. So remove the encoding from most IO. It would be fine to remove from all IO, however I kept it for two files: * contrib/asmap/asmap-tool.py: This specifically looks for utf-8 encoding errors, so it makes sense to sepecify the utf-8 encoding explicitly. * test/functional/test_framework/test_node.py: Reading the debug log in text mode specifically counts the utf-8 characters (not bytes), so it makes sense to specify the utf-8 encoding explicitly.
This commit is contained in:
54 files changed
+127
-128
No files matched your search
@@ -55,7 +55,7 @@ class AuthServiceProxyWrapper():
|
||||
rpc_method = self.auth_service_proxy_instance._service_name
|
||||
|
||||
if self.coverage_logfile:
|
||||
with open(self.coverage_logfile, 'a+', encoding='utf8') as f:
|
||||
with open(self.coverage_logfile, 'a+') as f:
|
||||
f.write("%s\n" % rpc_method)
|
||||
|
||||
def __truediv__(self, relative_uri):
|
||||
@@ -107,7 +107,7 @@ def write_all_rpc_commands(dirname: str, node: AuthServiceProxy) -> bool:
|
||||
if line and not line.startswith('='):
|
||||
commands.add("%s\n" % line.split()[0])
|
||||
|
||||
with open(filename, 'w', encoding='utf8') as f:
|
||||
with open(filename, 'w') as f:
|
||||
f.writelines(list(commands))
|
||||
|
||||
return True
|
||||
@@ -134,7 +134,7 @@ class TestFrameworkEllSwift(unittest.TestCase):
|
||||
def test_elligator_encode_testvectors(self):
|
||||
"""Implement the BIP324 test vectors for ellswift encoding (read from xswiftec_inv_test_vectors.csv)."""
|
||||
vectors_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'xswiftec_inv_test_vectors.csv')
|
||||
with open(vectors_file, newline='', encoding='utf8') as csvfile:
|
||||
with open(vectors_file, newline='') as csvfile:
|
||||
reader = csv.DictReader(csvfile)
|
||||
for row in reader:
|
||||
u = FE.from_bytes(bytes.fromhex(row['u']))
|
||||
@@ -150,7 +150,7 @@ class TestFrameworkEllSwift(unittest.TestCase):
|
||||
def test_elligator_decode_testvectors(self):
|
||||
"""Implement the BIP324 test vectors for ellswift decoding (read from ellswift_decode_test_vectors.csv)."""
|
||||
vectors_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'ellswift_decode_test_vectors.csv')
|
||||
with open(vectors_file, newline='', encoding='utf8') as csvfile:
|
||||
with open(vectors_file, newline='') as csvfile:
|
||||
reader = csv.DictReader(csvfile)
|
||||
for row in reader:
|
||||
encoding = bytes.fromhex(row['ellswift'])
|
||||
|
||||
@@ -316,7 +316,7 @@ class TestFrameworkKey(unittest.TestCase):
|
||||
"""Implement the BIP340 test vectors (read from bip340_test_vectors.csv)."""
|
||||
num_tests = 0
|
||||
vectors_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'bip340_test_vectors.csv')
|
||||
with open(vectors_file, newline='', encoding='utf8') as csvfile:
|
||||
with open(vectors_file, newline='') as csvfile:
|
||||
reader = csv.reader(csvfile)
|
||||
next(reader)
|
||||
for row in reader:
|
||||
|
||||
@@ -69,7 +69,7 @@ def netstat(typ='tcp'):
|
||||
To get pid of all network process running on system, you must run this script
|
||||
as superuser
|
||||
'''
|
||||
with open('/proc/net/'+typ,'r',encoding='utf8') as f:
|
||||
with open('/proc/net/'+typ,'r') as f:
|
||||
content = f.readlines()
|
||||
content.pop(0)
|
||||
result = []
|
||||
|
||||
@@ -751,7 +751,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
self.log = logging.getLogger('TestFramework')
|
||||
self.log.setLevel(logging.DEBUG)
|
||||
# Create file handler to log all messages
|
||||
fh = logging.FileHandler(self.options.tmpdir + '/test_framework.log', encoding='utf-8')
|
||||
fh = logging.FileHandler(self.options.tmpdir + '/test_framework.log')
|
||||
fh.setLevel(logging.DEBUG)
|
||||
# Create console handler to log messages to stderr. By default this logs only error messages, but can be configured with --loglevel.
|
||||
ch = logging.StreamHandler(sys.stdout)
|
||||
|
||||
@@ -506,13 +506,13 @@ class TestNode():
|
||||
The substitutions are passed as a list of search-replace-tuples, e.g.
|
||||
[("old", "new"), ("foo", "bar"), ...]
|
||||
"""
|
||||
with open(self.bitcoinconf, 'r', encoding='utf8') as conf:
|
||||
with open(self.bitcoinconf, 'r') as conf:
|
||||
conf_data = conf.read()
|
||||
for replacement in replacements:
|
||||
assert_equal(len(replacement), 2)
|
||||
old, new = replacement[0], replacement[1]
|
||||
conf_data = conf_data.replace(old, new)
|
||||
with open(self.bitcoinconf, 'w', encoding='utf8') as conf:
|
||||
with open(self.bitcoinconf, 'w') as conf:
|
||||
conf.write(conf_data)
|
||||
|
||||
@property
|
||||
|
||||
@@ -528,7 +528,7 @@ def write_config(config_path, *, n, chain, extra_config="", disable_autoconnect=
|
||||
else:
|
||||
chain_name_conf_arg = chain
|
||||
chain_name_conf_section = chain
|
||||
with open(config_path, 'w', encoding='utf8') as f:
|
||||
with open(config_path, 'w') as f:
|
||||
if chain_name_conf_arg:
|
||||
f.write("{}=1\n".format(chain_name_conf_arg))
|
||||
if chain_name_conf_section:
|
||||
@@ -594,7 +594,7 @@ def get_temp_default_datadir(temp_dir: pathlib.Path) -> tuple[dict, pathlib.Path
|
||||
|
||||
|
||||
def append_config(datadir, options):
|
||||
with open(os.path.join(datadir, "bitcoin.conf"), 'a', encoding='utf8') as f:
|
||||
with open(os.path.join(datadir, "bitcoin.conf"), 'a') as f:
|
||||
for option in options:
|
||||
f.write(option + "\n")
|
||||
|
||||
@@ -603,7 +603,7 @@ def get_auth_cookie(datadir, chain):
|
||||
user = None
|
||||
password = None
|
||||
if os.path.isfile(os.path.join(datadir, "bitcoin.conf")):
|
||||
with open(os.path.join(datadir, "bitcoin.conf"), 'r', encoding='utf8') as f:
|
||||
with open(os.path.join(datadir, "bitcoin.conf"), 'r') as f:
|
||||
for line in f:
|
||||
if line.startswith("rpcuser="):
|
||||
assert user is None # Ensure that there is only one rpcuser line
|
||||
@@ -612,7 +612,7 @@ def get_auth_cookie(datadir, chain):
|
||||
assert password is None # Ensure that there is only one rpcpassword line
|
||||
password = line.split("=")[1].strip("\n")
|
||||
try:
|
||||
with open(os.path.join(datadir, chain, ".cookie"), 'r', encoding="ascii") as f:
|
||||
with open(os.path.join(datadir, chain, ".cookie"), 'r') as f:
|
||||
userpass = f.read()
|
||||
split_userpass = userpass.split(':')
|
||||
user = split_userpass[0]
|
||||
|
||||
Reference in new issue
Block a user