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.
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.
- 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
- 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.
Fixes#1502
- replace notify option parser with click
- refactor call from liquidsoap to playout-notify
BREAKING CHANGE: the libretime-layout-notify log file in '/var/log/airtime/pypo-liquidsoap/notify.log' was removed and merged into the existing '/var/log/libretime/liquidsoap.log' log file.
Some initial work on modernizing the playout app. This replace any custom logger or
logging based logger with the logging tools from libretime_shared.logging and loguru.
Removed all the thread/function assigned logger (self.logger = ...), as this makes it
part of the logic (passing logger though function args) as it should not.
Of a dedicated logger is required for a specific task, it should use
the create_task_logger function.
- refactor: remove dead code
- refactor: remove py2 specific fix
- feat: remove unused test command
- feat: setup shared cli and logging tools
- feat: replace logging with loguru
- feat: setup shared cli and logging tools for notify
- fix: warn method deos not exist
- feat: make cli setup the entrypoint
- fix: install shared modules globally in production
use extra_requires to load local packages in dev environement
- feat: configure log path in systemd service
- feat: default behavior is to log to console only
- feat: create log dir during install
- chore: add comment
- fix: don't create useless dir in install
- fix: move notify logs to /var/log/libretime dir
- fix: update setup_logger attrs
- style: linting
- fix: replace verbosity flag with log-level flag
- feat: use shared logging tool in liquidsoap
- fix: pass logger down to api client
- feat: allow custom log_filepath in liquidsoap config
- chore: add pylintrc to playout
- refactor: fix pylint errors
- feat: set liquidsoap log filepath in systemd service
- fix: missing setup entrypoint update
BREAKING CHANGE: for playout and liquidsoap the default log file path changed to None
and will only log to the console when developing / testing. Unless you are running the
app as a systemd service (production) the default logs filepaths changed:
from "/var/log/airtime/pypo/pypo.log" to "/var/log/libretime/playout.log" and
from "/var/log/airtime/pypo-liquidsoap/ls_script.log" to "/var/log/libretime/liquidsoap.log"
BREAKING CHANGE: for playout-notify the default log file path changed
from "/var/log/airtime/pypo/notify.log" to "/var/log/libretime/playout-notify.log"
Until pip out-of-tree dependencies work with our setup and we can update
to newer versions of our dependencies, assume api client is installed
without explicitly adding it as a dependency. The install script
installs api_client anyway
Fixes: #1435
* Add shared python format-check target
* Add .format-check to api lint target
* Format api code with makefile format target
* Add .format-check to tools lint target
* Add .format-check to analyzer lint target
* Format analyzer code with makefile format target
* Add .format-check to celery lint target
* Add .format-check to api_client lint target
* Format api_client code with makefile format target
* Add .format-check to playout lint target
* Run CI linting in parallel
* Disable isort in pre-commit