Commit graph

4808 commits

Author SHA1 Message Date
2c481c54af
[file] Added POST/PUT /file endpoints. 2024-08-25 00:11:38 +02:00
0010342fb7
Get the original MIME type for symlinks.
If the target resource is a symbolic link, then `get_mime_type` should
retrieve the MIME type of the linked resource.
2024-08-25 00:11:38 +02:00
1e9418b072
[file] file.list, file.is_binary and file.get_user_home actions.
- Added `sort` and `reverse` arguments to `file.list`.

- Added `file.is_binary` and `file.get_user_home` actions.
2024-08-25 00:11:37 +02:00
213498318f
[media] Support extended format/metadata for media dirs. 2024-08-25 00:11:37 +02:00
077e12e9a8
[media] Allow media_dirs to be either a list or a dict.
This allows the user to have some user-friendly names for their
collections on the UI, such as `Movies` instead of
`/mnt/hd/media/movies`.
2024-08-25 00:11:37 +02:00
897e8a9ff7
[Automatic] Updated components cache 2024-08-19 01:08:49 +00:00
b439b8b0f4
[file] Better implementation of file.get_mime_types.
- The MIME magic functions apparently aren't thread safe, and they may
  crash the interpreter if called concurrently. Lock calls to
  `file.get_mime_types`.

- Added an LRU cache for the MIME type results.
2024-08-19 03:07:34 +02:00
f1c640fabb
[Automatic] Updated components cache 2024-08-19 00:14:32 +00:00
666bbe5372
Removed media.omxplayer reference. 2024-08-19 02:11:40 +02:00
9dfb22c23a
[file] Added file.info and file.get_mime_types actions. 2024-08-19 02:10:51 +02:00
2b48edfabc
[media.vlc] Prevent deadlock on media.vlc.quit.
`_on_stop_event` may be set by the callback, but then cleared again when
`_reset_state` is called.

This can result in the `_on_stop_event.wait` call in `quit` to time out.

Instead, `_on_stop_event` should be cleared only when the player goes
into `playing` or `paused` mode. It's only then that we know for sure
that the state isn't `stopped`, and only in that case it makes sense to
wait for a stop.
2024-08-19 02:02:21 +02:00
6e27c9b8e4
Bump version: 1.2.2 → 1.2.3 2024-08-18 15:22:02 +02:00
74a2958ff4
Updated CHANGELOG 2024-08-18 15:22:02 +02:00
8333cc09ee
[Automatic] Updated UI files 2024-08-18 11:05:26 +00:00
01571e2e65
[UI] Many improvements for the media UI.
- Support for _Play_ / _Play (With Cache)_ options for YouTube videos.

- Added `media.chromecast` and `media.gstreamer` UI panels.

- Removed `media.omxplayer` - the plugin has been removed.

- Enriched and improved the media info component.

- Propagate the media loading state to all children components.

- Persist query/search state on the URL.

