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" |
||
---|---|---|
.github | ||
analyzer | ||
api | ||
api_client | ||
docs | ||
installer | ||
legacy | ||
logo | ||
playout | ||
shared | ||
tools | ||
utils | ||
worker | ||
.codespellignore | ||
.gitattributes | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
LEGACY.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
Vagrantfile | ||
cloud-init.yml | ||
install | ||
jekyll.sh | ||
packages.ini | ||
uninstall |
README.md
LibreTime makes it easy to run your own online or terrestrial radio station. It is a community managed fork of the AirTime project.
It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. Join us in fixing bugs and in defining how we manage the codebase going forward.
We are currently ramping up development on this repository.
Check out the documentation for more information and start broadcasting!
Please note that LibreTime is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Please submit enhancements, bugfixes or comments via GitHub.
Development Process
The LibreTime follows the standardized Collective Code Construction Contract (C4). Its abstract is provided here.
C4 provides a standard process for contributing, evaluating and discussing improvements on software projects. It defines specific technical requirements for projects like a style guide, unit tests, git and similar platforms. It also establishes different personas for projects, with clear and distinct duties. C4 specifies a process for documenting and discussing issues including seeking consensus and clear descriptions, use of "pull requests" and systematic reviews.
The full text of the contract is licensed under the GPL and available at the above link courtesy of the ZeroMQ community.
Releasing
The LibreTime maintainers release new versions of LibreTime at regular intervals. We follow the Semantic Versioning standards.
In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:
- MAJOR version when we make incompatible API changes,
- MINOR version when we add functionality in a backwards-compatible manner, and
- PATCH version when we make backwards-compatible bug fixes.
Given the history of the project we will be starting with version 3.0.0.
Stay tuned for early alphas and lots of betas as we get development up and running.
Support
To get support for any questions or problems you might have using the software we have a forum at discourse.libretime.org. We are moving towards using the forum to provide community support and reserving the github issue queue for confirmed bugs and well-formed feature requests.
You can also contact us through our Mattermost instance where you can talk with other users and developers.
Contributors
Code Contributors
This project exists thanks to all the people who contribute.
Financial Contributors
Become a financial contributor and help us sustain our community on OpenCollective.
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website.
License
LibreTime is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
Copyright
Copyright (c) 2011-2017 Sourcefabric z.ú.
Copyright (c) 2017-2021 LibreTime Community
Please refer to the LEGACY file for more information.