841643f3ff
Added cachedir
to configuration.
2023-10-09 01:33:44 +02:00
5ca3757834
A more readable configuration for the calendar
plugin.
...
The old type configuration
(`platypush.plugins.calendar.name.CalendarNamePlugin`) is a bit clunky.
Instead, since the type will always be a plugin, we should encourage
the use of `calendar.name` directly to identify the type.
2023-10-01 01:09:15 +02:00
453b6becae
FIX: We shouldn't expand cfgfile
if it's empty.
2023-09-21 01:18:15 +02:00
4c4a33dc7c
Added Bluetooth example configuration to sample config.yaml.
2023-09-17 03:25:21 +02:00
fa2b84a269
Updated example configuration for mqtt and mqtt-based plugins.
2023-09-16 15:26:07 +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
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
a8255f3621
Pass the configuration file used by the application to the Alembic process.
...
The database settings could also be overridden in the configuration file
besides the command line.
We should therefore pass the path to the runtime configuration file, so
the Alembic process can initialize its configuration from the same file
and use the same settings.
2023-08-19 13:23:20 +02:00
1825b492b3
Replaced Config.workdir
with Config.get_workdir()
.
...
Again, Python < 3.9 doesn't like class properties.
2023-08-19 13:21:24 +02:00
a8836f95f5
Support explicit workdir
parameter override in Config
constructor.
2023-08-19 13:15:29 +02:00
5bc82dfe64
s/Config._cfgfile/Config.config_file/g
2023-08-19 13:13:36 +02:00
ac83b43f98
Support for custom key-value overrides on Config.init
.
2023-08-17 22:03:39 +02:00
657b2cc87d
Create the default configuration file even if --config is supplied but the file doesn't exist.
2023-08-17 11:25:49 +02:00
91cd08cdff
Adapted tests to use a locally started Redis instance.
2023-07-24 10:37:07 +02:00
7a20fec52f
[ #60 ] Added --workdir
and --logsdir
command-line options.
...
Also, the application is now using `XDG_CONFIG_HOME` and
`XDG_DATA_HOME` if available to lookup the configuration file and
working directory.
Closes : #60
2023-07-24 03:29:08 +02:00
77ffefdccb
Added a Config.set
method.
...
A useful interface to change configuration values at runtime.
2023-07-24 00:48:07 +02:00
315a89fb65
Added a default
parameter to Config.get
.
2023-07-23 23:31:57 +02:00
d49e5b1f6a
Expose Config.workdir
property.
...
This is a useful proxy to avoid using `Config.get('workdir')` string
lookup.
2023-07-22 15:11:58 +02:00
c846c61493
Refactored Config.__init__
.
...
The constructor of the `Config` class had grown too big. It's much more
manageable if split into multiple sub-constructor helpers.
2023-07-15 13:38:07 +02:00
0a3d6add83
Support ./config.yaml
as a config file location.
2023-07-15 01:29:41 +02:00
a8d2261f32
Added core_plugins
to the configuration.
...
These plugins (only including `variable` for now) are a core part of the
application and should always be explicitly enabled.
2023-04-29 11:34:34 +02:00
b96838a856
Major LINT fixes/refactor for the Config
class
2023-02-04 17:35:48 +01:00
219a0a99ca
main.db
should use the configured workdir
when not specified.
...
Closes : #234
Reviewed-On: platypush/platypush#234
2022-12-09 23:37:10 +01:00
a5db599268
FIX: Skip empty lines on config.include
2022-10-14 20:56:18 +02:00
db45d7ecbf
FIX: More robust logic against section configurations that may not be maps
2022-08-31 01:27:53 +02:00
3edb8352b4
Support sections with empty bodies in the YAML configuration files.
2022-07-16 02:09:22 +02:00
371fd7e46b
Generate a default config.yaml if none is present instead of failing
2022-04-27 13:57:42 +02:00
a80adc996f
[WIP] Default config.yaml in case a configuration file is missing in the default locations
2022-04-25 16:54:26 +02:00
3bfc5b83ef
Moved to manifest files for describing plugins and backends and their dependencies
2021-09-16 17:53:40 +02:00
6f224cbda9
Removed legacy "local" backend and pusher script
2021-03-13 01:52:15 +01:00
Fabio Manganiello
39abdfe40a
New Vue.js template for dashbord WIP
2020-11-21 01:12:08 +01:00
Fabio Manganiello
1c84659e34
Support for Python cronjobs in scripts folder - closes #156
2020-10-13 23:25:27 +02:00
Fabio Manganiello
dc1b54961f
Added inspect.get_config()
method to get the configuration programmatically
2020-08-31 18:26:08 +02:00
Fabio Manganiello
124269776d
Support for procedure imports from scripts base module
2020-04-10 20:59:32 +02:00
Fabio Manganiello
25ea0ea77c
Included scripts_dir parent dir on sys.path so scripts can import members through the "scripts" package
2020-04-10 00:40:46 +02:00
Fabio Manganiello
0dae03551f
Implemented interface for custom Python scripts, procedures and hooks [ closes #131 ]
2020-04-08 23:22:54 +02:00
Fabio Manganiello
a5c08ed3e4
Added PicoVoice plugin with support for hotwords [see #130 ]
2020-03-07 02:00:35 +01:00
Fabio Manganiello
be5c5d365c
Added execute tab to webpanel
2019-12-08 16:25:03 +01:00
Fabio Manganiello
675b690929
switches should not be considered as a special token in the Config object
2019-12-04 02:58:45 +01:00
Fabio Manganiello
346b1be924
Filter out in get_plugins the special configuration fields not associated with plugins
2019-12-01 23:53:14 +01:00
Fabio Manganiello
a18452ab2e
Made procedure.[sync|async].name second argument optional
...
A procedure will be sync if [sync|async] is not specified
2019-12-01 16:48:57 +01:00
Fabio Manganiello
dcb4a36959
Replaced os.environ['HOME'] with os.path.expanduser('~') (Windows compatibility)
...
Solves #74
2019-07-29 00:03:01 +02:00
Fabio Manganiello
9f008aa954
typo
2019-03-17 01:41:00 +01:00
Fabio Manganiello
7fb53ead59
Always cast environment variable values to string
2019-03-17 01:39:24 +01:00
Fabio Manganiello
2f1cea99fa
Support for environment variables passed through main config
2019-03-17 01:34:42 +01:00
Fabio Manganiello
09c1598829
More flexible management for included config files paths
2018-12-30 20:18:55 +01:00
Fabio Manganiello
725b3dd672
Included reference to the included files in Config
2018-12-19 23:39:41 +01:00
Fabio Manganiello
6a9ddb9e53
Made config relative paths and include files expansion more robust
2018-12-19 09:19:58 +01:00
Fabio Manganiello
f9b23afbb6
Fixed typo on main.db
2018-12-18 22:20:33 +01:00