dev: (не работает) добавлено открытие csv из папки
This commit is contained in:
parent
ab56316930
commit
8f5a65405d
Binary file not shown.
Binary file not shown.
@ -7,7 +7,8 @@ from src.gui import PlotWindow, settingsWindow
|
||||
|
||||
|
||||
class app:
|
||||
def __init__(self):
|
||||
def __init__(self, path: str):
|
||||
self.path = path
|
||||
self._load_preset()
|
||||
|
||||
|
||||
@ -21,7 +22,7 @@ class app:
|
||||
self.system_params = read_json("params/system_params.json")
|
||||
|
||||
self.parser = DiagramParser(system_config=self.system_params)
|
||||
self.parser.setData("trace_samples/2024_11_08-19_30_52.csv")
|
||||
self.parser.setData(self.path)
|
||||
#trace_samples/2024_11_08-19_30_52.csv
|
||||
|
||||
|
||||
|
||||
76
src/main.py
76
src/main.py
@ -2,11 +2,79 @@ import pyqtgraph as pg
|
||||
|
||||
from src.gui import app
|
||||
|
||||
def main():
|
||||
pg.mkQApp("Plotting")
|
||||
temp = app()
|
||||
pg.exec()
|
||||
import os
|
||||
import time
|
||||
from PyQt5.QtCore import QThread, pyqtSignal, QObject
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.events import FileSystemEventHandler
|
||||
|
||||
def main():
|
||||
pg.mkQApp()
|
||||
apps = appHandler
|
||||
directory_path = "D:/downloads/a22"
|
||||
|
||||
file_watcher_thread = FileWatcherThread(directory_path)
|
||||
file_watcher_thread.worker.file_detected.connect(get)
|
||||
file_watcher_thread.start()
|
||||
|
||||
pg.exec()
|
||||
#temp = app()
|
||||
|
||||
def get(path):
|
||||
time.sleep(1)
|
||||
temp = app(path)
|
||||
|
||||
class appHandler:
|
||||
def __init__(self):
|
||||
self.appTemp = []
|
||||
|
||||
def makeApp(self, result):
|
||||
self.appTemp.append(app(result))
|
||||
|
||||
|
||||
class FileWatcherWorker(QObject):
|
||||
file_detected = pyqtSignal(str) # Сигнал для передачи пути к новому файлу
|
||||
|
||||
def __init__(self, directory_path):
|
||||
super().__init__()
|
||||
self.directory_path = directory_path
|
||||
self.observer = Observer()
|
||||
self._running = True
|
||||
|
||||
def start_watching(self):
|
||||
# Настраиваем наблюдателя и запускаем его
|
||||
event_handler = CSVFileHandler(self.file_detected)
|
||||
self.observer.schedule(event_handler, self.directory_path, recursive=False)
|
||||
self.observer.start()
|
||||
|
||||
def stop_watching(self):
|
||||
self._running = False
|
||||
self.observer.stop()
|
||||
self.observer.join()
|
||||
|
||||
class CSVFileHandler(FileSystemEventHandler):
|
||||
def __init__(self, file_detected_signal):
|
||||
super().__init__()
|
||||
self.file_detected_signal = file_detected_signal
|
||||
|
||||
def on_created(self, event):
|
||||
# Проверяем, что это файл и что он имеет расширение .csv
|
||||
if not event.is_directory and event.src_path.endswith(".csv"):
|
||||
abs_path = os.path.abspath(event.src_path)
|
||||
print(f"Найден новый CSV файл: {abs_path}")
|
||||
self.file_detected_signal.emit(abs_path) # Испускаем сигнал с путем к файлу
|
||||
|
||||
class FileWatcherThread(QThread):
|
||||
def __init__(self, directory_path):
|
||||
super().__init__()
|
||||
self.worker = FileWatcherWorker(directory_path)
|
||||
|
||||
def run(self):
|
||||
self.worker.start_watching() # Запуск наблюдателя
|
||||
self.exec_() # Запускаем событийный цикл в потоке
|
||||
|
||||
def stop(self):
|
||||
self.worker.stop_watching() # Остановка наблюдателя
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Binary file not shown.
@ -35,9 +35,13 @@ class DiagramParser:
|
||||
elif key == self.signals[3]: name = "opening"
|
||||
|
||||
self.timingsDict[name] = []
|
||||
len_items = len(items)
|
||||
for i, item in enumerate(items):
|
||||
if item[1] == 'high':
|
||||
if i < len_items-1:
|
||||
self.timingsDict[name].append([items[i][0], items[i+1][0]])
|
||||
else:
|
||||
self.timingsDict[name].append([items[i][0], items[i][0]+0.01])
|
||||
|
||||
def getBoolDict (self) -> dict:
|
||||
return self.boolDict
|
||||
|
||||
Loading…
Reference in New Issue
Block a user