Browse Source

mark 'blockchain_headers' file as sparse on windows

based on fyookball/electrum@647a6cc26dfe2d0d942159207c6e72e1b0e8d94d
3.3.3.1
SomberNight 6 years ago
parent
commit
cedd518aea
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 3
      electrum/network.py
  2. 10
      electrum/util.py

3
electrum/network.py

@ -675,9 +675,10 @@ class Network(PrintError):
length = 80 * len(constants.net.CHECKPOINTS) * 2016
if not os.path.exists(filename) or os.path.getsize(filename) < length:
with open(filename, 'wb') as f:
if length>0:
if length > 0:
f.seek(length-1)
f.write(b'\x00')
util.ensure_sparse_file(filename)
with b.lock:
b.update_size()

10
electrum/util.py

@ -383,6 +383,16 @@ def android_check_data_dir():
return data_dir
def ensure_sparse_file(filename):
# On modern Linux, no need to do anything.
# On Windows, need to explicitly mark file.
if os.name == "nt":
try:
os.system('fsutil sparse setflag "{}" 1'.format(filename))
except Exception as e:
print_error('error marking file {} as sparse: {}'.format(filename, e))
def get_headers_dir(config):
return android_headers_dir() if 'ANDROID_DATA' in os.environ else config.path

Loading…
Cancel
Save