323 Commits

Author SHA1 Message Date
Mose Müller
93b7e25e57 feat: adding support for additional servers, removing tiqi_rpc dependency 2023-08-02 12:06:22 +02:00
Mose Müller
d4c72d7026 exceptions have a separate socketio event now 2023-08-02 12:06:22 +02:00
Mose Müller
ac9f39ca56 updating TaskManager 2023-08-02 12:06:22 +02:00
Mose Müller
74d121b19d updating helpers.py 2023-08-02 12:06:22 +02:00
Mose Müller
7861def541 renaming pyDataInterface -> pyDataService 2023-08-02 12:06:22 +02:00
Mose Müller
e7a0017431 feat: using TaskManager as attribute instead of inheriting 2023-08-02 12:06:22 +02:00
Mose Müller
8fd1f1822f feat: CallbackManager inherits from abstract class now 2023-08-02 12:06:22 +02:00
Mose Müller
096292a862 fix: checking is "_rpc_server" attributes exists to not throw exception 2023-08-02 12:06:22 +02:00
Mose Müller
f81f9b7ff8 fix: adding NoneType to STANDARD_TYPES, fixing reading None from JSON file 2023-08-02 12:06:22 +02:00
Mose Müller
86dd15d3f6 update warning function to ignore TaskManager 2023-08-02 12:06:22 +02:00
Mose Müller
be624f8f07 renaming file containing abstract base classes 2023-08-02 12:06:22 +02:00
Mose Müller
3294617542 feat: adding other abstract base classes 2023-08-02 12:06:22 +02:00
Mose Müller
bcc846f70d feat: moving CallbackManager to new file, moving emit_notification to CallbackManager 2023-08-02 12:06:22 +02:00
Mose Müller
2632e7ba6e creating AbstractDataService class
This is needed to split the CallbackManager into another class.
2023-08-02 12:06:22 +02:00
Mose Müller
4265929b4e feat: creating CallbackManager class which does all the callback related stuff 2023-08-02 12:06:22 +02:00
Mose Müller
2e683df6ef feat: only updating the class attributes with the values from the JSON if the types are the same 2023-08-02 12:06:22 +02:00
Mose Müller
3e72e25f9f changing utils module exports 2023-08-02 12:06:22 +02:00
Mose Müller
a4402061e9 removing unused function 2023-08-02 12:06:21 +02:00
Mose Müller
dd1cc3bc31 feat: wrapping main loop in try except block
This ensures that
- the shutdown coroutine will be saved to close all resources gracefully
- the service state is being saved when some unexpected error
happens
2023-08-02 12:06:21 +02:00
Mose Müller
5fbbdd994c docs: updating docstring, formatting 2023-08-02 12:06:21 +02:00
Mose Müller
5695d28ea3 fix: component import 2023-08-02 12:06:21 +02:00
Mose Müller
d721ef05f5 refactoring the way DataService instance attributes are updated 2023-08-02 12:06:21 +02:00
Mose Müller
df8ea404ae fix: use relative import to avoid import loop 2023-08-02 12:06:21 +02:00
Mose Müller
216f3cb008 fix: ignore _abc module in warnings 2023-08-02 12:06:21 +02:00
Mose Müller
b68cb4d309 feat: creating components module, adding docstrings 2023-08-02 12:06:21 +02:00
Mose Müller
21eb7d4c26 docs: updating TaskManager documentation 2023-08-02 12:06:21 +02:00
Mose Müller
a9b98b675d feat: adding support for saving the status of a DataService class
By passing a the "filename" keyword to the DataService init function,
one can save the state of the instance in this file. Quitting the service
(Ctrl+C) will dump the state of the instance in the file with given
filename. When starting the instance, it will load these values again.
2023-08-02 12:06:21 +02:00
Mose Müller
a288c35c50 revert: moving DataServiceSerializer functionality back to
DataService
2023-08-02 12:06:21 +02:00
Mose Müller
6c9a09eabc feat: updating utils
- moving apply_update_to_data_service to data_service and renaming to
update_DataService_by_path
    - splitting function into several logical parts
- adding and rewriting multiple helper functions
2023-08-02 12:06:21 +02:00
Mose Müller
cbdf894073 fixing warning messages comming from asyncio 2023-08-02 12:06:21 +02:00
Mose Müller
9bcce0a376 frontend: npm run build 2023-08-02 12:06:21 +02:00
Mose Müller
717939e902 fixing GenericComponent exports 2023-08-02 12:06:21 +02:00
Mose Müller
18c71dd7f6 fix: fixing method serialization 2023-08-02 12:06:21 +02:00
Mose Müller
08a01c1bfe frontend: npm run build 2023-08-02 12:06:21 +02:00
Mose Müller
9c061f05ef feat: move frontend_update logic into utils file 2023-08-02 12:06:21 +02:00
Mose Müller
ef28475c4e feat: moving serialization stuff into DataServiceSerializer 2023-08-02 12:06:21 +02:00
Mose Müller
9ffd666085 chore: moving task-based things to TaskManager 2023-08-02 12:06:21 +02:00
Mose Müller
fb0d1c3d07 frontend: updating build command, location of static files 2023-08-02 12:06:21 +02:00
Mose Müller
9d93b55d60 frontend: updating build command, location of static files 2023-08-02 12:06:20 +02:00
Mose Müller
3352d34ec6 DataService: updating serialize
- removing unnecessary prefix
- updating list serialization
2023-08-02 12:06:20 +02:00
Mose Müller
bc0ae0196d feat: adding helper function 2023-08-02 12:06:20 +02:00
Mose Müller
504d6c1c81 feat: adding list support in socketio handler 2023-08-02 12:06:20 +02:00
Mose Müller
7248192e83 socketio: update frontend event handler
- frontend always passes parent_path
- get the correct attribute specified by the parent_path
2023-08-02 12:06:20 +02:00
Mose Müller
d9a4dd2aeb fixing (ignoring) linting warnings 2023-08-02 12:06:20 +02:00
Mose Müller
e3211b6000 feat: separating TaskManager out of DataService 2023-08-02 12:06:20 +02:00
Mose Müller
8460759a31 feat: adding utils.helper 2023-08-02 12:06:20 +02:00
Mose Müller
bc50f99e18 feat: adding task status change callbacks
When a task (async function) is started / stopped, this will emit a
notification via socketio.
2023-08-02 12:06:20 +02:00
Mose Müller
3d07a5c9dd DataService: converting ints to floats if current value is a float 2023-08-02 12:06:20 +02:00
Mose Müller
07d9066be9 docs: adding some docstrings 2023-08-02 12:06:20 +02:00
Mose Müller
b503a5018e web server: adding function handler 2023-08-02 12:06:20 +02:00