Изменена функция получения последний записи времени emerge.log

master3.3
Mike Hiretsky 11 years ago
parent 8c49edbb77
commit 50487264b5

@ -3125,9 +3125,7 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction):
@classmethod
def getLastElog(cls):
# get last timestamp
lastStr = ""
for l in readLinesFile(cls.elogFile):
lastStr = l
data,cr,lastStr = readFile(cls.elogFile,250).rstrip().rpartition('\n')
return lastStr.partition(':')[0]
def funcElog(self,funArgv, resS, localVars, textTemplateTmp, nameTemp):

@ -640,11 +640,19 @@ def readLinesFile(filename):
finally:
raise StopIteration
def readFile(filename):
"""Read whole file or return empty string"""
def readFile(filename,tailbyte=None):
"""
Прочитать целый файл или вернуть пустую строку.
tailbyte: прочитать только последнее указанное количество байт
"""
try:
if path.exists(filename):
return open(filename,'r').read()
with open(filename,'r') as f:
if tailbyte:
seeksize = max(0,os.stat(filename).st_size-tailbyte)
if seeksize:
f.seek(seeksize)
return f.read()
except (OSError,IOError):
pass
return ""

Loading…
Cancel
Save