Mose Müller
f4fa02fe11
adds test enuring dict keys can be encoded with both single and double quotes
2024-09-23 13:16:50 +02:00
Mose Müller
487ef504a8
normalizes full access path strings containing dict keys with double quotes
...
Full access paths containing stringed dictionary keys are sent with
double quotes from the frontend. The quotes have to be changed to single
quotes s.t. the comparison with the property dependency dictionary
works.
2024-09-23 13:16:49 +02:00
Mose Müller
c98e407ed7
Merge pull request #161 from tiqi-group/160-control-of-tasks-in-instances-derived-from-same-class-only-controls-task-of-first-instance
...
fix: controlling tasks of instances derived from same class
2024-09-23 12:54:38 +02:00
Mose Müller
6b6ce1d43f
adds test checking for multiple instances of a class containing a task
2024-09-23 09:44:43 +02:00
Mose Müller
e491ac7458
observable does not have to initialise descriptor objects anymore
...
The task decorator is not returning a Task object directly anymore, but
rather a descriptor which is returning the task. This is where the task
is initialised and this does not have to be done in the observable base
class, any more.
2024-09-23 09:27:15 +02:00
Mose Müller
e9d8cbafc2
adds PerInstanceTaskDescriptor class managing task objects for service class instances
...
When defining a task on a DataService class, formerly a task object was
created which replaced the decorated method as a class attribute. This
caused errors when using multiple instances of that class as each
instance was referring to the same task.
This descriptor class now handles the tasks per instance of the service
class.
2024-09-23 09:21:04 +02:00
Mose Müller
aa705592b2
removes code from Task meant to bind the passed function to the containing class instance
...
The task object will only receive bound methods, so there is no need to
keep the descriptor functionality anymore.
2024-09-23 09:15:42 +02:00
Mose Müller
008e1262bb
updates PropertyObserver to support descriptors returning observables
...
If a class attribute is a descriptor, get its value before checking if
it is an Observable.
2024-09-23 08:57:00 +02:00
Mose Müller
91a71ad004
updates is_descriptor to exclude false positives for methods, functions and builtins
2024-09-23 08:55:44 +02:00
Mose Müller
bbf479a440
Merge pull request #159 from tiqi-group/158-defining-task-without-autostart-fails
...
fix: defining task without autostart fails
v0.10.2
2024-09-21 11:43:31 +02:00
Mose Müller
983d392ba8
properly handle Task objects in autostart method
...
Tasks that are not autostart or are already running were passed to
autostart_nested_services. This caused the recursion as tasks have a
__self__ attribute pointing to the containing service.
2024-09-21 11:40:25 +02:00
Mose Müller
56dd9dd8aa
adapts autostart to support nested lists in dicts and vice versa
2024-09-21 09:12:01 +02:00
Mose Müller
20028c379d
test: updates task tests
2024-09-21 09:04:04 +02:00
Mose Müller
e48046795e
updates version to v0.10.2
2024-09-21 08:37:34 +02:00
Mose Müller
1ac9e45c73
test: updates task test to catch recursion when defining without autostart
2024-09-21 08:36:47 +02:00
Mose Müller
488415436c
fixes recursion when defining task without autostart
2024-09-21 08:32:54 +02:00
Mose Müller
d7c5c2cd6e
updates to version v0.10.1
v0.10.1
2024-09-17 16:52:39 +02:00
Mose Müller
5388fd0d2b
Merge pull request #157 from tiqi-group/fix/handle_minus_sign_input
...
fix: correctly handling minus sign input in NumberComponent
2024-09-17 16:52:08 +02:00
Mose Müller
e74b5c773a
npm run build
2024-09-17 16:51:00 +02:00
Mose Müller
bb6cd159f1
frontend: refactoring minus sign handling in NumberComponent
2024-09-17 16:48:40 +02:00
Mose Müller
4a09f02882
docs: updates Readme
...
Trying to clarify the usage of ports in both server and clients.
2024-09-17 07:23:45 +02:00
Mose Müller
9180bb1d9e
Merge pull request #150 from tiqi-group/feat/task_decorator
...
Feat: Replace implicit async function tasks with task decorator
v0.10.0
2024-09-16 15:51:52 +02:00
Mose Müller
ece68b4b99
docs: updates Task documentation
...
- updates Tasks.md
- updates docstrings
- adds api section
2024-09-16 15:30:47 +02:00
Mose Müller
0c95b5e3cb
frontend: removes AsyncMethodComponent (replaced by Task)
2024-09-16 14:22:29 +02:00
Mose Müller
0450bb1570
updates version to v0.10.0
2024-09-16 14:18:10 +02:00
Mose Müller
2f5a640c4c
chore: refactored task autostart
2024-09-16 14:17:20 +02:00
Mose Müller
78964be506
adds serialization and deserialization support for task objects
2024-09-16 13:58:58 +02:00
Mose Müller
fbdf6de63c
npm run build
2024-09-16 13:58:16 +02:00
Mose Müller
9b04dcd41e
frontend: ass Task component
2024-09-16 13:46:07 +02:00
Mose Müller
32e36d4962
adds task tests
2024-09-16 07:53:46 +02:00
Mose Müller
62f28f79db
adds list and dictionary entries to task autostart
2024-09-16 07:53:44 +02:00
Mose Müller
e88965b69d
fixes device connection test
2024-09-13 16:09:39 +02:00
Mose Müller
e422d627af
adds docstring to autostart method
2024-09-13 16:07:30 +02:00
Mose Müller
2e31ebb7d9
fixes or removes task-related tests
2024-09-13 16:07:29 +02:00
Mose Müller
71adc8bea2
adds autostart to server
2024-09-13 12:37:29 +02:00
Mose Müller
bfa0acedab
moves autostart from Task to separate autostart submodule
2024-09-13 12:37:18 +02:00
Mose Müller
416b9ee815
removes part of serializer for serializing start and stop methods of async methods
2024-09-13 11:27:30 +02:00
Mose Müller
d1d2ac2614
fixing circular import
2024-09-13 11:27:30 +02:00
Mose Müller
fa35fa53e2
removes TaskManager
2024-09-13 11:27:30 +02:00
Mose Müller
c0e5a77d6f
simplifies @task decorator (updates types), moves task logic into Task's run_task()
2024-09-13 11:27:30 +02:00
Mose Müller
96cc7b31b4
updates documentation
2024-09-13 11:27:30 +02:00
Mose Müller
0d6d312f68
chore: fixes type hints for python 3.10
2024-09-13 11:27:30 +02:00
Mose Müller
be3011c565
adapt device connection component to use @task decorator
2024-09-13 11:27:30 +02:00
Mose Müller
09fae01985
adds warning when _bound_func has not been bound yet
...
This might arise when calling the start method of a task which is part of a class
that has not been instantiated yet.
2024-09-13 11:27:30 +02:00
Mose Müller
12c0c9763d
delay task setup until called from class instance containing the task
2024-09-13 11:27:30 +02:00
Mose Müller
15322b742d
using explicit loop to create task even if loop is not running yet
2024-09-13 11:27:30 +02:00
Mose Müller
85d6229aa6
updates DataService import to avoid circular import
2024-09-13 11:27:30 +02:00
Mose Müller
083fab0a29
Carefully setting up asyncio event loop
2024-09-13 11:27:30 +02:00
Mose Müller
2a1aff589d
properly binding task method
2024-09-13 11:27:30 +02:00
Mose Müller
3cd7198747
task can only wrap async functions without arguments
2024-09-13 11:27:30 +02:00