Commit graph

4753 commits

Author SHA1 Message Date
e01782c344
An empty commit to re-trigger the CI/CD pipelines 2024-09-02 02:24:41 +02:00
6df699359c
Merge branch 'master' into 341/procedure-entities 2024-09-01 20:00:41 +02:00
861e7e7c52
[#341] More improvements on the procedures plugin.
- `procedures.status` should always sync with the db to ensure that the
  action returns the most up-to-date version of the procedures.

- Store, return and propagate entity procedure metadata.
2024-09-01 18:13:06 +02:00
1369848114
[#341] More procedures features.
- `procedures.exec` now supports running procedures "on the fly" given a
  definition with a list of actions.

- Fixed procedure renaming/overwrite logic.

- Access to `_all_procedures` should always be guarded by a lock.
2024-09-01 01:47:39 +02:00
9d086a4a10
[system] Don't use is_defined macro for system plugin entities.
It seems to clash with something and cause plugin actions to return
random `ImportError`.
2024-09-01 01:34:58 +02:00
7cc7009d08
[db] Always run PRAGMA foreign_keys = ON on SQLite connections.
This is the default behaviour on basically any other supported RDBMS.
2024-09-01 01:04:12 +02:00
a3eedc6adc
[core] Fix support for custom SQLAlchemy engine options on db conf.
Earlier any extra parameters passed to the `db` configuration other than
`engine` where ignored.

This enables engine-level configurations such as:

```yaml
db:
  # Display all SQL queries
  echo: true
```
2024-08-31 21:55:19 +02:00
740e35bd5e
Moved full dump of requests+responses+events to log debug level.
Messages can be quite big and verbose, and they can anyway be subscribed
over Websockets.

Full dumps are anyway enabled when Platypush is started in verbose mode.

This commit replaces the dumps on INFO level with a quick summary
containing the message ID, request/event type and response time.
2024-08-31 21:47:44 +02:00
457333929f
[#341] Added procedures.save and procedures.delete actions. 2024-08-30 02:08:42 +02:00
e593264eab
[#341] Added ProcedureType enum. 2024-08-30 02:05:02 +02:00
cb9244964c
[Automatic] Updated components cache 2024-08-27 22:19:09 +00:00
62980cc9e2 [procedures] Store actions for YAML procedures. 2024-08-27 22:18:15 +00:00
42d672ab5e 🐛 Fixed import error 2024-08-27 22:18:15 +00:00
ef524fa388 [config] Added config.get_config_dir method. 2024-08-27 22:18:15 +00:00
dea72fbfdb [#341] Support for procedure reconciliation.
If some procedures are removed either from the configuration or from the
loaded scripts, then their associated entities should also be removed
from the database when the `procedures` plugin is loaded.
2024-08-27 22:18:15 +00:00
99909c73ab [#341] Backend implementation of the new procedure entities architecture. 2024-08-27 22:18:15 +00:00
1ee8055597 [WIP] 2024-08-27 22:18:15 +00:00
d9916873cb
[procedures] Store actions for YAML procedures. 2024-08-28 00:14:54 +02:00
234963b069
🐛 Fixed import error 2024-08-28 00:14:21 +02:00
ffc3fe218d
[config] Added config.get_config_dir method. 2024-08-28 00:13:46 +02:00
0f186c44ef
[#341] Support for procedure reconciliation.
If some procedures are removed either from the configuration or from the
loaded scripts, then their associated entities should also be removed
from the database when the `procedures` plugin is loaded.
2024-08-25 23:45:11 +02:00
06781cd72c
[#341] Backend implementation of the new procedure entities architecture. 2024-08-25 16:06:56 +02:00
24f7d4a789
Merge branch 'master' into 341/procedure-entities 2024-08-25 14:29:43 +02:00
c788f2d858
[Automatic] Updated components cache 2024-08-25 01:25:37 +00:00
f6b1f92a88
🐛 file.bookmarks must be optional. 2024-08-25 03:24:02 +02:00
9f8fe60cdf
An empty commit to re-trigger the CI/CD pipelines 2024-08-25 03:20:38 +02:00
83d21d3f04
[media] Media played from live streams should be at least 5MB before playback starts. 2024-08-25 03:16:59 +02:00
54a6b34a64
[file] Added support for UI bookmarks on the file plugin. 2024-08-25 03:16:59 +02:00
377b2c2425
[Automatic] Updated UI files 2024-08-25 01:15:10 +00:00
a152b0d734
[#333] Added file browser UI panel.
Closes: #333
2024-08-25 03:13:05 +02:00
496dfdb50b
[Media UI] Adapted media browser to the new file browser plugin. 2024-08-25 03:13:04 +02:00
9493445af6
[Media UI] Renamed play-cache event to play-with-opts.
As we're likely to add more play options in the future, this approach is
much more scalable.
2024-08-25 03:13:04 +02:00
0657c80a5c
[#333] Enhanced file browser component.
- Added support for file/directory add/copy/move/rename/remove
  operations.

- Added automatic detection of MIME types.

- Added support for file view/download.

- Added file uploader component.

- Added custom sorting and other visualization options.

- Added custom `Home` component to show configurable bookmarks above the
  filesystem root level.

- Added file editor with automatic syntax highlight.
2024-08-25 03:13:04 +02:00
e672a7fb5c
[Media UI] Always normalize the duration field to float. 2024-08-25 03:13:04 +02:00
e8acf8615f
[UI] Added disabled property to FloatingButton. 2024-08-25 03:13:04 +02:00
336cb18cb3
[UI] New features for the Modal element.
- Added `uppercase` property (default: true) for the modal title. This
  makes it possible to override the default case of the modal title.

- Added support for custom buttons in the modal titlebar.
2024-08-25 03:13:03 +02:00
342df0eeec
[UI] Added common disabled style to buttons. 2024-08-25 03:13:03 +02:00
e6a358fe27
[UI] Added quick String.hashCode function.
This is needed in several places in the code where we need to compare if
two strings differ, but either the strings are too long (e.g. content of
large files) or we don't want to pass the original values (e.g.
credentials, session tokens etc.).
2024-08-25 03:13:03 +02:00
818f60a468
[UI] Better parsing of the parameter types in getUrlArgs and setUrlArgs. 2024-08-25 03:13:03 +02:00
db34a607e4
[UI] Improvements to the Dropdown element.
- Added `style` property to pass static style rules to the dropdown
  body.

- Better positioning of the dropdown when the resulting body is too long
  and may overflow the top of the screen - in that case, the dropdown
  position needs to be maximized at zero.
2024-08-25 03:13:03 +02:00
8f2e68f0db
[UI] Added visible property to ConfirmDialog element. 2024-08-25 03:13:02 +02:00
8b3c2a8ee1
[UI] Updated highlight.js dependency 2024-08-25 03:13:02 +02:00
92bff4decb
[Automatic] Updated components cache 2024-08-24 22:13:00 +00:00
0bb264792e
[file] Added file.copy and file.move actions. 2024-08-25 00:11:38 +02:00
a5426ede58
[file] Added recursive option to file.rmdir. 2024-08-25 00:11:38 +02:00
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