Closes: #422
2024-08-18 13:03:04 +02:00
a21aaee888
[Automatic] Updated components cache 2024-08-18 10:58:02 +00:00
5080caa38e [#422] Enabled support for yt-dlp mux+transcoding in media plugins
Reviewed-on: platypush/platypush#423
2024-08-18 12:56:47 +02:00
ca5853cbab
[Automatic] Updated UI files 2024-08-15 17:58:53 +00:00
1f120b167b
Merge pull request #444 from blacklight/dependabot/npm_and_yarn/platypush/backend/http/webapp/axios-1.7.4
Bump axios from 1.7.1 to 1.7.4 in /platypush/backend/http/webapp
2024-08-15 19:54:58 +02:00
dependabot[bot]
09412acba7
Bump axios from 1.7.1 to 1.7.4 in /platypush/backend/http/webapp
Bumps [axios](https://github.com/axios/axios) from 1.7.1 to 1.7.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.1...v1.7.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-15 17:54:22 +00:00
af21ff13ff
[WIP] 2024-08-13 22:27:10 +02:00
e0ff180fb0
[Automatic] Updated components cache 2024-08-13 11:41:39 +00:00
1189e71539 Added merge_output_format option to media plugins 2024-08-13 13:40:15 +02:00
50beb1460b
[Automatic] Updated components cache 2024-08-12 07:45:30 +00:00
d155094729
[zigbee.mqtt] Minor LINT fixes. 2024-08-12 09:44:07 +02:00
866be36aad
[Automatic] Updated components cache 2024-08-09 13:37:56 +00:00
129c7587ad
[zigbee.mqtt] Removed synchronous logic on device_set.
Don't wait for a value update on `device_set` - an event will be
triggered anyway when the value changes.

This should prevent timeouts when setting/toggling values.
2024-08-09 15:36:39 +02:00
d70737ea2b
[zigbee.mqtt] Added more logging lines on device_set action. 2024-08-09 15:36:34 +02:00
b8b70f43c0
[Automatic] Updated components cache 2024-07-27 19:52:18 +00:00
8b6c1fb969
Fixed NPE on the /auth endpoint in case the user response is already a UserAuthStatus. 2024-07-27 21:47:55 +02:00
0071fc54b3
Bump version: 1.2.1 → 1.2.2 2024-07-27 16:34:02 +02:00
ee1d91db6b
Updated CHANGELOG 2024-07-27 16:33:55 +02:00
d0f65e84e0
Restored some sections of setup.py.
Otherwise the installation won't work properly on Debian oldstable (and
probably any Python installation that doesn't fully support
pyproject.toml yet).
2024-07-27 16:22:14 +02:00
4d18345cda
Bump version: 1.2.0 → 1.2.1 2024-07-27 15:40:20 +02:00
4c80e6fd34
Fixed github.com repo URL case. 2024-07-27 15:38:55 +02:00
598de6b91a
[CI/CD] Only push tags to Github on the second git push command. 2024-07-27 15:36:22 +02:00
20483524d1
Updated CHANGELOG. 2024-07-27 15:34:29 +02:00
9bbdfc1eb9
[CI/CD] Mirror also tags to Github. 2024-07-27 15:31:50 +02:00
4568b4659e
[CI/CD] grep the version out of version.py.
Instead of running `python setup.py --version`.

That's because earlier versions of Python that don't fully support
dynamic version specifications through `pyproject.toml` may just return
`0.0.0` here.
2024-07-27 15:29:08 +02:00
54c2264403
license is not required in pyproject.toml if it's already specified in classifiers. 2024-07-27 15:18:47 +02:00
52d92da907
Upgraded license date. 2024-07-27 15:12:45 +02:00
88cc18de92
Replaced remaining setup.py references in the code with pyproject.toml. 2024-07-27 15:12:19 +02:00
fb99eefe40
Bump version: 1.1.3 → 1.2.0 2024-07-27 14:43:16 +02:00
ba390ab2f3
[Automatic] Updated components cache 2024-07-27 12:41:32 +00:00
6053a80796
Added backend /login and /register routes.
These are required for clients that don't have JS enabled and will get a
404 otherwise.

The routes simply render `index.html`, which will be empty if JS is
disabled and will redirect to the appropriate login/registration Vue
route if the user isn't logged in.
2024-07-27 14:39:09 +02:00
ccc778e056
Setting optional-dependencies as dynamic in pyproject.toml. 2024-07-27 14:15:01 +02:00
e10f1d7e1b
[Automatic] Updated components cache 2024-07-27 12:09:07 +00:00
de96b4ea17
Migrated project setup to pyproject.toml. 2024-07-27 14:06:53 +02:00
92fe119cff
Removed psutil as a required pip dependency.
Moved to optional dependencies for `system` plugin.

It requires gcc, linux-headers and python-dev to be installed on the
system.

The `python-psutil` system package however will still be installed when
Platypush is installed through a package manager.
2024-07-27 14:02:53 +02:00
f809ce0cb0
Apparently the version variable needs to always be named __version__.
Otherwise bump-my-version gets confused.
2024-07-27 12:13:40 +02:00