spectre-core 0.0.7__py3-none-any.whl → 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. spectre_core/plotting/panel_stack.py +3 -1
  2. spectre_core/{watchdog → post_processing}/__init__.py +1 -1
  3. spectre_core/post_processing/base.py +132 -0
  4. spectre_core/{watchdog → post_processing}/factory.py +4 -4
  5. spectre_core/{watchdog → post_processing}/library/fixed/event_handler.py +8 -9
  6. spectre_core/{watchdog → post_processing}/library/sweep/event_handler.py +9 -10
  7. spectre_core/post_processing/post_processor.py +40 -0
  8. spectre_core/receivers/base.py +11 -4
  9. spectre_core/receivers/library/rspduo/gr/tuner_1_fixed.py +6 -2
  10. spectre_core/receivers/library/rspduo/gr/tuner_1_sweep.py +8 -12
  11. spectre_core/receivers/library/rspduo/gr/tuner_2_fixed.py +120 -0
  12. spectre_core/receivers/library/rspduo/gr/tuner_2_sweep.py +119 -0
  13. spectre_core/receivers/library/rspduo/receiver.py +34 -5
  14. spectre_core/receivers/library/test/receiver.py +45 -20
  15. spectre_core/receivers/validators.py +67 -29
  16. spectre_core/web_fetch/callisto.py +1 -1
  17. {spectre_core-0.0.7.dist-info → spectre_core-0.0.9.dist-info}/METADATA +2 -2
  18. {spectre_core-0.0.7.dist-info → spectre_core-0.0.9.dist-info}/RECORD +24 -22
  19. spectre_core/watchdog/base.py +0 -105
  20. spectre_core/watchdog/post_processor.py +0 -50
  21. /spectre_core/{watchdog → post_processing}/event_handler_register.py +0 -0
  22. /spectre_core/{watchdog → post_processing}/library/__init__.py +0 -0
  23. /spectre_core/{watchdog → post_processing}/library/fixed/__init__.py +0 -0
  24. {spectre_core-0.0.7.dist-info → spectre_core-0.0.9.dist-info}/LICENSE +0 -0
  25. {spectre_core-0.0.7.dist-info → spectre_core-0.0.9.dist-info}/WHEEL +0 -0
  26. {spectre_core-0.0.7.dist-info → spectre_core-0.0.9.dist-info}/top_level.txt +0 -0
@@ -1,50 +0,0 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
- # This file is part of SPECTRE
3
- # SPDX-License-Identifier: GPL-3.0-or-later
4
-
5
- from logging import getLogger
6
- _LOGGER = getLogger(__name__)
7
-
8
- from queue import Queue, Empty
9
-
10
- from watchdog.observers import Observer
11
-
12
- from spectre_core.watchdog.factory import get_event_handler_from_tag
13
- from spectre_core.cfg import CHUNKS_DIR_PATH
14
-
15
- class PostProcessor:
16
- def __init__(self,
17
- tag: str):
18
- self._observer: Observer = Observer()
19
- self._exception_queue: Queue = Queue() # A thread-safe queue for exceptions
20
-
21
- EventHandler = get_event_handler_from_tag(tag)
22
- self._event_handler = EventHandler(tag,
23
- self._exception_queue,
24
- "bin")
25
-
26
-
27
- def start(self):
28
- _LOGGER.info("Starting post processor...")
29
-
30
- # Schedule and start the observer
31
- self._observer.schedule(self._event_handler,
32
- CHUNKS_DIR_PATH,
33
- recursive=True)
34
- self._observer.start()
35
-
36
- try:
37
- # Monitor the observer and handle exceptions
38
- while self._observer.is_alive():
39
- try:
40
- exc = self._exception_queue.get(block=True, timeout=0.25)
41
- if exc:
42
- raise exc # Propagate the exception
43
- except Empty:
44
- pass # Continue looping if no exception in queue
45
- finally:
46
- # Ensure the observer is properly stopped
47
- self._observer.stop()
48
- self._observer.join()
49
-
50
-