Commit Graph

75 Commits

Author SHA1 Message Date
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