4223576016
We should always update the entities cache on addEntity.
...
Updating the entity cache only when we receive an event from a root
entity means that we lose events sent by individual child entities.
2023-09-15 00:45:38 +02:00
1020b63da7
All EntityMixin components should be allowed to emit loading
events.
2023-09-15 00:34:29 +02:00
2c93049ee5
Catch all the exceptions in a plugin action wrapper.
...
The @action decorator should capture all the exceptions,
log them and return them on `Response.errors`.
This ensures that uncaught exceptions from plugin
actions won't unwind out of control, and also that they
are logged and treated consistently across all the
integrations.
2023-09-14 23:08:23 +02:00
ac72b2f7a8
Fixed management of state on zigbee.mqtt
.
...
Before the merge of the plugin and the listener those components
used to have their own separate state, which led to inconsistencies.
2023-09-14 23:05:27 +02:00
5a514fdcce
Only support the run_topic
logic on the MQTT plugin.
...
Plugins that extend `MqttPlugin` shouldn't run messages as
requests, even if the parent MQTT plugin is configured to
do so.
2023-09-14 01:09:03 +02:00
4cb5aa7acb
Prepend the class name to the string used to generate the MQTT client_id hash.
...
If we include the class name by default then we won't have to
explicitly modify the client_id in the implementation classes
in order to prevent clashes.
2023-09-14 01:06:53 +02:00
3104a59f44
Better processing of configuration file parameters.
...
- Do `abspath`+`expanduser` on the configuration file path before
checking if it exists.
- If the path doesn't exist, but the user explicitly passed a
configuration file, then copy/create the default configuration
under the specified directory.
2023-09-14 00:24:52 +02:00
ddd8f1afdc
base_topic
param in zigbee.mqtt
renamed to topic_prefix
.
...
This is for sake of consistency with other integrations (like
`zwave.mqtt`) that also use the same parameter name for the MQTT topic
prefix.
2023-09-07 21:32:56 +02:00
8ab7b6bebc
Removed deprecated zigbee.mqtt
backend.
...
Closes : #322
2023-09-06 02:54:48 +02:00
3de510da68
Migrated zigbee.mqtt
integration.
...
The plugin has been migrated to the new `mqtt` API and the legacy
listener that extended `MqttBackend` has been removed and merged into
the plugin.
2023-09-06 02:44:56 +02:00
33a1ef39e4
Refactored and merged backend.mqtt
logic into mqtt
plugin.
2023-09-06 02:43:45 +02:00
b746d0b402
Moved get_message_response
to platypush.utils
.
...
It is general-purpose enough to be used by all the integrations, not
only by the HTTP backend.
2023-09-05 13:03:30 +02:00
f1acff00e9
Put the join back on CommandStream.__exit__
.
...
We want to give the process a bit of slack between the terminate and the
close, or we'll be guaranteed to get race conditions upon close.
2023-09-04 11:01:34 +02:00
6ee064cb89
Always rebase on pull in .drone.yml.
2023-09-04 02:53:20 +02:00
82ef928d5b
Merge pull request 'Better Docker support' ( #277 ) from 276/better-docker into master
...
Reviewed-on: platypush/platypush#277
2023-09-04 02:49:14 +02:00
b3c82fe0d1
More resilient termination logic for CommandStream
.
2023-09-04 02:47:18 +02:00
c69f97c0a5
Updated default config.yaml.
...
The new configuration:
- Enables `backend.http` by default
- Removes the extra `config.auto.yaml` dependency
- Includes many more examples, lots of updates for existing examples,
and extensive comments.
2023-09-04 02:22:46 +02:00
07c2eee890
Changed (fixed) default location for config dir if not existing.
...
Following some common UNIX conventions, if no configuration file is
specified and none exists under the default locations, then a new
configuration directory should be created under:
```
- if root: /etc/platypush
- else:
- if XDG_CONFIG_HOME:
- $XDG_CONFIG_HOME/platypush
- else:
- ~/.config/platypush
```
2023-09-04 02:19:13 +02:00
b6c0ff799b
Rewritten the http.webpage
plugin.
2023-09-03 17:33:25 +02:00
669f2eb2d2
LINT/black for tts.mimic3
plugin.
2023-09-02 12:40:34 +02:00
snyk-bot
46c40f6fa6
fix: upgrade sass from 1.64.2 to 1.65.1
...
Snyk has created this PR to upgrade sass from 1.64.2 to 1.65.1.
See this package in npm:
https://www.npmjs.com/package/sass
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-09-01 23:15:47 +00:00
35416f3ee3
Some LINT on the old http.request.rss
plugin.
2023-09-02 01:01:16 +02:00
759075f1d9
Updated sample nginx configuration.
2023-09-01 01:09:38 +02:00
5481ae753d
gitignore should only skip /config, not any config directories.
2023-08-31 23:56:57 +02:00
9aaf2559fa
Added utils.is_root
method.
2023-08-31 23:21:32 +02:00
1be40f30d6
Merge branch 'master' into 276/better-docker
2023-08-31 02:34:17 +02:00
011f6d3a66
(Try and) pull the current branch from Github instead of master.
2023-08-31 02:32:42 +02:00
86ce2647e4
Removed the -f flag from git push.
2023-08-31 02:23:13 +02:00
867198a092
Try and force push the commits to Github.
2023-08-31 02:22:01 +02:00
a87a713f5e
Ignore the Dockerfile in the root folder
2023-08-31 02:15:59 +02:00
a88b57fff2
Dockerfile moved to application root
2023-08-31 02:15:59 +02:00
91fde717c9
Dockerfile moved to application root
2023-08-31 02:15:59 +02:00
0e02e617b3
Skip checksum in platypush-git AUR package.
...
The master branch can move fast and easily get out of sync with the
released version.
2023-08-31 02:15:58 +02:00
ee955882bf
Always rebase when pulling from the Github remote.
2023-08-31 02:11:50 +02:00
e6b5abe909
Added SIGTERM handler for clean termination in Docker contexts.
2023-08-31 02:09:23 +02:00
4dd713ffd2
Refactored Platydock and Platyvenv.
...
The two scripts now share the same command interface, behaviour and base
class.
Also, Platydock now builds a Docker image instead of just printing a
Dockerfile, unless the `--print` option is passed.
2023-08-31 01:16:56 +02:00
446bc2f674
Skip checksum in platypush-git AUR package.
...
The master branch can move fast and easily get out of sync with the
released version.
2023-08-30 00:05:38 +02:00
429658e7c8
Refactored PackageManager
classes.
...
Instead of having a custom `get_installed` callable field, with
replicated code for each package manager, the field has now been
promoted to a class method containing the common logic, and the
instances now expect a `list` field (base command to list the installed
packages using the specified package manager) and a `parse_list_line`
callback field (to extract the base package name given a raw line from
the command above).
Also, we shouldn't run the list command if we're running within a Docker
context - the host and container environments will be different.
2023-08-28 01:26:19 +02:00
86e5f74645
platyvenv should generate (and document) a run.sh helper script.
2023-08-27 23:20:03 +02:00
9e6430a9ac
Clone git repo if platyvenv is not running from a srcdir
2023-08-23 20:02:04 +02:00
dafd65dc21
Added new platyvenv Python script.
2023-08-23 11:55:25 +02:00
f230fa79bb
to_pkg_install_commands
should skip already installed sys packages.
2023-08-23 11:51:53 +02:00
449821673c
Added PackageManager.get_installed
.
2023-08-23 10:50:29 +02:00
b10ccdb313
Added get_src_root utility function.
2023-08-23 02:53:31 +02:00
1ef0d804db
Added full_command
argument to to_pip_install_commands
.
...
This is useful if we just want to get the list of pip dependencies and
create our own pip command.
2023-08-23 02:19:54 +02:00
2bff4c9cf1
Exclude python-* system packages when installing in a venv.
2023-08-23 02:17:19 +02:00
cddf318fa7
Dependencies.from_config should include the base system deps.
2023-08-23 02:16:33 +02:00
8f39231d31
Added new utility methods to the Dependencies class.
2023-08-23 02:15:50 +02:00
782ddf5097
Removed legacy platyvenv bash script.
...
The script is being migrated to a Python implementation.
2023-08-23 02:08:51 +02:00
ce68250b4d
Refactor/documentation round for platydock.
2023-08-22 02:49:05 +02:00