Browse Source

fileutil.py: reimplement get_lines_from_file()

The MMGen Project 1 year ago
parent
commit
158bc24716
1 changed files with 15 additions and 16 deletions
  1. 15 16
      mmgen/fileutil.py

+ 15 - 16
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