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
Robb
ebd7c1d2a3
Merge pull request #163 from radiorabe/feature/python-debug-flag-for-140
...
Problem: airtime-liquidsoap --debug only works for liquidsoap
2017-04-17 16:36:07 -04:00
Lucas Bickel
8253a070f4
Update name in ref_off_air_meta in Liquidsoap
2017-04-16 01:23:40 +02:00
Lucas Bickel
007ff5561c
Pass debug flag to python logger as well
2017-04-15 23:27:04 +02:00
Lucas Bickel
f1d6fdea39
Merge pull request #161 from Robbt/fix/celery-worker-crash
...
Fix/celery worker crash
2017-04-14 09:25:58 +02:00
Robb Ebright
2d7882872b
use celery 3.0 and compatible kombo
2017-04-13 23:11:59 -04:00
Robb Ebright
c7131e0936
set celery version 3
2017-04-13 21:58:49 -04:00
Robbt
b12d132aab
removed hardcoded include of pervasives.liq
2017-04-03 19:54:18 -04:00
Lucas Bickel
acdc529139
Do not bundle liquidsoap library
...
I think the code was bundled into legacy upstream before it was
readily available in liquidsoap proper. These snippets are now
maintained at https://github.com/savonet/liquidsoap/tree/master/scripts .
On all distros I checked these scripts are installed to /usr/bin/liquidsoap
by the corresponding package. Liquidsoap loads them from there by
default.
By not bundling this we will be ready to profit from new features and
bugfixes in liquidsoap that is expected to land on opam soon. We'll
need to figure out how to get debian and others updated when that
happens.
2017-03-28 12:26:11 +02:00
Lucas Bickel
b267036483
Fix recording through ecasound
...
This is part 2 of fixing ecasound recordings from line-in. Part 1 restored the User-Interface, part 2 takes care of getting to the point where ecasound gets started, records something and uploads it through rest when done. Part 3 will take care of making sure that the recorded file is mapped to the show and not just stored as a new track.
I refactored api_clients to not use urllib2 for posting multipart data since I was loosing my sanity over it and requests seems to have a modern approach to doing this compared to what api_clients was previously doing.
2017-03-24 15:15:37 +01:00
Lucas Bickel
5f04dbb8a8
Get base_recorder_file config from proper subsection in conf
...
It took me way too long to figure this one out it wasn't logging nicely. With this ecasound actually gets called again. It's still failing on my install but I'm not yet sure why exactly.
2017-03-23 13:18:52 +01:00
Hans-Joachim
aa64b8eab8
get rid of SaaS definitions
2017-03-21 22:56:43 +01:00
Lucas Bickel
d20965131c
Fix TLS support
...
Clearly, I have no python skills hence this bug :(
2017-03-20 21:31:46 +01:00
Lucas Bickel
81d3c3e2b8
Merge pull request #84 from Robbt/fix/live-stream-source
...
[WIP] Making show and master source ports and mount points editable.
2017-03-20 02:06:58 +01:00
Lucas Bickel
c6225f9db5
Reverse pypo changes
...
The TODO seems to have been wrong due to the fact that everything works as advertised w/0 the change.
2017-03-19 13:15:59 +01:00
Lucas Bickel
4527b63c7b
General fixes for TLS
...
This was tested in airtime web and with integration of media-monitor and silan up and running. It might work for pypo but that needs testing.
2017-03-18 15:47:50 +01:00
Lucas Bickel
ae4c9203e6
Refactor override preference
...
Properly defaults the preference to be true and always return a boolean value since that is what celery will be expecting.
2017-03-17 02:10:04 +01:00
Robb Ebright
fefc53c000
basic podcast album override option in preferences
2017-03-16 16:48:31 -04:00
Robb Ebright
1b90dbd4ca
working python liquidsoap reconfigure script, might need further refinement
2017-03-14 04:02:51 +00:00
Robb Ebright
67ffd2d34a
Making show and master source ports and mount points editable.
2017-03-14 01:15:14 +00:00
Robb
479bdb1c80
Merge pull request #76 from radiorabe/feature/no-more-std_err_override-for-pypo
...
Problem: std_err_override is a hack for python < 2.7
2017-03-13 14:44:01 -04:00
Lucas Bickel
dfe3f077fd
Replace std_err_override with logging.captureWarnings(True) in pypo
...
The quite ugly hack with std_err_override seems to have been made for python < 2.7. Since all major distros
have al least python 2.7 installed we can stop using the std_err_override hack.
This removes it from pypo, media-monitor still uses the module and we can completely delete it when we have
remove media-monitor after having maybe backported the watched folders feature to analyzer.
2017-03-13 16:28:07 +01:00
Lucas Bickel
99a0ce37cc
Fix fix_cue_in to work with liquidsoap 1.2
...
The previous syntax only worked with 1.1, this one should work on both.
2017-03-13 14:30:51 +01:00
Robb
a583d8fa1e
Merge pull request #64 from radiorabe/feature/debian-and-experimental-centos
...
Vagrant Debian support (and experimental CentOS)
2017-03-12 21:42:37 -04:00
Kirill Kadoshnikov
0775bc4f59
Correction lines 399 and 400. ls_script.liq
...
Lines 399 and 400. Changed the values of s3_name and s3_description places.
(Because of this error, the Icecast confused the name and description of the flow)
_______________________
Строки 399 и 400. Поменял значения s3_name и s3_description местами. (Из-за этой ошибки Icecast путал название и описание потока)
_______________________
Sorry for my clumsy translation, I'm from Russia
2017-03-12 20:03:30 +04:00
Lucas Bickel
ac5f608bd8
Refactor into def check_version
...
Make the code more readable :)
2017-03-12 14:18:06 +01:00
Lucas Bickel
80373ca7bc
cue_cut workaround
...
This is the workaround for <https://github.com/savonet/liquidsoap/issues/390 >.
I still need to do proper testing on it and maybe we should figure out the proper "formula" for getting to the 0.04 value.
2017-03-12 14:18:06 +01: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
0cb5e2665e
Fix unicode issues in podcast downloader
...
The podcast downloader fails pretty badly when the podcast name contains non ascii chars. The main fail happens during logging; I have learnt way to much about pythons stupid unicode implementation.
This adds addtional debug logging and also outputs the real reason a download fails properly. The content of the tags should be written as UTF-8 or whater is input into it, this commit mainly touches (and fixes) logging.
2017-03-11 21:01:52 +01:00
Lucas Bickel
0e8d0868e8
Make pypo media downloader port aware
...
This is needed if the base port is not 80 like in the vagrant setup.
2017-03-10 19:10:15 +01:00
Robb
d86e223c45
Merge pull request #28 from radiorabe/feature/robbt/podcast-naming
...
Podcast naming feature as per #26
2017-03-06 18:12:57 -05:00
Lucas Bickel
188c127057
Merge branch 'master' into feature/analyzer-on-travis
...
# Conflicts:
# .travis.yml
2017-03-04 16:35:11 +01:00
Lucas Bickel
2e9fc432b1
Only override album it is empty
2017-03-04 13:38:37 +01:00
Robb Ebright
2cebb7dfa2
first part of the adding album tags to podcast downloads
2017-03-04 13:38:36 +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
Lucas Bickel
e28ad471f9
Rewrite config from /etc/airtime-saas to plain /etc/airtime
...
This is the results of sed -i -e 's|/etc/airtime-saas/|/etc/airtime/|' `grep -irl 'airtime-saas' airtime_mvc/ python_apps/` :P
It might need more testing, the airtime-saas part never really made sense, zf1 has environments for that, ie you would create a saas env based on production for instance.
I beleive legacy upstream was using this to share configuration between customers (ie. analyser runs only once and writes to a shared S3 bucket). I assume they mount the airtime-saas folder onto individual customers instances with a global config. Like I said, I don't feel that this makes sense since all it does is make hacking at the configs in airtime-saas a bit easier. A serious SaaS operation should be using something like puppet or ansible to achieve this.
2017-03-03 15:57:41 +01:00
Albert Santoni
a26f1a70e3
Respawn liquidsoap and pypo indefinitely if they fail to launch. Throttled it though.
2015-12-04 15:56:06 -05:00
Albert Santoni
91e1252b86
SAAS-1239: Listener stats with Shoutcast not working
2015-12-04 15:05:17 -05:00
Albert Santoni
2eea558dfd
SAAS-1267: AAC streams stuck at 64 kbps, even at higher bitrates
2015-12-04 10:51:07 -05:00
Albert Santoni
965a78c54a
Merge branch 'saas-dev' into saas-dev-publishing
...
Conflicts:
airtime_mvc/application/controllers/ApiController.php
2015-11-18 12:38:18 -05:00
Duncan Sommerville
071de55329
Add some additional error handling and prevent disabled buttons from being triggered
2015-11-11 19:26:51 -05:00
Albert Santoni
bb05fa996a
SAAS-1132: Improve safety of XML parsing for listener stats
2015-11-09 19:32:56 -05:00
Albert Santoni
c85944785b
Comments
2015-10-30 18:09:56 -04:00
Albert Santoni
b49bb2e262
Loosen up Mutagen vs. Silan cue out length threshold a bit
2015-10-30 17:54:24 -04:00
Albert Santoni
7be548f30e
Fixed the airtime_analyzer unit tests
2015-10-30 17:15:33 -04: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
4f281a30ed
Add SoundCloud update and download tasks to Celery backend; requires airtime-celery reinstall
2015-10-30 16:10:16 -04:00
Duncan Sommerville
e3feb17f0c
* Change the Celery timeout to 15 minutes (from 10) to better accommodate automatic ingest
...
* Fix various small bugs in auto ingestion and tab implementation
* Update TaskManager run conditions to piggyback on API calls - guarantees a certain frequency of requests and greatly reduces chances of lock contention
2015-10-29 17:53:45 -04:00
Duncan Sommerville
0b1df6baf3
* SAAS-1084 - initial work on publishing API backend
...
* More work on automatic ingest
* Add automatic_ingest_timestamp column to ImportedPodcast
2015-10-20 19:03:34 -04:00
Duncan Sommerville
bcbd8a8050
Fix bug in auto ingest, immediately retry on failure
2015-10-19 15:36:34 -04:00
Duncan Sommerville
43e9fb59ce
SAAS-1071 - more work on celery backend for podcasts; add upgrade to make file_id field in third_party_track_references nullable
2015-09-24 15:57:38 -04:00
Duncan Sommerville
ca51dcf3ae
SAAS-1071 - more work on backend podcast implementation
2015-09-24 12:58:02 -04:00
Duncan Sommerville
cf1de5fb66
SAAS-1071 - initial work on podcast celery backend; tweak SoundCloud service
2015-09-22 15:26:08 -04:00
Duncan Sommerville
a78a0d0cc8
* Fix track number bug in analyzer
...
* Move library search bar out of header
2015-09-16 17:50:21 -04:00
Duncan Sommerville
c8baa6e4b3
Merge branch 'saas-dev-publishing' into soundcloud
...
Conflicts:
airtime_mvc/application/views/scripts/playlist/playlist.phtml
airtime_mvc/application/views/scripts/playlist/smart-block.phtml
airtime_mvc/public/js/airtime/library/spl.js
2015-09-15 14:03:11 -04:00
Duncan Sommerville
dd09676f88
Hide celery user
2015-09-15 13:59:48 -04:00
Duncan Sommerville
63784d4e6b
Fix some behaviour with playlist/smartblock fade button
2015-09-08 16:39:33 -04:00
Duncan Sommerville
f243014d9f
Merge branch 'saas-dev' into soundcloud
2015-09-08 16:01:06 -04:00
Albert Santoni
3592eceb22
Merge branch 'saas' into saas-dev
2015-08-24 17:11:52 -04:00
Albert Santoni
f21fcb3dcc
SAAS-1011 - Fixed one mimetype problem and fixed installer
2015-08-24 16:25:09 -04:00
Albert Santoni
fdb2d4fae2
SAAS-1011: Files on NFS with incorrect file extensions won't play out
...
* Simplified the mime type detection code in pypo and made it actually work
2015-08-24 11:29:45 -04:00
Albert Santoni
dab0f00736
Fixed m4a file extension mapping in pypo
2015-08-11 08:59:44 -04:00
Duncan Sommerville
1816be156f
SAAS-922 - change file extensions in pypo based on mime-type, update lists of accepted mime types
2015-07-16 16:26:52 -04:00
Duncan Sommerville
04333aaa29
SoundCloud download initial commit
2015-07-16 11:27:27 -04:00
Albert Santoni
238bb15793
SAAS-941: Liquidsoap fails to start for stations with the substrings true/false in their names
2015-07-09 22:32:34 -04:00
Albert Santoni
67c5b73db4
airtime_analyzer unit test backwards compatibility with older versions of requests
2015-07-08 10:32:35 -04:00
Duncan Sommerville
b4599317e9
Run build from installer; add upstart files and templating back in
2015-06-30 12:16:31 -04:00
Duncan Sommerville
dd2ffd148d
Fix bug where pypo fails to restart liquidsoap; uncomment adding pypo template files
2015-06-29 12:20:39 -04:00
Duncan Sommerville
5cc8774e56
Merge branch 'saas-dev' into soundcloud
...
Conflicts:
airtime_mvc/application/configs/constants.php
2015-06-29 10:02:58 -04:00
Duncan Sommerville
d9f17f3919
SAAS-871 - Fix consumer cancellation bug
2015-06-26 17:11:04 -04:00
Duncan Sommerville
c44bae8140
Merge branch 'saas-dev' into soundcloud
...
Conflicts:
airtime_mvc/application/views/scripts/form/preferences.phtml
airtime_mvc/public/js/airtime/preferences/preferences.js
2015-06-26 10:37:30 -04:00
Albert Santoni
d54eb37317
Merge branch 'saas' into saas-dev
2015-06-24 15:19:38 -04:00
Duncan Sommerville
eeb1f7eff0
Fix airtime-celery setup
2015-06-24 11:11:46 -04:00
Duncan Sommerville
4c797cf100
Update installer to work with saas branch
2015-06-23 19:02:55 -04:00
Duncan Sommerville
9bce3e6850
Remove user creation from airtime-celery README, automated in setup
2015-06-23 15:11:53 -04:00
Duncan Sommerville
599354c22f
Merge branch 'soundcloud' of https://github.com/sourcefabric/Airtime into soundcloud
2015-06-23 15:10:18 -04:00
Duncan Sommerville
70f6cbbc71
Fixes to airtime-celery setup
2015-06-23 15:10:02 -04:00
Albert Santoni
fa7e16fc9d
Added celery user creation to README
2015-06-23 11:54:08 -04:00
Albert Santoni
195935cccf
Slightly better exception handling and logging to help with SAAS-884
2015-06-22 15:49:23 -04:00
Duncan Sommerville
76a7aa9a24
Fix SoundCloud and TaskManager bugs, switch tasks to use acks_late, and provide feedback from SoundCloud context menu items
2015-06-18 18:18:48 -04:00
Duncan Sommerville
17983167ed
Add configobj import to setup
2015-06-18 15:14:42 -04:00
Duncan Sommerville
4a92ec4e12
Fix airtime-celery setup
2015-06-18 15:05:32 -04:00
Duncan Sommerville
03d2ad5474
Run initctl and update rc.d when using --no-init-script
2015-06-18 12:08:24 -04:00
Duncan Sommerville
89e3eaa986
Merge branch 'saas-dev' into soundcloud
2015-06-17 17:00:15 -04:00
Duncan Sommerville
92ad5bde6d
Add fields to airtime.example.conf for compatibility, remove /etc/init scripts to prevent duplicate processes on startup
2015-06-17 14:49:12 -04:00
Duncan Sommerville
3902c8c746
Add SoundCloud delete functionality and fixes; implement TaskManager to run background jobs
2015-06-15 15:12:37 -04:00
Duncan Sommerville
272911fa7b
Remove saas-specific configurations
2015-06-12 12:50:35 -04:00
Duncan Sommerville
15c7ef5885
Celery backend and support for dev-env worker parallelization
2015-06-12 12:31:55 -04:00
Duncan Sommerville
459f9494c3
Merge saas-dev into soundcloud
2015-06-10 16:08:52 -04:00
Duncan Sommerville
626489bb3b
SAAS-853 - Celery backend for SoundCloud uploads
2015-06-10 15:04:49 -04:00
Albert Santoni
3996e757b7
Merge branch 'saas-dev' into saas-installer-albert
2015-06-10 12:02:08 -04:00
Duncan Sommerville
f031d13867
Merge branch 'saas-dev' into soundcloud
2015-06-09 14:03:03 -04:00
Duncan Sommerville
49165e91d9
SAAS-854 - celery-based SoundCloud backend uploader
2015-06-09 14:02:29 -04:00
Albert Santoni
146146e35f
CC-6052: Fix problem with stream passwords
2015-06-08 14:18:19 -04:00
Albert Santoni
01ea6f27ae
Merge branch 'saas-dev' into saas-installer-albert
...
Conflicts:
python_apps/api_clients/api_clients/api_client.py
2015-06-02 15:40:57 -04:00
Albert Santoni
700fddbada
SAAS-818: If the network connection is interrupted, pypo sometimes can't recover
2015-06-02 14:51:20 -04:00
drigato
532bd1ea85
SAAS-772: Send metadata to Tunein
...
Made Improvement so Airtime always makes a request to TuneIn every 4
minutes so TuneIn does not turn metadata off
2015-05-25 15:37:45 -04:00
Albert Santoni
6fad0a3ee6
Merge branch 'saas-dev' into saas-installer-albert
2015-05-22 19:09:30 -04:00
Albert Santoni
fc02de4920
Revert "Add on_metadata wrapper to liquidsoap master/show sources"
...
This reverts commit 415a0d21f9
.
2015-05-22 19:09:04 -04:00
Albert Santoni
d3f89c9507
Revert "Add on_metadata wrapper to liquidsoap master/show sources"
...
This reverts commit 82c801cb79
.
2015-05-22 19:08:48 -04:00
Albert Santoni
9ffbdfbfa3
Merge branch '2.5.x-installer' into saas-installer-albert
2015-05-22 18:43:28 -04:00
Albert Santoni
b81069ace3
Added missing requests dependency to pypo's requirements
2015-05-22 18:43:05 -04:00
Albert Santoni
6ca0e340a4
Merge branch '2.5.x-installer' into saas-installer-albert
...
Conflicts:
python_apps/pypo/pypo/pypofile.py
2015-05-22 18:26:16 -04:00
Albert Santoni
027adc7749
Three bugfixes
...
* Removed Support Settings nav link
* SAAS-801: pypo log configuration files are overkill and must be removed
* CC-6043: CTRL-C doesn't work in pypo / airtime-playout
2015-05-22 18:20:45 -04:00
Albert Santoni
11c6818e61
Merge branch '2.5.x-installer' into saas-installer-albert
...
Conflicts:
.gitignore
airtime_mvc/application/Bootstrap.php
airtime_mvc/application/configs/conf.php
airtime_mvc/application/controllers/SystemstatusController.php
airtime_mvc/application/controllers/UpgradeController.php
airtime_mvc/application/upgrade/Upgrades.php
airtime_mvc/application/views/scripts/systemstatus/index.phtml
airtime_mvc/build/airtime.conf
airtime_mvc/build/sql/defaultdata.sql
airtime_mvc/public/index.php
airtime_mvc/tests/application/helpers/AirtimeInstall.php
install_minimal/airtime-install
install_minimal/include/airtime-constants.php
install_minimal/include/airtime-copy-files.sh
install_minimal/include/airtime-db-install.php
install_minimal/include/airtime-initialize.sh
install_minimal/include/airtime-install.php
install_minimal/include/airtime-installed-check.php
install_minimal/include/airtime-remove-files.sh
install_minimal/include/airtime-upgrade.php
python_apps/media-monitor/install/media-monitor-copy-files.py
python_apps/monit/monit-airtime-generic.cfg
python_apps/pypo/airtime-playout
python_apps/pypo/install/pypo-copy-files.py
python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py
python_apps/pypo/liquidsoap/ls_script.liq
python_apps/pypo/pypo/__main__.py
python_apps/pypo/pypo/media/update/replaygain.py
python_apps/pypo/pypo/media/update/replaygainupdater.py
python_apps/pypo/pypo/media/update/silananalyzer.py
python_apps/python-virtualenv/airtime_virtual_env.pybundle
python_apps/python-virtualenv/requirements
utils/airtime-check-system.php
2015-05-22 16:05:29 -04:00
Albert Santoni
16fe0aa177
Merge branch 'saas' into saas-dev
2015-05-21 15:05:20 -04:00
Duncan Sommerville
196e08fc90
Fix bug where users can't connect to Master source due to hardcoded path in liquidsoap
2015-05-21 12:49:26 -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
Albert Santoni
e1c50ecc7b
Squash urllib3 warnings to see if it helps with SAAS-714
2015-05-19 13:09:43 -04:00
Albert Santoni
1c88d6dccd
Merge branch 'saas' into saas-dev
2015-05-19 12:18:54 -04:00
Albert Santoni
add211d13c
Cleanup to help with SAAS-714
2015-05-19 12:02:19 -04:00
Duncan Sommerville
415a0d21f9
Add on_metadata wrapper to liquidsoap master/show sources
2015-05-15 15:46:45 -04:00
Duncan Sommerville
82c801cb79
Add on_metadata wrapper to liquidsoap master/show sources
2015-05-15 15:15:49 -04:00
Albert Santoni
b3a19ae49e
Bugfix for embedded player sending too many requests on load, quieter logging for boto
2015-04-29 11:46:44 -04:00
drigato
b48d10a45e
Merge branch 'saas' into saas-embed-player
2015-04-13 09:03:59 -04:00
Albert Santoni
28fc1cf2fc
Fixed some airtime_analyzer unit tests
2015-04-10 15:08:44 -04:00
Albert Santoni
e3390b99ef
Disable analyzer log file rotation (already handed by Upstart), clean up
2015-04-10 15:03:58 -04:00
drigato
fbcd5bc5bd
Merge branch 'saas' into saas-embed-player
2015-04-09 15:09:03 -04:00
Albert Santoni
d5012c25cb
Another small bugfix for error handling in the analyzer
2015-04-06 17:33:08 -04:00
Albert Santoni
492a7f329a
Minor airtime_analyzer error handling improvements and documentation
2015-04-06 17:22:13 -04:00
Albert Santoni
7fd58ac51b
Merge branch 'saas-s3proxy' into saas
2015-04-01 13:49:47 -04:00
drigato
220f21ab22
Merge branch 'saas' into saas-embed-player
...
Conflicts:
airtime_mvc/application/configs/ACL.php
2015-03-31 17:44:14 -04:00
Albert Santoni
ae02fe7816
Log traceback in analyzer status_reporter.py exception handler
2015-03-30 13:21:26 -04:00
Albert Santoni
271dc266fa
S3 proxy cache support + 1 minor analyzer bugfix
2015-03-26 12:08:52 -04:00
Albert Santoni
d1b28fd564
Fixed a bug in FTP upload hook, other minor improvements
...
* Ensure we have write permissions on any newly uploaded files by FTP
* Don't silence warnings in moveFileToStor()
* Reduced the FTP upload max retry count
* Log E_NOTICE and E_WARNING levels to Sentry
2015-03-24 14:56:03 -04:00
drigato
e2ca218ac2
Merge remote-tracking branch 'stash/saas-four-streams' into saas-embed-player
2015-03-23 15:54:04 -04:00
Albert Santoni
cca9ba0c36
Fixed pypo config file loading
2015-03-12 19:09:00 -04:00
Albert Santoni
b49e98693b
Ignore artist_name and track_titles that aren't strings (fixes playout
...
for empty artist name or track titles)
2015-03-12 10:52:28 -04:00
Albert Santoni
a29d464eb2
SAAS-642: Files with doublequotes in their track titles fail to playout
...
(pypo->LS communication bug)
* Fixed it by escaping the command
2015-03-11 18:34:50 -04:00
Albert Santoni
e182e73626
SAAS-602: airtime_analyzer deadlocks in S3 hostname lookup
...
* Stopped using multiprocess.subprocess because it's dangerous and
unreliable due to Python bug 6721: http://bugs.python.org/issue6721
2015-03-11 18:33:08 -04:00
Albert Santoni
0042fb50fe
Refactor some stuff related to four streams, Liquidsoap is a piece of
...
shit too - no dynamic variables
2015-03-10 19:15:38 -04:00
Albert Santoni
6232e3f4f0
Better backwards compatibility fix for 4 streams
2015-03-10 12:52:00 -04:00
Albert Santoni
968b739bf4
Make 4th stream backwards compatible with the autogenerated
...
liquidsoap.cfg
2015-03-10 12:41:45 -04:00
Albert Santoni
6cecb7c239
Simplified the FTP upload hook
2015-03-06 11:06:17 -05:00
Daniel James
f00fee4851
Remove old pybundle and virtualenv setup, new installer does not use them
2015-03-06 13:07:11 +00:00
Albert Santoni
d61b75f105
Added a working 4th stream
2015-03-03 16:08:53 -05:00
Albert Santoni
f1a311dad6
Merge branch 'saas' into saas-media-refactor
...
Conflicts:
airtime_mvc/application/modules/rest/controllers/MediaController.php
2015-02-26 14:26:33 -05:00
Albert Santoni
0b1af01822
Better exception logging and small pypo exception fix
2015-02-26 13:52:51 -05:00
Albert Santoni
ab6d83f49d
Merge branch 'saas' into saas-media-refactor
...
Conflicts:
airtime_mvc/application/Bootstrap.php
airtime_mvc/application/modules/rest/controllers/MediaController.php
2015-02-26 13:10:13 -05:00
Albert Santoni
d82f461f35
Fix missing filesize and md5 for WAVE imports
2015-02-26 13:06:29 -05:00
Albert Santoni
edd07c18ae
Fixed invalid detection of S3 backend in analyzer
2015-02-26 12:02:02 -05:00
Albert Santoni
3a1141d4c8
Merge branch 'saas' into saas-media-refactor
...
Conflicts:
airtime_mvc/application/cloud_storage/ProxyStorageBackend.php
airtime_mvc/application/controllers/ApiController.php
2015-02-25 13:02:11 -05:00
Albert Santoni
68948e3bb5
Merge branch 'saas' of github.com:sourcefabric/Airtime into saas
2015-02-24 17:05:04 -05:00
Albert Santoni
37f9f273c7
Fixed the airtime_analyzer unit tests
2015-02-24 17:03:38 -05:00
drigato
38aa1d1cd9
Merge branch 'saas' into saas-store-file-size-and-hash-in-db
2015-02-24 16:44:17 -05:00
drigato
d843de80cc
Remove log statements
2015-02-24 16:22:20 -05:00
drigato
6113dff182
Debugging logs
2015-02-24 15:19:46 -05:00
Albert Santoni
a6579e4d09
Merge branch 'saas' of github.com:sourcefabric/Airtime into saas
2015-02-24 13:14:40 -05:00
Albert Santoni
702de0f5f5
SAAS-602: Fix getaddrinfo deadlock (again)
...
Conflicts:
python_apps/airtime_analyzer/airtime_analyzer/cloud_storage_uploader.py
2015-02-24 13:14:21 -05:00
drigato
86ba5c547e
SAAS-596: Store file size and hash in database
...
Fixed exception handling in pypo
2015-02-24 12:32:46 -05:00
Albert Santoni
b2a2153572
Merge branch '2.5.x' into saas
2015-02-24 12:04:11 -05:00
Albert Santoni
8a88b4b733
Reduce the pypo POLL_INTERVAL to lessen impact of RabbitMQ or web server outages
2015-02-24 12:03:35 -05:00
drigato
be7a6854f0
SAAS-596: Store file size and hash in database
...
Have pypo fetch the file size and md5, if necessary, and make request to
Airtime to set these values
2015-02-24 11:00:41 -05:00
Daniel James
72f79d0f90
Debian/Ubuntu require a force-reload option for sysvinit scripts
2015-02-24 14:57:28 +00:00
Daniel James
4b850a5675
More permissions tweaks for Debian/Ubuntu compliance
2015-02-24 14:16:44 +00:00
Albert Santoni
8aaf300491
Attempt a workaround for unicode hostname resolution deadlock in the
...
analyzer
2015-02-23 18:22:16 -05:00
Albert Santoni
1a8883b91d
Merge branch '2.5.x-installer' of github.com:sourcefabric/Airtime into 2.5.x-installer
2015-02-23 12:50:43 -05:00
Daniel James
071715415b
Fix permissions on files for Debian/Ubuntu compliance
2015-02-23 17:41:56 +00:00
Albert Santoni
51aa846a4c
Merge branch 'cc-5709-airtime-analyzer-refactor' into saas-media-refactor
...
Conflicts:
airtime_mvc/application/models/RabbitMq.php
python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py
python_apps/airtime_analyzer/airtime_analyzer/message_listener.py
2015-02-20 18:25:38 -05:00
Albert Santoni
c868136d26
Make airtime_analyzer respect the storage_backend setting passed to it
...
by Airtime
2015-02-20 18:21:49 -05:00
drigato
58f9ffd0eb
Merge branch 'cc-5709-airtime-analyzer-store-file-size-and-hash-in-db' into saas-store-file-size-and-hash-in-db
2015-02-19 15:40:27 -05:00
drigato
b6acfb2dce
SAAS-596: Store file size and hash in database
...
Renamed metadata md5 value to match cc_files column
2015-02-19 15:39:55 -05:00
drigato
6ef085f460
Merge branch 'saas' into saas-store-file-size-and-hash-in-db
2015-02-19 11:43:34 -05:00
drigato
0f921cb481
Merge branch 'cc-5709-airtime-analyzer-store-file-size-and-hash-in-db' into saas-store-file-size-and-hash-in-db
2015-02-19 10:51:53 -05:00
drigato
cc9e6efbca
SAAS-596: Store file size and hash in database
...
Removed try/except while getting file size and hash
2015-02-19 10:38:30 -05:00
Albert Santoni
70f5bd3748
Fixed the unit tests
2015-02-19 10:17:42 -05:00
Albert Santoni
d0bd4bfe81
Merge branch 'saas' into saas-store-file-size-and-hash-in-db
...
Conflicts:
airtime_mvc/application/modules/rest/controllers/MediaController.php
2015-02-18 19:29:45 -05:00
drigato
5bd3371ec2
SAAS-596: Store file size and hash in database
...
Removed getFileSize from CloudFile.php since it can call the parent
function.
Moved setting filesize metadata from cloud_storage_uploader.
2015-02-17 16:51:25 -05:00
drigato
c1086842d3
Merge branch 'cc-5709-airtime-analyzer-store-file-size-and-hash-in-db' into saas-store-file-size-and-hash-in-db
...
Conflicts:
airtime_mvc/application/Bootstrap.php
airtime_mvc/application/modules/rest/controllers/MediaController.php
2015-02-17 16:19:58 -05:00
drigato
66a6a8f985
SAAS-596: Store file size and hash in database
...
Added file size and hash to the metadata dict in the analyzer
2015-02-17 16:02:49 -05:00
Albert Santoni
d8f5e41fca
Set a connection timeout for Boto to prevent cloud storage deadlock
2015-02-17 14:58:19 -05:00
Albert Santoni
a2d8da617d
Fixed everything about Airtime on Debian
...
* Added sysvinit scripts back in and cleaned them up
* service status now works correctly for all services
* Moved logging config files into install/ folders for the python_apps
* Fixed some small setup.py problems in the various python_apps
* Gave each python app a better bin/ script which doesn't fork, which lets
service status work automagically.
2015-02-13 16:06:59 -05:00
Albert Santoni
bbcd4fbe2e
Tons of bugfixes for the installer on Debian
...
* Still need to get pypo working with sysvinit
* Still need to fix this logger.cfg silliness with pypo and
media_monitor
2015-02-13 11:32:07 -05:00
Albert Santoni
d46f4a52eb
Installer tweaks and a pypo bugfix
...
* Moved all the remaining DEB requirements into the requirements files
* The installer should now be distro agnostic (unless you ask it to
install third-party deps for you)
* Fixed pypo not being able to find replaygainupdater
* Tweaked a bunch of styling for the installer
2015-02-10 18:06:46 -05:00
drigato
cee0ff4881
SAAS-560: Deploy separate cloud storage config files for each development environment
...
Default to production config files if dev env specific files are not
found.
Fix analyzer unit tests.
2015-02-05 14:31:20 -05:00
drigato
6cfac054ca
SAAS-560: Deploy separate cloud storage config files for each development environment
...
Renamed the analyzer config variables to be named specially for rabbitmq
config
2015-02-05 10:14:35 -05:00
drigato
e6171680ad
SAAS-560: Deploy separate cloud storage config files for each development environment
...
Small fix
2015-02-04 14:34:04 -05:00
drigato
c6fc184559
Merge branch 'saas' into saas-cloud-storage-config-per-dev-env
...
Conflicts:
python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py
python_apps/airtime_analyzer/airtime_analyzer/cloud_storage_uploader.py
python_apps/airtime_analyzer/airtime_analyzer/message_listener.py
2015-02-04 13:36:35 -05:00
drigato
7b3f9af04c
SAAS-560: Deploy separate cloud storage config files for each development environment
...
Changed analyzer upstart to take the cloud storage config file as a command line option
Dropped the dev env portion from the rabbitmq-analyzer.ini filename
2015-02-03 15:55:47 -05:00
drigato
7808fd4708
More analyzer log statements
2015-02-03 13:54:25 -05:00
drigato
3127507124
Analyzer log statements for debugging
2015-02-03 13:21:07 -05:00
Albert Santoni
58b7080a84
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into saas
2015-02-02 13:32:08 -05:00
Albert Santoni
e32a26956b
Fixed the unit tests again
2015-02-02 13:31:52 -05:00
Albert Santoni
2793509781
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into saas
...
Conflicts:
python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py
python_apps/airtime_analyzer/airtime_analyzer/message_listener.py
2015-02-02 13:17:26 -05:00
Albert Santoni
9baed1b328
Make the unit tests pass again
2015-02-02 13:14:14 -05:00
Albert Santoni
536094ea50
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-02-02 13:05:32 -05:00
drigato
5040eb498d
SAAS-560: Deploy separate cloud storage config files for each development environment
2015-02-02 12:54:56 -05:00
Albert Santoni
9e963ed023
Merge branch 'cc-5709-airtime-analyzer' into saas
2015-02-02 12:27:01 -05:00
Albert Santoni
ee6862e731
Fixed quotation issue with playability analyzer
2015-02-02 12:26:22 -05:00
Albert Santoni
3f6983aa3e
Renabling CuePointAnalyzer
2015-02-02 12:18:33 -05:00
drigato
93da48351c
Deleted old, unused cloud_storage_downloader.py file from pypo
2015-01-29 14:29:59 -05:00
Duncan Sommerville
b673017bfd
Fix to setuptools deployment of pyponotify and liquidsoap
2015-01-28 15:09:13 -05:00
Duncan Sommerville
bc604b992e
CC-5986 - Fixed unit tests, removed unnecessary code from service execution files
2015-01-28 13:19:50 -05:00
Duncan Sommerville
875a9dfd8b
CC-5990, CC-5991 - Python cleanup, removed need for /usr/lib/airtime
2015-01-27 18:43:36 -05:00
drigato
3f97ed3d55
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-01-27 16:46:06 -05:00
drigato
ea868607b4
Enabling cuepoint analyzer because the silan bug has been fixed
2015-01-27 16:44:21 -05:00
drigato
102c78474d
Enabling cuepoint analyzer because the silan bug has been fixed
2015-01-27 13:21:44 -05:00
drigato
43c6475f1b
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-01-26 09:18:32 -05:00
drigato
6adaf7a91a
Disabling cue point analyzer
2015-01-26 09:17:53 -05:00
drigato
a686eabb96
Disabling cue point analyzer
2015-01-23 17:33:57 -05:00
drigato
ca9750f415
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
...
Conflicts:
airtime_mvc/application/Bootstrap.php
airtime_mvc/application/configs/ACL.php
airtime_mvc/application/controllers/ApiController.php
airtime_mvc/application/controllers/plugins/Acl_plugin.php
airtime_mvc/application/forms/GeneralPreferences.php
airtime_mvc/application/modules/rest/controllers/MediaController.php
airtime_mvc/application/views/scripts/form/preferences_general.phtml
airtime_mvc/application/views/scripts/form/support-setting.phtml
airtime_mvc/build/sql/schema.sql
2015-01-23 11:32:45 -05: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
bade613e80
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
...
Conflicts:
airtime_mvc/application/modules/rest/controllers/MediaController.php
2015-01-22 11:19:25 -05:00
drigato
38a2924849
SAAS-555: Analyzer calculates wrong cue out
2015-01-22 11:08:34 -05:00
Albert Santoni
c03dd38c00
Merge branch '2.5.x' into 2.5.x-installer
...
Conflicts:
airtime_mvc/application/Bootstrap.php
airtime_mvc/application/models/Show.php
2015-01-16 17:27:52 -05:00
Duncan Sommerville
4552089c19
Fixes to install & uninstall procedure
2015-01-15 17:33:47 -05:00
drigato
7930ae97ae
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
2015-01-15 17:23:15 -05:00
drigato
29c5cf5de0
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-01-15 17:21:26 -05:00
drigato
52a66632c6
SAAS-539: Analyzer can return values in scientific notation which are not compatible with Airtime
...
Fix unit tests
2015-01-15 17:17:29 -05:00
Duncan Sommerville
791466b023
Fixes for code review https://github.com/sourcefabric/Airtime/pull/84
2015-01-15 16:33:33 -05:00
drigato
f8ce7110ee
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
2015-01-15 13:46:26 -05:00
drigato
89e760fd98
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-01-15 13:45:40 -05:00
drigato
7d0f1655d2
SAAS-539: Analyzer can return values in scientific notation which are not compatible with Airtime
2015-01-15 13:44:48 -05:00
Duncan Sommerville
19a1817159
Fix a bad reversion in the airtime-playout binary
2015-01-15 10:12:52 -05:00
Duncan Sommerville
5e22f929c7
Reverted commit mistakenly changing file modifiers to 755
2015-01-14 20:45:03 -05:00
Duncan Sommerville
df2576e5a0
Updated installer to better accommodate running over existing installs
2015-01-14 16:11:49 -05:00
drigato
d99147bad4
Merge branch 'saas' into cc-5709-airtime-analyzer-cloud-storage-saas
2015-01-13 14:23:51 -05:00
Duncan Sommerville
674b8c69e4
Add very basic uninstall script, move install script to root directory
2015-01-12 16:13:39 -05:00
drigato
02e4c18931
SAAS-531: Finalize S3 folder hierarchy
2015-01-12 14:50:42 -05:00
Duncan Sommerville
0fcac545e6
For now, just prompt users to start background services at the end of the install process
2015-01-12 10:53:31 -05:00
Duncan Sommerville
bf1355a203
Yet another attempt to run upstart jobs as unprivileged user
2015-01-12 09:48:08 -05:00
Duncan Sommerville
e568013db6
More work on running services as web user
2015-01-08 13:21:08 -05:00
Duncan Sommerville
ab35827439
Different approach for running airtime services as unprivileged user
2015-01-08 12:56:09 -05:00
Duncan Sommerville
a790527e67
More work on running upstart services as non-privileged user
2015-01-08 10:06:37 -05:00
Duncan Sommerville
a9a59337b8
More work on running upstart services as non-privileged user
2015-01-07 16:31:30 -05:00
Duncan Sommerville
e6d8a6f25e
Move upstart .conf files to directory accessible by non-privileged users
2015-01-07 16:04:48 -05:00
Duncan Sommerville
0fef350e9d
Fixed issue with liquidsoap service starting as daemon, fixed logging issue in pypocli
2015-01-07 14:25:24 -05:00
drigato
ad16683858
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
2015-01-07 14:17:02 -05:00
drigato
9d6cf8620f
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage
2015-01-07 14:16:09 -05:00
drigato
e5c806f658
Merge branch '2.5.x' into cc-5709-airtime-analyzer
2015-01-07 14:13:36 -05:00
Duncan Sommerville
05c2ecdb89
Changed logger init to use paths relative to current file
2015-01-07 11:46:06 -05:00
Albert Santoni
3225fcc6bc
Fix syntax errors in fdkaac.liq
2015-01-07 11:35:43 -05:00
Duncan Sommerville
5e8c4b112f
More work on getting services working with new installer
2015-01-07 10:54:17 -05:00
Duncan Sommerville
8e6e72a501
More work on getting services working with new installer
2015-01-07 10:31:00 -05:00
Duncan Sommerville
c66e6aa849
More work on getting services working with new installer
2015-01-07 10:01:32 -05:00
drigato
08738cf391
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
...
Conflicts:
python_apps/airtime_analyzer/airtime_analyzer/cloud_storage_uploader.py
2015-01-06 15:46:20 -05:00
drigato
8d914bcd13
SAAS-529: Replace Apache Libcloud with Python-Boto SDK
2015-01-06 15:44:34 -05:00
Albert Santoni
fc912923ce
Force the use of FDK-AAC and significantly boost AAC sound quality
2015-01-06 12:58:11 -05:00
Duncan Sommerville
f4c5cf1353
Added virtualenv back into install process
2015-01-05 16:41:03 -05:00
Duncan Sommerville
bbc095f534
Added virtualenv back into install process
2015-01-05 15:38:01 -05:00
Duncan Sommerville
5f137d99a3
Added virtualenv back into install process
2015-01-05 14:42:53 -05:00
drigato
9737dda225
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
2015-01-05 12:23:06 -05:00
drigato
cf57af0c4b
Small analyzer fix
2015-01-05 12:20:13 -05:00
Duncan Sommerville
fc68dfa256
Fixed service execution calls
2015-01-05 11:16:58 -05:00
Duncan Sommerville
ee96380a41
Test to start upstart jobs as web user
2015-01-05 10:16:44 -05:00
Duncan Sommerville
f35fb4968c
Test to start upstart jobs as web user
2015-01-05 09:47:06 -05:00
Duncan Sommerville
344e1aa194
Test to start upstart jobs as web user
2015-01-05 09:30:08 -05:00