Fabio Manganiello
4972c8bdcf
Unregister a Zeroconf instance if it already exists before publishing a backend service.
...
continuous-integration/drone/push Build is passing
Details
`mdns` connection are another culprit for the increasing number of open
files in the process.
2024-04-16 00:12:55 +02:00
Fabio Manganiello
ec2b8da983
Ignore Redis errors when a backend sends an unregister notify event.
...
When that happens, it's most likely that the application is already
stopping and the Redis service has already been terminated.
2023-08-17 01:49:41 +02:00
Fabio Manganiello
46245e851f
Synchronize with the currently running stop thread (if any) in `Backend.wait_stop`.
2023-08-15 02:08:47 +02:00
Fabio Manganiello
ceb9d6d1ba
Removed redundant `Backend._get_redis()` method.
...
It was used only once, and it could easily be replaced by
`platypush.utils.get_redis()`.
2023-08-14 23:37:38 +02:00
Fabio Manganiello
91cd08cdff
Adapted tests to use a locally started Redis instance.
2023-07-24 10:37:07 +02:00
Fabio Manganiello
0dc380fa94
Removed dependency from prctl.
...
Also, black'd and LINT-fixed some files that hadn't been touched in a
while.
2023-07-23 19:17:30 +02:00
Fabio Manganiello
66981bd00b
Updated email addresses and black'd some old source files.
2023-07-22 23:02:44 +02:00
Fabio Manganiello
1038090ffd
LINT fixes
2022-02-07 15:51:12 +01:00
Fabio Manganiello
786286eac6
Refactored D-Bus integration
...
- Added ability to listen for signals
- Improved introspection output
- `dbus` plugin and backend have now been merged
- Migrated from `dbus` to `pydbus`
2022-02-07 15:45:43 +01:00
Fabio Manganiello
3bfc5b83ef
Moved to manifest files for describing plugins and backends and their dependencies
2021-09-16 17:53:40 +02:00
Fabio Manganiello
2a78f81a7b
Major LINT fixes
2021-04-05 00:58:44 +02:00
Fabio Manganiello
210cefc1a4
General improvements on the Zeroconf plugin and backend
2021-03-03 19:20:12 +01:00
Fabio Manganiello
66445cb4e4
- Do not parse Zeroconf info at all if not available
...
- Temporarily skip test_procedure until I find a proper way to clean up the status from the previous run and start a fresh platform
2021-02-27 21:11:37 +01:00
Fabio Manganiello
b4f9472fc5
- Proper expansion of the context variables on functional procedure call
...
- Expanded and refactored tests framework
- Added test_procedure
2021-02-27 15:01:25 +01:00
Fabio Manganiello
2800bac3fb
Make sure that all hanging threads, backends and services are stopped and their resources cleaned up when the application stops.
2021-02-23 23:09:26 +01:00
Fabio Manganiello
c269c62fe6
Refactored logging names
2020-09-27 01:33:38 +02:00
Fabio Manganiello
2dc8fe9437
Added Github backend [ closes #95 ]
2020-08-22 12:09:24 +02:00
Fabio Manganiello
a0d97c0f18
service_type and service_name are actually needed even if empty
2020-08-20 00:48:01 +02:00
Fabio Manganiello
d8f7b15111
Post ZeroconfServiceRemovedEvent also if the zeroconf_info object has already been deallocated
2020-08-20 00:40:02 +02:00
Fabio Manganiello
ddedcd647c
The Zeroconf object might already be closed after unregister_service
2020-08-20 00:37:39 +02:00
Fabio Manganiello
af2dbf899d
Importing Zeroconf inside of the method to prevent Travic-CI from breaking because of module not found
2020-08-14 20:53:20 +02:00
Fabio Manganiello
20b095232d
Support for extended information in zeroconf.discover_service
2020-08-14 15:52:24 +02:00
Fabio Manganiello
c057cd13fd
python-zeroconf has introduced too many breaking changes - giving up.
2020-08-14 02:01:31 +02:00
Fabio Manganiello
7e8bef40cd
Added Zeroconf integration [ closes #105 ]
2020-08-14 00:36:39 +02:00
Fabio Manganiello
d3e52ba944
Backends should be started with daemon=True
2020-08-01 17:20:46 +02:00
Fabio Manganiello
02246a48ae
Added Z-Wave integration ( closes #76 )
2020-02-05 22:26:52 +01:00
Fabio Manganiello
1e342cc8a5
New interface for implementing backends.
...
Backends that simply poll for changes and wait some time
between checks can just implement a `loop()` method and,
optionally, `__enter__` and `__exit__` methods, so they
can perform initialization/cleanup logic within a context
manager.
2020-01-11 18:13:25 +01:00
Fabio Manganiello
bc7c248f72
Added Google Pub/Sub integration
2019-12-30 09:33:26 +01:00
Fabio Manganiello
8b478ede45
vue.js migration commit - WIP
2019-05-28 19:16:55 +02:00
Fabio Manganiello
a9fb6a38dd
New API for firing events and registering/unregistering event handlers
...
both for plugins and backends
2019-02-28 01:21:25 +01:00
Fabio Manganiello
0e794cd1b0
Refactored HTTP server to split the routes on separate files and keep the main Flask app object in a separate file as well so it can be easily wrapped by a WSGI instance
2019-02-23 21:19:00 +01:00
Fabio Manganiello
2d8b2ba55a
Removed pp- prefix from the name of the spawned processes and threads
2019-01-13 20:41:15 +01:00
Fabio Manganiello
fbf3600e91
Setting thread and process names properly through prctl
2019-01-10 23:45:13 +01:00
Fabio Manganiello
56c7258c74
Setting names for threads
2019-01-10 23:08:29 +01:00
Fabio Manganiello
284e0638f8
Always define msg so the function doesn't fail on exception
...
Reverted the previous retry logic for backend - it didn't really work
This reverts commit 4e0e4863a0
.
This reverts commit 964c7b5cf0
.
This reverts commit 6ce348365f
.
2018-10-25 20:46:34 +02:00
Fabio Manganiello
6ce348365f
Refactored backends to be more robust by wrapping the core logic into a try-except logic with sleep and retry
2018-10-25 19:46:13 +02:00
Fabio Manganiello
74d23262b7
Implemented TCP backend
2018-10-11 14:02:29 +00:00
Fabio Manganiello
6449504e26
Switched the bus to a Redis bus
2018-09-20 10:49:57 +00:00
Fabio Manganiello
ec38ecbaf3
More pylint fixes
2018-07-30 23:18:01 +02:00
Fabio Manganiello
81803a364d
Fixed some pylint warnings
2018-07-30 22:08:06 +02:00
Fabio Manganiello
3872276234
Better way to handle plugins->backends communication through Redis
2018-06-29 10:21:19 +02:00
Fabio Manganiello
28862d743d
Adding backends documentation
2018-06-26 00:16:39 +02:00
Fabio Manganiello
2d6994c057
send_message over Redis for OMXPlayer plugin
2018-06-14 21:13:01 +02:00
Fabio Manganiello
b7181085f3
Cover both the cases where the Redis backend is not configured and where it's None
2018-06-14 20:44:06 +02:00
Fabio Manganiello
bd18d1cbc1
Using Redis backend as a fallback for send_message if a backend does not implement its own send_message
2018-06-14 20:42:57 +02:00
Fabio Manganiello
2b73f71803
Improved logging traces names for backends and plugins
2018-06-14 02:19:55 +02:00
Fabio Manganiello
4da74b1096
Refactored logging submodule
2018-06-06 20:09:23 +02:00
Fabio Manganiello
57722fce2a
Added support for Leap Motion device events
2018-05-23 17:07:15 +02:00
Fabio Manganiello
7b97a5b229
- #30 Implemented Google Assistant backend
...
- #21 Implemented events management
2017-12-24 01:10:48 +01:00
Fabio Manganiello
3dfcf0ec97
Added tests
2017-12-22 02:11:56 +01:00