Commit Graph

54 Commits

Author SHA1 Message Date
jo 3dbc1205d0 Start linting with mypy 2021-09-10 15:14:48 +02:00
jo 0d88d17f7c Use setup extra_requires for dev/prod dependencies
Also add pylint by default.
2021-09-10 13:45:27 +02:00
jo c9e35b1f62 Update setup tools project details 2021-09-02 15:45:37 +02:00
Kyle Robbertze f5ca20ed3e install pycairo before PyGObject
Fixes: #1267
2021-07-15 10:27:23 +02:00
Kyle Robbertze eac3a61460 limit pygobject version to 3.36.1 for pycairo 2021-07-06 10:12:28 +02:00
Kyle Robbertze 42d1ce07ec
Merge pull request #1239 from LibreTime/dependabot/pip/python_apps/airtime_analyzer/mutagen-1.45.1
Bump mutagen from 1.42.0 to 1.45.1 in /python_apps/airtime_analyzer
2021-06-11 10:38:31 +02:00
dependabot[bot] 5ac3b6d2e9 Bump mutagen from 1.42.0 to 1.45.1 in /python_apps/airtime_analyzer
Bumps [mutagen](https://github.com/quodlibet/mutagen) from 1.42.0 to 1.45.1.
- [Release notes](https://github.com/quodlibet/mutagen/releases)
- [Changelog](https://github.com/quodlibet/mutagen/blob/master/NEWS)
- [Commits](https://github.com/quodlibet/mutagen/compare/release-1.42.0...release-1.45.1)

---
updated-dependencies:
- dependency-name: mutagen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-11 10:35:31 +02:00
dependabot[bot] fac48adb13
Bump rgain3 from 1.0.0 to 1.1.0 in /python_apps/airtime_analyzer
Bumps [rgain3](https://github.com/chaudum/rgain) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/chaudum/rgain/releases)
- [Changelog](https://github.com/chaudum/rgain3/blob/main/CHANGES.md)
- [Commits](https://github.com/chaudum/rgain/compare/1.0...1.1)

---
updated-dependencies:
- dependency-name: rgain3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-11 08:26:45 +00:00
dependabot[bot] 1c6b190a91 Update pika requirement in /python_apps/airtime_analyzer
Updates the requirements on [pika](https://github.com/pika/pika) to permit the latest version.
- [Release notes](https://github.com/pika/pika/releases)
- [Commits](https://github.com/pika/pika/compare/1.1.0...1.2.0)

---
updated-dependencies:
- dependency-name: pika
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-11 10:22:26 +02:00
Kyle Robbertze 668d050a0e
Merge pull request #1236 from LibreTime/dependabot/pip/python_apps/airtime_analyzer/pygobject-lt-3.40.2
Drop pygobject requirement from /python_apps/airtime_analyzer
2021-06-11 09:37:30 +02:00
dependabot[bot] 64c87ba341 Drops pygobject requirement in /python_apps/airtime_analyzer
Updates the requirements on [pygobject](https://pygobject.readthedocs.io) to permit the latest version.

---
updated-dependencies:
- dependency-name: pygobject
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-11 09:33:55 +02:00
jo ce976743e7 Remove daemon helper from analyzer
Let the system daemonize the process.
2021-06-08 00:31:18 +02:00
jo 01fbd1e8b9 Add isort pre-commit hook
Sort import statement in python files

See https://github.com/PyCQA/isort
2021-06-05 00:39:35 +02:00
jo b26de72704 Remove python encoding pragma 2021-06-05 00:39:23 +02:00
jo ac17db97fc Fix missing encoding pragma on python files 2021-06-04 17:04:53 +02:00
Lucas Bickel e21abf1bf1 refactor(airtime_analyzer): rename to libretime-analyzer and make entrypoint pythonic 2021-01-04 10:30:27 +00:00
Zachary Klosko a5023d031a pin PyGObject versions to distro provided packages
this prevents pip trying to build the pypi package and failing.
Fixes: #1107
2020-11-18 17:49:51 +02:00
Kyle Robbertze ca0d01b693 Fix mutagen to compatible versions 2020-04-29 19:06:52 +02:00
Keoni Mahelona a643883d06 Set pika version to ~1.1.0 to prevent api updates from breaking code.
Updated message_listener for new version.
2020-04-29 19:06:52 +02:00
Kyle Robbertze 8346e89e99 install successfully using py3 2020-04-29 19:05:35 +02:00
Kyle Robbertze 81ad2fc705 do not be backwards compatible 2020-04-29 19:05:35 +02:00
Kyle Robbertze 9298ea7e05 airtime_analyzer: depend on rgain3 for py3 2020-04-29 19:05:35 +02:00
Kyle Robbertze 632ba9acfe convert print statements to py3 2020-04-29 19:05:35 +02:00
Keoni Mahelona f6f536c749 Set mutagen~=1.43.0 until LibreTime moves to python3 2020-02-19 04:01:11 +00:00
Robbt 9e78c110c5 made mutagen version 1.41 or above 2018-12-19 15:50:10 -05:00
Robbt 6b0e6312af removed the version restriction on mutagen to take advantage of bug fixes 2018-11-28 07:47:54 -05:00
Lucas Bickel f7ceeedb04 (Amazon S3) drop broken S3 support 2018-10-06 12:45:22 +02:00
Robb 3b2a9451eb Merge pull request #169 from radiorabe/feature/use-official-magic
Use file-magic instead of python-magic
2017-04-28 19:56:38 -04:00
Lapotor 0766b91cde Added remind to reload systemctl for Xenail 2017-04-19 20:36:48 +02:00
Lucas Bickel 9ce611130c Use file-magic instead of python-magic
This gets the mime type using file-magic in a most minimal way. Since the python bindings have been available as a distro package for quite a while it is written in a way so it should also run on pre pypi installs of file-magic. This means not being able to use nice things like magic.detect_from_filename due to the fact that they where added rather recently (with recently being 2 years ago).

As the mime type is only used to check for wav files that mutagen can't handle it only reads the mime type and ignores the charset and other attributes that magic can find.

Due to the fact that file-magic is not properly unicode safe I'm checking the file based on it's first 2048 bytes as per <http://stackoverflow.com/questions/34836792/python-magic-cant-identify-unicode-filename#comment57418632_34838355>. This is not an issue since wav files need to start with a wav header by definition anyway.

I tested this sucessfully on both CentOS and Debian with files containing Unicode in their names.
2017-04-18 09:49:09 +02:00
Lucas Bickel c29285ae48 Vagrant Debian support (and experimental CentOS)
This changes the Vagrant setup to support multiple installations as multiple
boxes. In addition to Ubuntu Vagrant can now be used to install on Debian
as well as on CentOS.

I took the chance to clean up the .deb install a bit and backported analyzer
and celery to SysV proper so it runs there. Some of the distro specfics were
moved to the install script from the python setup scripts to acheive this.

For the CentOS support I added a rather involved OS prepare script. In the
long term this will be added to the preparing-the-server docs we already have.

I had to switch the default port to http-alt (8080). On CentOS 9080 is registered
for ocsp and getting it to work for apache without hacking SELinux is hard. I
think 8080 is the RFC way to go anyhow. If anyone want to override this it
should be rather easy using the --web-port arg and by hacking Vagrantfile.

The PyOpenSSL code has been refactored for all the distros that the Vagrantfile
now supports.

As far as my checks go, I tried this code with all the distros, uploaded a track
and downloaded a unicode and a ssl podcast and was able to listen to them
in each case.

In the experimental CentOS case, the UI is not up to spec since services
need to get scheduled through systemctl and the status overview (ie. on the /?config page)
do not work properly. They need to be as follows:

```
sudo systemctl start airtime-playout
sudo systemctl start airtime-liquidsoap
sudo systemctl start airtime_analyzer.service
sudo systemctl start airtime-celery.service
```
2017-03-12 13:42:22 +01:00
Lucas Bickel 9b3d0c90da mostly run analyzer tests on travis
* [x] regonfigured the build matrix with more php jobs and a separate python job (we can add more python jobs later)
* [x] run tests on travis' trusty beta container (it's closer to what we need anyway)
* [x] install packages needed for analyzer tests in build env
* [x] added docs on how to run nosetests locally
* [x] don't run initctl in analyzer setup so setup can also be used on travis (and add it to the install script directly)
* [x] ignore replaygain checks on travis (it has proven quite impossible to get the needed python-gi module to work in the provided virtualenv)

I tried a lot of solutions to get the replaygain checks to run. I needed to decide that this has gone far enough, maybe someone who is more of a pythonista than me can take a crack at it and get it solved. Even without running those tests on CI/CD there are still plenty others.

This PR only has parts of what are needed for getting python tests running on travis as per #15. I only took a quick shot at anything not analyzer and figured I would not be able to "fix" them without digging a bit deeper (ie. also getting rid of std_err_override).
2017-03-03 20:38:27 +01:00
Albert Santoni fc51e63214 Fix typo in airtime_analyzer setup.py 2015-10-30 17:13:12 -04:00
Albert Santoni 76f202106b Defensive coding against Silan bugs and bump to Mutagen 1.31 2015-10-30 17:12:13 -04:00
Duncan Sommerville 4c797cf100 Update installer to work with saas branch 2015-06-23 19:02:55 -04:00
Albert Santoni c7aa6b3e5e airtime_analyzer: use requests >= 2.7.0 2015-05-20 10:36:55 -04:00
Albert Santoni 3d8cd8e927 Added daemon dependency back in for airtime_analyzer 2015-05-19 13:45:08 -04:00
drigato 134ade877c Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
Conflicts:
	airtime_mvc/build/sql/schema.sql
2015-01-22 15:48:34 -05:00
Albert Santoni 6ebe8ec6c8 Pin python-daemon to 1.6 because 2.0.3 breaks setuptools 2015-01-22 12:42:05 -05:00
drigato 8d914bcd13 SAAS-529: Replace Apache Libcloud with Python-Boto SDK 2015-01-06 15:44:34 -05:00
drigato e7a742dbf4 Fixed merge error 2014-12-12 09:38:24 -05:00
drigato 29d3d877ab Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
Conflicts:
	python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py
	python_apps/airtime_analyzer/setup.py
2014-12-12 09:36:27 -05:00
Albert Santoni 4dd2768755 ReplayGain analysis in airtime_analyzer using python-rgain
* Implemented Replaygain analysis for Ogg Vorbis, MP3, MP4, and FLAC
  using python-rgain
* Added unit tests for ReplayGainAnalyzer
* Squashed stderr output in ReplayGainAnalyzer and CuePointAnalyzer
* Clean up
2014-12-11 14:12:41 -05:00
drigato f1fa4929ae Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
Conflicts:
	python_apps/airtime_analyzer/setup.py
2014-11-12 14:51:18 -05:00
Albert Santoni b324031ee6 Disable those new requirements because pip requires gcc to install them 2014-11-11 18:41:09 -05:00
Albert Santoni 63b357f0ee Updated requirements for airtime_analyzer to make python-requests
support SNI properly
2014-11-11 11:18:55 -05:00
drigato ecc0225ff5 Added apache-libcloud dependency to airtime_analyzer 2014-11-07 12:49:10 -05:00
Albert Santoni c11e39f933 Fixed python-magic dependency 2014-04-30 18:46:37 -04:00
Albert Santoni 26a39ed2db CC-5823: Airtime Analyzer: Wav file uploading fails with zero length and
empty mime

* Fixed
2014-04-30 18:32:17 -04:00
Albert Santoni f2ce77fecb Remove python-magic 2014-04-23 14:20:48 -04:00