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
Mose Müller
74576a5810
DataService: serialised json does not contain start/stop task functions
2023-08-02 12:06:20 +02:00
Mose Müller
b1d162a28b
fix: update start_task function signature to match original async function
2023-08-02 12:06:20 +02:00
Mose Müller
e48e33c948
feat: adding support for enums
...
- handling fronend upates
- adding serialization for DataService classes
- adapting notification emission
2023-08-02 12:06:20 +02:00
Mose Müller
ec99078925
fixing linting issues in web_server.py
2023-08-02 12:06:20 +02:00
Mose Müller
1b11e88d5a
fixing linting issues in server.py
2023-08-02 12:06:20 +02:00
Mose Müller
95dd12bf7f
feat: adding backend NumberSlider
2023-08-02 12:06:20 +02:00
Mose Müller
4d929afa79
feat: adding socketio frontend handler to web server
2023-08-02 12:06:19 +02:00
Mose Müller
8c0ad6f334
adding TODO
2023-08-02 12:06:19 +02:00
Mose Müller
193775c609
dataservice: adapting serialize method
2023-08-02 12:06:19 +02:00
Mose Müller
fa9086baa8
feat: adding first version of webapi server
2023-08-02 12:06:19 +02:00
Mose Müller
617450c2bf
feat: adding confz configuration
2023-08-02 12:06:19 +02:00
Mose Müller
3858c7efc2
feat: adding notification callback functionality to DataService
2023-08-02 12:06:19 +02:00
Mose Müller
8ae2bc0410
feat: adding first version of the Server
2023-08-02 12:06:19 +02:00