Browse Source
mark 'blockchain_headers' file as sparse on windows
based on fyookball/electrum@647a6cc26dfe2d0d942159207c6e72e1b0e8d94d
3.3.3.1
SomberNight
6 years ago
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
2 changed files with
12 additions and
1 deletions
-
electrum/network.py
-
electrum/util.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() |
|
|
|
|
|
|
|
|
|
@ -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 |
|
|
|
|
|
|
|