From 9381ebe3f37314a87b5d43c11c7bbc7969927553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Sierro?= Date: Fri, 15 Sep 2023 14:08:29 +0200 Subject: [PATCH] starting work on multibar --- src/scgenerator/evaluator.py | 2 +- src/scgenerator/threading.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/scgenerator/threading.py diff --git a/src/scgenerator/evaluator.py b/src/scgenerator/evaluator.py index 5e9e62f..11fd3ae 100644 --- a/src/scgenerator/evaluator.py +++ b/src/scgenerator/evaluator.py @@ -576,7 +576,7 @@ envelope_rules = default_rules + [ Rule("gamma_op", lambda: operators.constant_quantity(0.0), priorities=-1), Rule("ss_op", lambda w_c, w0: operators.constant_quantity(w_c / w0)), Rule("ss_op", lambda: operators.constant_quantity(0), priorities=-1), - Rule("spm_op", operators.envelope_spm), + Rule("spm_op", operators.envelope_spm, conditions=dict(spm=True)), Rule("spm_op", operators.no_op_freq, priorities=-1), Rule("raman_op", operators.envelope_raman), Rule("raman_op", operators.no_op_freq, priorities=-1), diff --git a/src/scgenerator/threading.py b/src/scgenerator/threading.py new file mode 100644 index 0000000..e505eb0 --- /dev/null +++ b/src/scgenerator/threading.py @@ -0,0 +1,18 @@ +from multiprocessing import Process, Queue +from threading import Thread +from tqdm import tqdm + +class Multibar(Thread): + queue: Queue + bars:list[tqdm] + def __init__(self, bars:list[tqdm], queue:Queue): + self.queue = queue + self.bars = bars + + def run(self): + while True: + bar_id, amount = self.queue.get(True, None) + self.bars[bar_id].update(amount) + self.bars[0].update(amount) + +