Commit Graph

42 Commits

Author SHA1 Message Date
Jonas L 9b3207b8a4
feat: move timezone preference to config file (#2096)
BREAKING CHANGE: The timezone preference moved to the configuration
file.
2022-09-14 12:48:08 +02:00
jo ef091d10cb fix(shared): load env from oneOf union schema 2022-09-12 12:54:06 +02:00
jo d9920a1196 feat(shared): create stream config models 2022-09-06 13:21:54 +02:00
Jonas L 1147853c63
feat(shared): pass config data via init (#2042) 2022-08-12 15:12:39 +02:00
Jonas L 6df1087abc
fix(shared): remove unused field from rabbitmq config (#2012) 2022-08-01 12:03:03 +02:00
jo bcd877266f feat(shared): load env config using jsonschema
The env loader is now capable of loading lists of objects, union types
or list of union types from the env variables.
They are some limitations: for example it doesn't support unions of
different shapes `list | dict` or `str | dict`.
2022-07-31 21:43:34 +02:00
jo 6c449e3019 fix(shared): validator value type can be wrong 2022-07-31 21:43:34 +02:00
Jonas L e75426bc4c
refactor(shared): explode config into multiple files (#1987) 2022-07-25 21:30:15 +02:00
jo be9f36dbdc feat(analyzer): move compute_md5 to shared library 2022-06-28 19:05:14 +02:00
Jonas L 6ef941b3f2
chore(shared): explicit function name time_fromisoformat (#1917) 2022-06-25 17:10:59 +02:00
jo 3ce60d4881 chore: move api-client datetime utils to shared 2022-06-24 17:56:24 +02:00
Jonas L 3705747132
feat(shared): add config trailing slash sanitizer (#1870) 2022-06-11 18:18:34 +02:00
jo f7bb6e7592 feat: move storage path setting to configuration file
- change default storage path to /srv/libretime
- remove music dirs table
- use /tmp for testing storage
- storage dir should always have a trailing slash
2022-06-08 23:23:08 +02:00
jo e4439390fe feat: change config file format to yaml
- docs: add link to yaml.org

BREAKING: The `ini` configuration file format changed to `yml`. Please
rewrite your configuration file using the yaml format.
2022-06-08 23:23:08 +02:00
Jonas L c78854b139
test(shared): remove bad disable no-self-use (#1862) 2022-06-04 22:27:09 +02:00
Jonas L a4caf4782b
fix(shared): allow list settings (#1837) 2022-05-05 18:14:32 +02:00
jo 9130cf2895 feat(shared): allow to disable log rotate/retention 2022-05-05 09:42:34 +02:00
Jonas L d098671f3b
feat: replace click envar with auto_envvar_prefix (#1829) 2022-05-05 09:41:32 +02:00
Jonas L 515a975e51
feat(shared): remove unused abstract app (#1828) 2022-05-04 14:12:06 +02:00
Jonas L 3a2e910f12
feat(shared): compress logs with gz (#1827) 2022-05-04 13:56:20 +02:00
jo 751d430bcc feat: replace exploded base_* with public_url
Fixes #1574

BREAKING CHANGE: The `general` section in the config schema has changed: the `general.base_*`, `general.protocol` and `general.force_ssl` configuration fields have been replaced with a single `general.public_url` field. Be sure to use a valid url with the new configuration field.
2022-04-25 16:45:01 +02:00
jo 000f09b095 feat(shared): do not exit on missing config file 2022-03-02 22:03:56 +02:00
jo ba0897a023 fix(shared): fix missing port in public_url 2022-02-25 11:42:28 +02:00
jo 31cf8361be feat(shared): return log level and filepath 2022-02-22 17:33:48 +02:00
jo 045fdc8d96 feat(shared): create time functions 2022-02-22 17:33:48 +02:00
jo 9d7d0ee6ca feat(shared): create general config model 2022-02-22 17:33:48 +02:00
jo d9852940d6 refactor(shared): dict merging using pydantic deep_update 2022-02-22 17:33:48 +02:00
jo 27c2221a68 feat(shared): load config from str filepath 2022-02-22 17:33:48 +02:00
Jonas L 42c2ecdf48
fix(shared): do not strip vhost slash (#1594) 2022-02-14 11:25:10 +02:00
Jonas L 784b9fb225
feat(shared): add url/dsn property to config classes (#1553) 2022-02-02 09:04:48 +02:00
jo 80dfbd3179 fix(shared): set logger encoding and dont assume encoding
Older versions of python might have ascii as default, we
should not assume that the default encoding always is "utf-8"
when opening files.
2022-02-01 04:23:05 +02:00
jo b9502bc203 test(shared): fix linting 2022-01-26 10:15:35 +02:00
jo 1a1f0488d5 test(shared): ignore pylint warning 2022-01-26 10:15:35 +02:00
jo b527c2704d feat(shared): add suffix to shared config models 2022-01-21 11:54:00 +02:00
Jonas L 1561353b20
feat(shared): allow cli parametrized decorators (#1527) 2022-01-20 07:30:35 +02:00
jo b1ecf25d6f feat(shared): allow loading from ini config file 2022-01-18 11:14:24 +02:00
jo 100784cb78 fix(shared): prevent child override by empty dict 2022-01-18 11:14:24 +02:00
Jonas L d986302de2
fix: change filepath options type to pathlib.Path (#1506) 2022-01-12 23:06:51 +02:00
Jonas L 40130303dd
feat: replace verbosity flag with log-level flag (#1496)
using a string flag is better when using environement variables.
2022-01-08 08:16:08 +02:00
Jonas L 501e7844e3
feat(shared): let user provide the log level (#1493)
* feat(shared): let user provide the log level

Simplify the logger setup, as choice should be
left to the user to import or guess  the log level from verbosity.

* fix: linting
2022-01-07 17:35:58 +02:00
Jonas L 48dea6e5d5
feat: enhance libretime shared (#1491)
* feat: allow custom delimiter in BaseConfig

* feat: add default config filepath constant
2022-01-06 16:25:43 +02:00
Jonas L 3a615cafa0
feat: create libretime_shared package (#1349)
* feat: create libretime_shared package

- We don't use pydantic.BaseSettings because of some
  incompatble loading behavior.

* fix: whitelist pydantic in pylintrc

* docs: update to new BaseConfig behavior

* docs: change confusing config filepath
2022-01-06 15:40:52 +02:00