Browse Source

Fixed issue causing tlogg to be misaligned

pull/146/head
Eugenio Parodi 3 years ago
parent
commit
3b0b7e447e
  1. 37
      TermTk/TTkCore/filebuffer.py

37
TermTk/TTkCore/filebuffer.py

@ -74,7 +74,7 @@ class TTkFileBuffer():
self._width=0
self._buffer = [None]*self._numW
self._pages = [None]
self._fd = open(self._filename, 'r', errors='replace')
self._fd = open(self._filename, 'r', errors='replace', newline='\n')
threading.Thread(target=self.createIndex).start()
def __del__(self):
@ -111,7 +111,7 @@ class TTkFileBuffer():
self._indexesMutex.release()
buffer = self._pages[page].buffer
for i in range(self._window):
buffer[i] = self._fd.readline()
buffer[i] = self._fd.readline().replace('\r','')
#self._width = max(self._width,len(buffer[i]))
else:
# Push the page to the top of the buffer
@ -153,20 +153,37 @@ class TTkFileBuffer():
def searchRe(self, regex, ignoreCase=False):
indexes = []
id = 0
rr = re.compile(regex, re.IGNORECASE if ignoreCase else 0)
TTkLog.debug(f"Search RE: {regex}")
with open(self._filename, 'r', errors='replace') as infile:
for line in infile:
ma = rr.search(line)
if ma:
indexes.append(id)
id += 1
# from datetime import datetime
# now = datetime.now()
# TTkLog.debug(f"Time1 {now}")
with open(self._filename, 'r', errors='replace', newline='\n') as infile:
# for i,line in enumerate(infile):
# if rr.search(line):
# indexes.append(i)
# id = 0
# for line in infile:
# ma = rr.search(line)
# if ma:
# indexes.append(id)
# id += 1
# for i,index in enumerate(self._indexes):
# infile.seek(index)
# rl = infile.readline()
# if rr.search(rl):
# indexes.append(i)
indexes = [i for i,line in enumerate(infile) if rr.search(line)]
# TTkLog.debug(f"Time2 {datetime.now()}")
# TTkLog.debug(f"Diff: {datetime.now() - now}")
return indexes
def search(self, txt):
indexes = []
with open(self._filename, 'r', errors='replace') as infile:
with open(self._filename, 'r', errors='replace', newline='\n') as infile:
for line in infile:
if txt in line:
indexes.append(id)

Loading…
Cancel
Save