fileutil.py: reimplement get_lines_from_file()

This commit is contained in:
The MMGen Project 2023-03-27 10:50:18 +00:00
commit 158bc24716
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2

View file

@ -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