Commit graph

3914 commits

Author SHA1 Message Date
9e489bb5cf
Propagate the default/required properties of a parameter upon merge.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-30 14:57:11 +02:00
1732bfa82c
Fixed _default_docstring regex. 2023-09-30 14:36:08 +02:00
532f5479b3
Added full YAML example for chat.irc configuration. 2023-09-30 14:34:54 +02:00
ecffbf29bf
Skip vararg/varkw parameters from the config snippet.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-30 13:53:33 +02:00
acb40bd5fd
The test step should also install all dependencies via apk add.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-30 13:36:28 +02:00
4f5ccda353
Better documentation for the calendar plugin. 2023-09-30 13:31:41 +02:00
7bd721e6a4
Added missing pip install parameter. 2023-09-30 13:31:04 +02:00
c82f7bbfbe
Ignore the default docstring text for __init__.
If no docstring is specified for a constructor, Python usually pre-fills
a standard text - "Initialize self. See help(type(self))".

We don't need this default text in our plugins documentation.
2023-09-30 13:29:49 +02:00
d030e2b8c7
Install all the deps via apk add on Alpine in the build-docs step. 2023-09-30 13:29:10 +02:00
15d06fa5c2
Improved docstring parser logic.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-30 12:35:31 +02:00
e6f05dfe07 Merge pull request '[#311] Logic to automatically generate the documentation for the dependencies of the integrations' (#330) from 311/auto-generate-deps-docs into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #330
2023-09-30 02:31:43 +02:00
343972b520
New IntegrationMetadata generic util class.
All checks were successful
continuous-integration/drone/push Build is passing
This object is in charge of parsing all the metadata of a
plugin/backend.
2023-09-30 02:28:20 +02:00
905d6632e0
Misc documentation improvements. 2023-09-29 18:09:15 +02:00
0a3ec4b9f1
Merge branch 'master' into 311/auto-generate-deps-docs 2023-09-28 01:25:29 +02:00
5025d892be
Added install/ subfolders to package_data
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-28 01:25:01 +02:00
b76f141b61
Catch response write errors in the MQTT callback.
All checks were successful
continuous-integration/drone/push Build is passing
If the client that forwarded the request is no longer available (either
because an exception or a timeout was raised) then its I/O buffer and
event loop may be closed.

In this case, the response callback should handle and report the
exception, and still set the event, so that any other threads waiting
for the response can move on.
2023-09-27 11:23:55 +02:00
ca7f042ccc
We shouldn't call dateutil.parser if t has already been deserialized to a datetime. 2023-09-27 11:20:10 +02:00
c311987741
Removed typing.Final from some of the most commonly used modules.
All checks were successful
continuous-integration/drone/push Build is passing
`typing.Final` is not defined on Python < 3.8.
2023-09-26 23:50:10 +02:00
9298f52443
Moved BluetoothPlugin to __init__.py.
All checks were successful
continuous-integration/drone/push Build is passing
This is for consistency with other plugins, that all have their main
plugin class definition inside of `__init__.py`.
2023-09-24 19:21:53 +02:00
c3337ccc6c
[#311] Docs deps autogen sphinx plugin.
All checks were successful
continuous-integration/drone/push Build is passing
Added an `add_dependencies` plugin to the Sphinx build process that
parses the manifest files of the scanned backends and plugins and
automatically generates the documentation for the required dependencies
and triggered events.

This means that those dependencies are no longer required to be listed
in the docstring of the class itself.

Also in this commit:

- Black/LINT for some integrations that hadn't been touched in a long
  time.

- Deleted some leftovers from previous refactors (deprecated
  `backend.mqtt`, `backend.zwave.mqtt`, `backend.http.request.rss`).

- Deleted deprecated `inotify` backend - replaced by `file.monitor` (see
  #289).
2023-09-24 17:00:08 +02:00
27340f2889
Fixed a variable name in the Drone RPM step.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-23 16:48:49 +02:00
33b26fa8dd
fuse doesn't like inter-device move operations.
Some checks failed
continuous-integration/drone/push Build is failing
So the Drone pipeline has to resort to the cp+rm dance instead.
2023-09-23 16:42:15 +02:00
b9e68d69a9
Merge branch '316/rpm-support'
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-23 16:38:20 +02:00
bbd8e939e6
Fixed a multiline expression 2023-09-23 16:37:52 +02:00
fe5158d0ca Merge pull request '[#316] RPM support' (#328) from 316/rpm-support into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #328
2023-09-23 16:25:34 +02:00
ad2ee75c99
Updated docs
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-23 16:24:18 +02:00
059f7a4b11 Merge branch 'master' into 316/rpm-support
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-23 16:21:48 +02:00
f6dea0b4d4
Added RPM update step to Drone CI pipeline.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #316.
2023-09-23 16:21:00 +02:00
2b981f6b68
Added python-croniter dependency to Fedora.
Plus, some clean up of the variables on .drone.yaml.
2023-09-23 16:20:28 +02:00
b797add90d
Modify shebang header for Mercury JS script.
The RPM build process wants an absolute path.
2023-09-23 16:16:13 +02:00
a872d6f554
Added Fedora to the available Docker base images. 2023-09-22 19:02:13 +02:00
79e24461cb
Coalesce to empty list if zigbee.mqtt.devices returns null.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-22 17:00:53 +02:00
55965e962c
Store the Philips Hue bridge configuration under our workdir.
By default, the `phue` library will store the file containing the token
and the bridge configuration under `~/.python_hue`.

That's outside of our application folder, and it can't easily be copied
around or added to Docker volumes.

We should instead have it under `<WORKDIR>/light.hue/config.json`, in
line with what the other plugins do, and if `~/.python_hue` is available
but `<WORKDIR>/light.hue/config.json` isn't then we should copy the
legacy file to the new one.
2023-09-22 16:58:44 +02:00
761f2768cb
[#316] Added RPM dependencies.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-21 23:20:06 +02:00
453b6becae
FIX: We shouldn't expand cfgfile if it's empty.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-21 01:18:15 +02:00
bdbe263905
Added croniter to system dependencies.
The python-croniter package has now been added both to Arch's and
Debian's official repos, so we can install it via pacman or apt rather
than pip.
2023-09-21 01:07:49 +02:00
dfc876c411 Merge pull request '[#285] Removed old covid19 backend' (#327) from 285/remove-old-covid19-backend into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #327
2023-09-21 00:28:20 +02:00
648b4224bb
[#285] Removed old covid19 backend.
All checks were successful
continuous-integration/drone/push Build is passing
Those endpoints aren't even working anymore.

Closes: #285
2023-09-21 00:26:35 +02:00
4aa23d9309 Merge pull request '[#288] Removed legacy http.poll backend' (#326) from 288/remove-http-poll-backend into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #326
2023-09-20 23:55:39 +02:00
5d6d37785e
[#288] Removed legacy http.poll backend.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #288
2023-09-20 23:53:12 +02:00
18375dde40 Merge pull request '[#291] Removed deprecated light.hue backend' (#325) from 291/remove-light-hue-backend into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #325
2023-09-20 23:49:02 +02:00
7ba9a8930a
[#291] Removed deprecated light.hue backend.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #291
2023-09-20 23:46:40 +02:00
8925405788
Added | head -1 to git log commands that fetch the current head.
All checks were successful
continuous-integration/drone/push Build is passing
The reason is that `git log HEAD...HEAD~1` will return two or more
commits if we're dealing with merge commits, so we must be explicit that
we only need the latest one.
2023-09-20 23:42:34 +02:00
4fa3d7b311 Merge pull request '[#306] Removed Travis CI integration' (#324) from 306/remove-travisci into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #324
2023-09-20 23:35:38 +02:00
a6efaad26d
[#306] Removed Travis CI integration.
All checks were successful
continuous-integration/drone/push Build is passing
I've tried my best to keep it around, but the endpoints seem to be
broken, they no longer have a link to their API v3 documentation, and
the API Explorer that was supposed to be in the dashboard is gone.
2023-09-20 23:31:58 +02:00
9926aefed0
Added curl dependency to the deb pkg build steps.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 01:48:35 +02:00
3931a3cbf2
Added main deb release logic.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 01:42:25 +02:00
af4a586014
Added Release files signing logic to update-apt-repo.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 00:03:49 +02:00
e3fb0eeb11
Fixed typo
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:34:02 +02:00
f6517059f6
Generate hashes for all the architectures in the Release files.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:29:34 +02:00