small improvements

master 3.7.1.19
idziubenko 2 years ago
parent 73a6fae253
commit ea1a6d0fe5

@ -5718,13 +5718,14 @@ gettext -d cl_template "$*"
templateFile = pathJoin(self._baseDir, templateFile)
foundTemplateFile = os.path.exists(templateFile)
buff = None
buff_is_unicode = False
fMode, fUid, fGid = None, None, None
if foundTemplateFile and objHeadNew.params[HParams.Link]:
try:
F_CONF = self.openTemplFile(templateFile)
if not F_CONF:
raise IOError
buff, ___ = try_decode_utf8(F_CONF.read())
buff, buff_is_unicode = try_decode_utf8(F_CONF.read())
F_CONF.close()
fMode, fUid, fGid = getModeFile(templateFile)
except (OSError, IOError):
@ -5745,7 +5746,7 @@ gettext -d cl_template "$*"
return [], False
if buff is not None:
try:
mode = "wb+" if isinstance(buff, bytes) else "w+"
mode = "wb+" if not buff_is_unicode else "w+"
with open(pathOldFile, mode) as FD:
newBuffer = buff
FD.write(buff)

@ -795,17 +795,21 @@ def makeDirectory(pathname, force=False):
return False
def readLinesFile(filename, grab=False):
def readLinesFile(filename, grab=False, binary=False):
"""Read file by line"""
mode = 'rb' if binary else 'r'
encoding = None if binary else 'utf-8'
startsymbol = b'#' if binary else "#"
line_break = b'\n' if binary else '\n'
try:
if path.exists(filename):
for line in open(filename, 'r', encoding='utf-8'):
for line in open(filename, mode, encoding=encoding):
if grab:
line = line.strip()
if not line.startswith("#"):
if not line.startswith(startsymbol):
yield line
else:
yield line.rstrip('\n')
yield line.rstrip(line_break)
except (OSError, IOError):
pass
# finally:

Loading…
Cancel
Save