Commit Graph

68 Commits

Author SHA1 Message Date
jo 80218f33eb chore: rewrite extract-requirements to python
Using python ast to guess requirements in the setup.py file.
2022-07-17 21:25:37 +02:00
jo 28857fbf49 refactor(playout): remove date_interval_to_seconds function
Replace date_interval_to_seconds function with
either timedelta.total_seconds() or seconds_between().
2022-07-17 13:29:03 +02:00
jo db3f9bed82 chore(playout): remove module docstring 2022-07-17 13:29:03 +02:00
jo ad5dc6caf8 refactor(playout): log level setup 2022-07-17 13:29:03 +02:00
jo 8ef6784a39 refactor(playout): use pathlib to build the path 2022-07-17 13:29:03 +02:00
jo 2bc7d64cc4 feat(playout): use liquidsoap version functions
- remove "packaging" package
2022-07-17 13:29:03 +02:00
jo 58ad40f997 chore(playout): use 'entrypoint' generic module name 2022-07-17 13:29:03 +02:00
jo bd8b17a2cd chore(playout): remove unused liquidsoap.cfg 2022-07-17 11:02:36 +02:00
jo 86a9af1bc1 chore(playout): move liquidsoap package in a module 2022-07-17 11:02:36 +02:00
jo 2f205544c2 feat: use dedicated 'libretime' user
BREAKING CHANGE: The default `www-data` user has been replaced by a dedicated  `libretime` user to run the services. Be sure to change the ownership of the libretime files.
2022-07-07 10:51:07 +02:00
jo b8056a9f7a chore(playout): use EventKind enum 2022-07-01 13:16:57 +02:00
jo 97b723d0a5 chore(playout): rename variables 2022-07-01 13:16:57 +02:00
jo 2ad65bba8c chore(playout): use comments instead of docstrings 2022-07-01 13:16:57 +02:00
jo fa136fad97 chore: explicit schedule file metadata dict values 2022-07-01 11:07:26 +02:00
jo 34864b8623 chore(playout): update file fields 2022-06-29 13:51:07 +02:00
Jonas L 6ef941b3f2
chore(shared): explicit function name time_fromisoformat (#1917) 2022-06-25 17:10:59 +02:00
jo 1faf5a724b chore: move api client get_schedule to playout 2022-06-24 17:56:24 +02:00
jo 510e978952 feat: add systemd libretime.target
- add wanted by
- instantly start services in vagrant
2022-06-08 23:23:08 +02:00
jo ee98387264 feat(installer): rewrite install script
- remove unused root packages.ini
- write config to yaml file
- allow to set public_url during install
- force icecast start right after package install
- move config file in place at the end of installation

BREAKING CHANGE: The bash installer has been rewritten, the flags and
options changed, please run `./install --help` to get more details.
2022-06-08 23:23:08 +02:00
jo aed6d2f294 feat: change config dir path to /etc/libretime
BREAKING: The configuration directory changed from `/etc/airtime` to
`/etc/libretime`. Please rename your configuration directory accordingly.
2022-06-08 23:23:08 +02:00
jo 604ff20239 feat: change config filename to config.yml
BREAKING: The configuration file name changed from `airtime.conf` to
`config.yml`. Please rename your configuration file accordingly.
2022-06-08 23:23:08 +02:00
Jonas L a73084e612
feat(playout): remove unused liquidsoap_prepare_terminate.py (#1854)
Related to cde6db812f
2022-05-21 18:37:54 +02:00
jo bc6b43c43c feat: rotate logs using libretime user 2022-05-05 09:42:34 +02:00
jo f58e51ec84 fix(playout): disable playout-notify log rotation
Let logrotate handle liquidsoap.log log rotation.

Fix #1546
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 5f4badcdeb
ci: build test images for ubuntu jammy (#1743) 2022-04-09 16:18:12 +02:00
Jonas L fef38fb131
chore: rename api_client to api-client (#1727) 2022-04-04 10:25:38 +02:00
Jonas L 8c96c0a094
feat: remove unused python3-venv package (#1728) 2022-04-02 05:41:43 +02:00
Jonas L 331df277b4
docs: fix and update links (#1714) 2022-03-29 13:07:38 +02:00
Jonas L be25dea447
fix(playout): add locales to libretime-playout-notify calls (#1715)
Fix python36 encoding runtime error that was failing on bionic,
see https://click.palletsprojects.com/en/8.1.x/unicode-support/ for
details.

Fixes #1606
2022-03-29 13:04:44 +02:00
jo b38596f56e fix(playout): remove stream_buffer_start in event dispatch
Related to 9fc4552cfe
2022-03-06 15:17:44 +02:00
jo f2b9bd6fed chore(playout): api_client schedule data log entry 2022-03-06 15:17:44 +02:00
Jonas L d55e58e416
chore: auto generate requirements.txt (#1651)
- force LC_ALL for the sort command
2022-02-28 20:02:01 +02:00
jo 90e0bcb6f8 test(playout): add bandit linter check 2022-02-14 21:01:35 +02:00
jo 6419435601 style: format code using black 2022-02-09 17:24:36 +02:00
jo 9fc4552cfe fix(playout): properly populate scheduled_now_webstream
If scheduled_now_webstream is an empty array, the webstream will automatically be stopped, so we need to make sure the scheduled_now_webstream is aways properly populated.
2022-02-02 17:13:52 +02:00
jo 51378e1e6f fix(playout): only exclude ended file event
The webstream schedule logic seem to rely on already ended events to check if the stream running is the right one.
We should not exclude these webstream events from the schedule.
2022-02-02 15:15:24 +02:00
jo 348d2d81f0 fix(playout): proper logger format string 2022-02-02 15:15:24 +02:00
Jonas L ff2c733170
feat(playout): change liquidsoap working dir (#1547)
BREAKING CHANGE: When running liquidsoap as a systemd service, the working directory is now /var/lib/libretime/playout.
2022-01-31 11:13:49 +02:00
jo 32cb67806a chore: add pyupgrade pre-commit hook
- add --py3-plus flag to pyupgrade hook
- add --py36-plus flag to pyupgrade hook
2022-01-27 10:37:48 +02:00
jo 9de82bb568 chore: make linters config consistent in pyproject.toml
- remove mypy config from makefile
2022-01-26 10:15:35 +02:00
jo 7988b7467b test: allow to set python linters to fail per app 2022-01-26 10:15:35 +02:00
jo 0f8cb1a5ed chore: set python build system in pyproject.toml
- fix local package install
- local packages requirement url format
2022-01-26 10:15:35 +02:00
jo 441028a1d2 chore: make setup.py file chdir consistent 2022-01-26 10:15:35 +02:00
Jonas L 1924919e18
fix(shared): type is required for default config submodel (#1536)
We cannot load submodels values from environment variables without having the submodel type annotations.
2022-01-24 15:24:16 +02:00
jo 13852bb6db refactor(playout): remove unused imports 2022-01-24 12:46:40 +02:00
jo 1c50b28500 refactor(playout): move constants in config 2022-01-24 12:46:40 +02:00
jo fa7692071c feat(playout): load config using shared helpers
- backport >=py38 Literal type
- update configuration sample
- add missing config filepath to systemd service
- make config sections optional

BREAKING CHANGE: the playout config schema has been changed like the following:
- the top section 'pypo' was renamed to 'playout'
- the 'playout.ls_*' entries were renamed to 'playout.liquidsoap_*'
- the 'playout.*_dir' entries were removed
- the 'playout.api_client' entry was removed
- the 'playout.record_file_type' entry was renamed to 'playout.record_file_format'
- the 'playout.base_recorded_files' entry was removed
- the 'playout.poll_interval' entry was removed
- the 'playout.push_interval' entry was removed
- the 'playout.cue_style' entry was removed
2022-01-24 12:46:40 +02:00
jo 12f96f5043 feat(playout): change playout working directory
- use working dir for storing files

BREAKING CHANGE:  the playout working directory changed from '/var/tmp/airtime/pypo/' to '/var/lib/libretime/playout' when running with systemd and the current directory by default.
2022-01-24 12:46:40 +02:00
Jonas L 1561353b20
feat(shared): allow cli parametrized decorators (#1527) 2022-01-20 07:30:35 +02:00