ED_LRR/ed_lrr_gui/router.py

47 lines
1.1 KiB
Python

import queue
from collections import namedtuple
from datetime import datetime, timedelta
from multiprocessing import Process, Queue, freeze_support
import _ed_lrr
# from PyQt5.QtWidgets import QProgressDialog
# class RouteProgress(QProgressDialog):
# def __init__(self, *args, **kwargs):
# super().__init__(*args, **kwargs)
# self.setWindowModality(Qt.WindowModal)
class Router(Process):
def __init__(self, *args, **kwargs):
super().__init__()
self.state = {}
self.queue = Queue()
self.daemon = True
self.args = args
self.kwargs = kwargs
self.kwargs["callback"] = self.callback
def callback(self, state):
self.queue.put({"status": state})
def run(self):
route = _ed_lrr.route(*self.args, **self.kwargs)
self.queue.put({"return": route})
if __name__ == "__main__":
freeze_support()
r = Router(
["Ix", "Beagle Point"],
48,
"BFS",
False,
False,
None,
None,
r"D:\devel\rust\ED_LRR\stars.csv",
)
for e in r:
print(e)