From 158bc2471659fdd87f451ddaecfd802a42607405 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 27 Mar 2023 10:50:18 +0000 Subject: [PATCH] fileutil.py: reimplement get_lines_from_file() --- mmgen/fileutil.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/mmgen/fileutil.py b/mmgen/fileutil.py index a59dc678..1a3d5d2f 100755 --- a/mmgen/fileutil.py +++ b/mmgen/fileutil.py @@ -313,17 +313,6 @@ def get_data_from_file( return data -def _mmgen_decrypt_file_maybe(fn,desc='data',quiet=False,silent=False): - d = get_data_from_file(fn,desc=desc,binary=True,quiet=quiet,silent=silent) - from .crypto import mmenc_ext - have_enc_ext = get_extension(fn) == mmenc_ext - if have_enc_ext or not is_utf8(d): - m = ('Attempting to decrypt','Decrypting')[have_enc_ext] - qmsg(f'{m} {desc} {fn!r}') - from .crypto import mmgen_decrypt_retry - d = mmgen_decrypt_retry(d,desc) - return d - def get_lines_from_file( fn, desc = 'data', @@ -331,9 +320,19 @@ def get_lines_from_file( quiet = False, silent = False ): - dec = _mmgen_decrypt_file_maybe(fn,desc=desc,quiet=quiet,silent=silent) - ret = dec.decode().splitlines() + def decrypt_file_maybe(): + data = get_data_from_file( fn, desc=desc, binary=True, quiet=quiet, silent=silent ) + from .crypto import mmenc_ext + have_enc_ext = get_extension(fn) == mmenc_ext + if have_enc_ext or not is_utf8(data): + m = ('Attempting to decrypt','Decrypting')[have_enc_ext] + qmsg(f'{m} {desc} {fn!r}') + from .crypto import mmgen_decrypt_retry + data = mmgen_decrypt_retry(data,desc) + return data + + lines = decrypt_file_maybe().decode().splitlines() if trim_comments: - ret = strip_comments(ret) - dmsg(f'Got {len(ret)} lines from file {fn!r}') - return ret + lines = strip_comments(lines) + dmsg(f'Got {len(lines)} lines from file {fn!r}') + return lines