jo
715144a92d
chore: move isort config to pyproject.toml
2023-01-16 08:42:23 +02:00
jo
14beb885a3
chore: split test and coverage tasks
2023-01-16 08:42:23 +02:00
jo
37ba9d0986
chore: release 3.0.1
2022-12-20 16:27:29 +01:00
jo
86ceac76d8
chore: release 3.0.1
2022-12-20 16:16:30 +01:00
jo
f394336efc
chore: move isort config to pyproject.toml
2022-12-07 15:59:52 +02:00
jo
5738edb49c
chore: split test and coverage tasks
2022-12-07 15:59:52 +02:00
Jonas L
696666475c
fix: remove systemd ProtectHome feature ( #2244 )
...
Fix #2242
2022-10-19 12:37:39 +02:00
Jonas L
959c0378d6
fix: remove systemd ProtectHome feature ( #2243 )
...
Fix #2242
2022-10-19 12:27:02 +02:00
jo
0e1dfaa9ff
refactor: upgrade code to Python 3.8
2022-10-11 09:28:52 +02:00
jo
ea8131ec43
feat: drop Python 3.7 support
2022-10-10 23:49:10 +02:00
jo
7d514a9306
chore: list distribution releases by release date
...
Old releases should be popped from the left/top and new releases should be added to the right/bottom of any distro release list.
2022-10-10 20:11:33 +02:00
jo
5eda6093f4
feat: drop Debian Buster support
...
Fixes #2036
2022-10-10 20:11:33 +02:00
jo
d29d837d01
feat: drop Python 3.6 support
2022-10-10 20:11:33 +02:00
jo
448cff7600
feat: drop Ubuntu Bionic support
...
Fixes #2035
2022-10-10 20:11:33 +02:00
Jonas L
96ded62c32
chore: release 3.0.0 ( #2216 )
2022-10-10 17:51:15 +02:00
jo
d726a097b0
test(analyzer): fix wrong bit_rate values
...
Mutagen >=1.46 properly compute the bit_rate for wav files.
2022-10-10 12:21:55 +02:00
renovate[bot]
019b4686ae
chore(deps): update dependency mutagen to >=1.45.1,<1.47
2022-10-10 12:21:55 +02:00
jo
04490676f6
chore: release 3.0.0-beta.2
2022-10-03 12:43:38 +02:00
Jonas L
c9bc3a1298
feat: extra systemd service hardening ( #2197 )
2022-09-27 13:17:43 +02:00
Jonas L
4c18cf5ef2
feat: systemd service hardening ( #2186 )
2022-09-27 11:51:17 +02:00
jo
ddae3202cc
chore: release 3.0.0-beta.1
2022-09-23 13:41:14 +02:00
jo
bdc2e92454
chore: release 3.0.0-beta.0
2022-09-16 16:32:00 +02:00
Jonas L
45a131b668
chore: update outdated readmes ( #2131 )
2022-09-12 20:45:37 +02:00
jo
2afb766b41
chore: outdated python packages versions
2022-09-12 10:48:43 +02:00
Jonas L
8b5749ec98
ci: build test images for debian bookworm ( #2097 )
2022-09-07 23:17:46 +02:00
Jonas L
9a8011a12f
test(analyzer): analyze large audio files ( #2050 )
2022-09-06 13:11:19 +02:00
jo
cfcfcc82e4
chore: revert pin setuptools to <64.0.0 for build backend
...
This reverts commit 2bde574487
.
2022-08-25 09:51:36 +02:00
Jonas L
1147853c63
feat(shared): pass config data via init ( #2042 )
2022-08-12 15:12:39 +02:00
jo
2bde574487
chore: pin setuptools to <64.0.0 for build backend
2022-08-11 22:16:00 +02:00
jo
dc30d8836b
refactor(analyzer): rewrite analyze playability
2022-08-09 21:07:07 +02:00
jo
04e5a7e404
feat(analyzer): override paths using env variables
...
Allow overriding FFMPEG, FFPROBE, or LIQUIDSOAP paths using env variables.
2022-08-09 21:07:07 +02:00
Jonas L
1b93b7645e
refactor(analyzer): fix linting errors ( #2029 )
2022-08-09 20:49:04 +02:00
Jonas L
b465629977
chore: disable pylint logging-fstring-interpolation format ( #2033 )
2022-08-09 20:30:44 +02:00
Jonas L
140cf4427b
test: enable logs when running pytest ( #2008 )
2022-07-31 11:23:27 +02:00
jo
22868ce158
chore: remove chdir in setup.py files
2022-07-27 15:35:57 +02:00
jo
b93e1e5570
chore: install local python deps in editable mode
2022-07-27 15:35:57 +02:00
Jonas L
067b35e9bb
feat(analyzer): load callback details from config and file_id ( #1993 )
2022-07-26 14:19:22 +02:00
jo
c395fd7f0a
chore(analyzer): install missing requests types
2022-07-25 21:24:47 +02:00
jo
7bd369f20c
refactor(analyzer): fix linting
2022-07-25 21:24:47 +02:00
jo
0babe0f243
chore(analyzer): clean old comments
2022-07-25 21:24:47 +02:00
jo
58230b7974
refactor(analyzer): remove unused import
2022-07-25 21:24:47 +02:00
jo
fc53636c37
fix(analyzer): remove outdated urllib3 workaround
2022-07-25 21:24:47 +02:00
Jonas L
77f5c9951e
chore: improve setuptools find_packages ( #1985 )
2022-07-25 21:19:41 +02:00
jo
b2e8fcf36b
chore(analyzer): update pika version range
2022-07-17 21:25:37 +02:00
jo
30c202786f
chore: update requests version range
2022-07-17 21:25:37 +02:00
jo
f256f9bd10
chore: update mutagen version range
2022-07-17 21:25:37 +02:00
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
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
be9f36dbdc
feat(analyzer): move compute_md5 to shared library
2022-06-28 19:05:14 +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
d098671f3b
feat: replace click envar with auto_envvar_prefix ( #1829 )
2022-05-05 09:41:32 +02:00
jo
561ba7fbf0
test(analyzer): recent liquidsoap version do not fail playability check
2022-04-09 19:23:45 +02:00
Jonas L
74b9c61deb
chore(analyzer): move python3-pika in the python section ( #1746 )
2022-04-09 14:35:28 +00:00
Jonas L
5f4badcdeb
ci: build test images for ubuntu jammy ( #1743 )
2022-04-09 16:18:12 +02:00
Jonas L
8c96c0a094
feat: remove unused python3-venv package ( #1728 )
2022-04-02 05:41:43 +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
f24996e144
chore(analyzer): remove unused dependency
2022-02-25 11:42:28 +02:00
jo
977b499d5e
fix(analyzer): update docstring for organise_file
2022-02-20 22:11:00 +02:00
jo
d4ffaf9a89
feat(analyzer): rework organise_file using pathlib
...
- use uuids instead of datetime
- massively using pathlib to manipulate paths
2022-02-20 22:03:59 +02:00
jo
dac09869f3
test(analyzer): use pathlib for tmp paths
2022-02-20 22:03:59 +02:00
jo
8113077fd9
chore: fix broken links
2022-02-16 15:01:25 +02:00
jo
7c354f52f4
test(analyzer): set test logging level to trace
2022-02-16 10:13:00 +02:00
jo
88dcd13fc8
feat(analyzer): rework analyze_metadata step
...
- Upgrade mutagen to 1.45.1
- Remove custom wave data extraction
- Add .wav and ogg without extension fixtures
- Move md5 sum and mime type in there own function
- Cleanup comments
- Let analyze_cuepoints handle cuein and cueout metadata
- Remove python magic mime guessing
2022-02-16 10:13:00 +02:00
Jonas L
0106b4c6cb
fix(analyzer): remove bad attributes in shutdown handler ( #1605 )
...
Fixes #1278
2022-02-15 16:40:01 +02:00
jo
29511cfd2d
test(analyzer): fix inconsistent return statement
2022-02-15 16:39:04 +02:00
jo
c6124b4012
chore(analyzer): move ffmpeg and utils modules to pipeline
2022-02-15 16:39:04 +02:00
jo
8040d9a6c5
feat(analyzer): do verify ssl certs on requests
...
BREAKING CHANGE: Analyzer no longer ignore certificate verification when
performing a request. We recommand using Letsencrypt to get a certificat.
If you do rely on self signed certificat, please read the requests
documentation to provide a CA Bundle to verify the cert using
environement variables.
2022-02-14 12:44:17 +02:00
jo
a73dacc6b5
chore(analyzer): add bandit linter to analyzer
2022-02-14 12:44:17 +02:00
Jonas L
cba905e367
refactor(analyzer): improve analyzer pipeline module ( #1542 )
...
* rename steps to pipeline module
* move pipeline entrypoint to pipeline module
* rename steps test module to pipeline
* fix paths after renames
* move step protocol to pipeline
* create pipeline status enum
* use Protocol from typing extensions
* Fix linting
2022-01-28 07:09:19 +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
d93fb44356
feat(analyzer): analyze cuepoint using ffmpeg
...
- store cue(in|out) as strings
- reraise when executable was not found
BREAKING CHANGE: The analyzer requires 'ffmpeg'. The 'silan' system dependency can be removed.
2022-01-24 12:54:31 +02:00
jo
ceab19271d
feat(analyzer): analyze replaygain using ffmpeg
...
- remove pycairo pip install
- fix py36 compatibility
- reraise when executable was not found
BREAKING CHANGE: The analyzer requires 'ffmpeg'. The 'rgain3' python package and it's system dependencies can be removed.
2022-01-24 12:54:31 +02:00
jo
bf7b0d44fb
test(analyzer): update fixtures
...
- add fixture with > 2 silences
2022-01-24 12:54:31 +02:00
jo
6a919a9805
test(analyzer): rename and remove unused imports
2022-01-24 12:54:31 +02:00
jo
522d989cab
fix(analyzer): install missing steps package
2022-01-21 11:54:00 +02:00
jo
aa2d1ff4c7
refactor(analyzer): simplify entrypoint
...
The AbstractApp only make it more complex.
2022-01-21 11:54:00 +02:00
jo
35d38df9d3
feat(analyzer): load config using shared helpers
...
- make rabbitmq config optional
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
2cae31a97a
refactor(analyzer): redefine *_analyzer into steps
...
- update imports and names
- define step as a protocol
- extract analyzer function from classes
2022-01-18 11:18:19 +02:00
jo
f6a52c8324
refactor(analyzer): rename analyzer files
2022-01-18 11:18:19 +02:00
Jonas L
fe0b2c4a7a
feat(analyzer): enhance analyzer cli and logging ( #1507 )
...
Some initial work on modernizing the analyzer app. This replace any custom logger or `logging` based logger with the logging tools from `libretime_shared.logging` and `loguru`.
- rename cli to main
- use pathlib in setup.py
- add api-client and shared package as dev deps
- rework main entrypoint cli to use click and shared helpers
- remove unused imports
- replace logging with logger
- rework analyzer app using shared abstract app
- move analyzer log path to systemd service
- change analyzer working dir
BREAKING CHANGE: The analyzer cli has been reworked and uses new flags / environnement variables for configuration.
`--debug` flag becomes `--log-level <level>`
`--rmq-config-file` flag becomes `--config <filepath>`
`--http-retry-queue-file` flag becomes `--retry-queue-filepath`.
`retry-queue-filepath` default value changed from `/tmp/airtime_analyzer_http_retries` to `retry_queue` in the working dir.
`LIBRETIME_CONF_DIR` environnement variable replaced by `LIBRETIME_CONFIG_FILEPATH`.
BREAKING CHANGE: When running analyzer as a systemd service, the working directory is now /var/lib/libretime/analyzer.
2022-01-17 10:26:30 +02:00
Jonas L
0d25a330cf
chore: rename common section to python ( #1509 )
...
this will make the section more explicite,
in addition, this allow to exclude python deps
on docker images for example.
2022-01-13 07:12:50 +02:00
jo
02efadc3d0
chore: fixes after libretime_analyzer rename
2022-01-04 09:18:58 +02:00
jo
62476de478
chore: rename airtime_analyzer dir to libretime_analyzer
2022-01-04 09:18:58 +02:00
Jonas L
4057c88cf0
feat: debian 11 support ( #1292 )
...
* Debian 11 Support
Run api ci test on bullseye as well
* Silan does not work for mp3 on bullseye
* Liquisoap does not fail with wma files on bullseye
2021-11-09 11:21:40 +02:00
Kyle Robbertze
7182390000
feat: add support for Ubuntu Focal 20.04 ( #1168 )
...
Co-authored-by: Valerio Bozzolan <gnu@linux.it>
2021-11-04 09:55:50 +02:00
dependabot[bot]
ccde6039e7
Bump php-amqplib/php-amqplib from 2.12.3 to 3.0.0 in /legacy ( #1418 )
...
* Bump php-amqplib/php-amqplib from 2.12.3 to 3.0.0 in /legacy
Bumps [php-amqplib/php-amqplib](https://github.com/php-amqplib/php-amqplib ) from 2.12.3 to 3.0.0.
- [Release notes](https://github.com/php-amqplib/php-amqplib/releases )
- [Changelog](https://github.com/php-amqplib/php-amqplib/blob/master/CHANGELOG.md )
- [Commits](https://github.com/php-amqplib/php-amqplib/compare/v2.12.3...v3.0.0 )
---
updated-dependencies:
- dependency-name: php-amqplib/php-amqplib
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Replace deprecated AMQPConnection with AMQPStreamConnection
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2021-10-17 21:55:12 +02:00
dependabot[bot]
d61fae8cfa
Bump rgain3 from 1.1.0 to 1.1.1 in /analyzer ( #1411 )
...
Bumps [rgain3](https://github.com/chaudum/rgain ) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/chaudum/rgain/releases )
- [Changelog](https://github.com/chaudum/rgain3/blob/1.1.1/CHANGES.md )
- [Commits](https://github.com/chaudum/rgain/compare/1.1...1.1.1 )
---
updated-dependencies:
- dependency-name: rgain3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-17 18:50:43 +02:00
Jonas L
30b3470a06
Better format enforcing ( #1391 )
...
* 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
2021-10-17 16:24:37 +02:00
jo
08f13d850c
Update paths after analyzer move
2021-10-17 08:02:47 +00:00
jo
2ef63e8c4e
Move python_apps/airtime_analyzer/ to analyzer/
2021-10-17 08:02:47 +00:00