watch for file changes
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
import multiprocessing
|
||||
import os
|
||||
import re
|
||||
from re import Pattern
|
||||
import tempfile
|
||||
import time
|
||||
from typing import Optional
|
||||
|
||||
from PyQt6.QtCore import QRunnable, QThread, QThreadPool
|
||||
from PyQt6.QtCore import QRunnable, QThreadPool
|
||||
from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QCheckBox
|
||||
|
||||
from bigtext import BigText
|
||||
@@ -14,9 +12,8 @@ from logFileModel import LogFileModel
|
||||
import asyncio
|
||||
|
||||
class FilterTask(QRunnable):
|
||||
|
||||
aborted = False
|
||||
future : asyncio.Future
|
||||
future: asyncio.Future
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@@ -28,20 +25,10 @@ class FilterTask(QRunnable):
|
||||
self.source_model = source_model
|
||||
self.filter_model = filter_model
|
||||
self.regex = regex
|
||||
#self.query = query.lower() if ignore_case and not is_regex else query
|
||||
#self.ignore_case = ignore_case
|
||||
#self.is_regex = is_regex
|
||||
self.future = asyncio.Future()
|
||||
|
||||
#flags = re.IGNORECASE if ignore_case else 0
|
||||
|
||||
#if is_regex:
|
||||
# self.regex = re.compile(query, flags=flags)
|
||||
#else:
|
||||
# self.regex = re.compile(re.escape(query),flags=flags)
|
||||
|
||||
def run(self):
|
||||
#print("writing to tmp file", self.filter_model.get_file())
|
||||
# print("writing to tmp file", self.filter_model.get_file())
|
||||
start = time.time()
|
||||
with open(self.source_model.get_file(), "rb") as source:
|
||||
with open(self.filter_model.get_file(), "w+b") as target:
|
||||
@@ -54,13 +41,14 @@ class FilterTask(QRunnable):
|
||||
if self.aborted or self.future.cancelled():
|
||||
print("aborted")
|
||||
break
|
||||
print("filtering for %s took %s" % (self.regex, time.time() - start) )
|
||||
#print("filtering for %s took %s" % (self.regex, time.time() - start))
|
||||
self.future.done()
|
||||
|
||||
|
||||
class FilterWidget(QWidget):
|
||||
future = None
|
||||
filter_model : LogFileModel
|
||||
filter_task :Optional[FilterTask] = None
|
||||
filter_model: LogFileModel
|
||||
filter_task: Optional[FilterTask] = None
|
||||
|
||||
def __init__(self, source_model: LogFileModel):
|
||||
super(FilterWidget, self).__init__()
|
||||
@@ -120,9 +108,3 @@ class FilterWidget(QWidget):
|
||||
|
||||
self.filter_task = FilterTask(self.source_model, self.filter_model, regex)
|
||||
QThreadPool.globalInstance().start(self.filter_task)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user