Commit Graph

15242 Commits

Author SHA1 Message Date
Lucas Bickel 7f02761e8d Basic pandocs conversion of Airtime.pro manual
This is what is currently on http://sourcefabric.booktype.pro/airtime-pro-for-broadcasters and was converted to markdown with an extremely hacky script and some flintstoning.
2017-03-05 01:22:11 +01:00
Robb 9bac8354b6 Merge pull request #21 from radiorabe/feature/analyzer-on-travis
mostly run analyzer tests on travis
2017-03-04 19:17:23 -05:00
Robb da1181e6ca Merge pull request #25 from radiorabe/feature/default-soundcloud-config
Add default soundcloud config
2017-03-04 17:56:17 -05:00
Lucas Bickel 51b1be9ed1 Merge pull request #33 from Robbt/install-fix
Added production directory during setup and used --upgrade parameter …
2017-03-04 23:35:17 +01:00
Robb Ebright a1c4b888c3 Added production directory during setup and used --upgrade parameter for pip install setuptools 2017-03-04 15:22:53 -05:00
Lucas Bickel 69a6eeb7bb Build docs from conditional python script 2017-03-04 16:40:23 +01: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 7c86991c50 Merge pull request #11 from radiorabe/feature/disable-billing
Problem: Billing is always on
2017-03-04 16:10:50 +01:00
Lucas Bickel eaf69b1a72 Merge pull request #30 from radiorabe/hotfix/docs-deploy
Proper target repo setup for mkdocs deploy
2017-03-04 16:04:02 +01:00
Lucas Bickel d875c9f5b9 Proper target repo setup for mkdocs deploy 2017-03-04 16:02:59 +01:00
Lucas Bickel 01a954481c Merge pull request #10 from radiorabe/feature/config-rewrite-airtime-saas-folder
Rewrite config from /etc/airtime-saas to plain /etc/airtime
2017-03-04 15:56:29 +01:00
Lucas Bickel 96eb746f18 Merge pull request #9 from radiorabe/feature/missing-arg
Add missing argument to playlistNotFound call
2017-03-04 15:48:22 +01:00
Lucas Bickel e55b95cc3b Merge pull request #7 from radiorabe/feature/turn-off-live-chat-per-default
config to disable live chat
2017-03-04 15:48:00 +01:00
Lucas Bickel c607150fcd Merge pull request #6 from radiorabe/feature/disable-whmcs-per-conf
Problem: Failed logins always try log in against legacy upstream
2017-03-04 15:47:45 +01:00
Lucas Bickel d03a718dd6 Merge pull request #29 from radiorabe/feature/mkdocs
Hotfix: Missing config change
2017-03-04 15:47:15 +01:00
Lucas Bickel 28a1c33d7b Hotfix: Missing config change 2017-03-04 15:41:14 +01:00
Lucas Bickel a4698a28e5 Merge pull request #19 from ergonlogic/mkdocs
Add basic Mkdocs config and initial docs.
2017-03-04 15:32:25 +01:00
Lucas Bickel fba5ce1ce5 Make examples copy/paste friendly 2017-03-04 15:30:05 +01:00
Lucas Bickel 8cc262ae11 Remove background-color completely
We can revisit this but I want to merge this ASAP since it's just too nice to wait.
2017-03-04 15:27:21 +01:00
Lucas Bickel fba9a13214 Add testing.md to docs 2017-03-04 15:17:26 +01:00
Lucas Bickel 1fddc41868 Configure .travis.yml for mkdocs 2017-03-04 14:53:35 +01:00
Lucas Bickel 4f9a9e651e Merge branch 'master' into feature/mkdocs 2017-03-04 14:20:48 +01:00
Lucas Bickel 2e9fc432b1 Only override album it is empty 2017-03-04 13:38:37 +01:00
Robb Ebright 481c049c97 added passing podcast title to download function 2017-03-04 13:38:36 +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 c7ab886d2a Add default soundcloud config 2017-03-04 12:33:37 +01:00
Lucas Bickel 0b704e95f1 Use Zend_File_Transfer instead of $_FILES
This should give us more information in the case of an error and is the framework idiomatic way to handle a RESTful file upload.

I'm hoping this helps debug https://github.com/LibreTime/libretime/issues/3
2017-03-04 11:09:06 +01:00
Lucas Bickel 7a3d87a4b2 Run tests in small scripts
This is so we get a proper shell where running set -xe makes sense allowing travis to pick up nicely on how the tests run (ie. marking them as failed and not errored when the fail).
2017-03-04 10:55:12 +01:00
Lucas Bickel 09aea8b747 stop using reflection in prooduction code
Problem: Reflection is a debugging tool and not really meant for use on production. There are easier ways to check if a class implements an interface with `is_a()`.

Solution: Get rid of reflection use and switch to `is_a()` in TaskManager, refactor the Enum thing that does not make sense since it is not being used.

The `is_a()` solution is really straightforward and has been supported in php for ages.

The Enum thing was a copy paste hack from stackoverflow and ignored the simple solution mentioned there while not using the features of the advanced one.
2017-03-03 22:48:19 +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
Christopher Gervais 203716ea50 Clarify some docs and improve code highlighting. 2017-03-03 13:28:36 -05: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
Christopher Gervais 7546030985 Add basic Vagrantfile. 2017-03-03 09:45:04 -05:00
Christopher Gervais 91c581e678 Add basic Mkdocs config and initial docs. 2017-03-03 09:43:14 -05:00
Lucas Bickel 6e03863fa1 Problem: Billing is always on
Solution: Make billing configurable through LIBRETIME_ENABLE_BILLING and deactivate it

This should catch all the changes needed to deactive billing in LibreTime.

* [x] only call billing when it is enabled
* [x] let super admins edit their info
* [x] dont link to billing if it is disabled
2017-03-03 15:34:54 +01:00
Lucas Bickel 4875bc37a8 Add missing argument to playlistNotFound call
Was on 2.5.x as 7dbf4cf5d2d37057e1f5ab72cb12ffcc5ddc1ccb
2017-03-03 15:34:21 +01:00
Lucas Bickel 8fbf4fec8b config to disable live chat
Problem: Live Chat points back to legacy upstream and I do not believe we can let them do support for us ;)

Solution: Deactivate live chat through constants.php so it never gets checked.

This is like 34db703381 but removes one more sql call and makes it easy to reactivate should anyone want to use the feature in future.
2017-03-03 15:33:19 +01:00
Lucas Bickel 10532dc4e8 Problem: Failed logins always try log in against legacy upstream
Solution: Make the login fallback optional and deactivate it in the default config.

I'm leaving the code in here mostly because I want to revisit it and make it modular so I can later on plug my own FreeIPA things :)
2017-03-03 15:32:31 +01:00
Robb 4557395a86 Merge pull request #14 from radiorabe/feature/phpunit
Vendorize ZF1, fix PHPUnit and configure travis
2017-03-03 08:10:27 -05:00
Lucas Bickel 39fb738945 Always log locally during test run 2017-03-02 16:45:34 +01:00
Lucas Bickel 898a1ce545 Let soudcloud fail gracefuly when unconfigured
This makes general preferences look nice again, even when no soundcloud id and secret is configured (those don't belong us).
2017-03-02 14:47:16 +01:00
Lucas Bickel 51960a891f Manual loading fix for more classes in Zend_ pseudo-ns 2017-03-02 14:40:29 +01:00
Lucas Bickel 7b04f413a0 Remove zend dep check from status and config output
It's LibreTime's responsability to ensure this (ie in packages...) and the user should not need to know about this.
2017-03-02 14:31:51 +01:00
Lucas Bickel 4a7f3ea001 Fix preference page with customer ImageSize plugin
As noted in the code, this was getting loaded in a rather special way.
2017-03-02 14:29:19 +01:00
Lucas Bickel 693f1f6e51 Remove system zf1 from test include path 2017-03-02 13:57:56 +01:00
Lucas Bickel 9735e4cfd7 Remove zf1 requires from installer
We use it from vendor/ so there is no need to install it any more.
2017-03-02 13:47:07 +01:00
Lucas Bickel 844e93576c Update install docs with ubuntu example
This is the way around having to set a password on ubuntu.
2017-03-02 13:34:37 +01:00
Lucas Bickel 021bf38c1b Remove phing StringHelper dependency
I had only really looked for requires previously, this one caught me off guard as using an include is quite anachronistic.

I did some digging and figured out, that this is the only occurence of such phing use I can find.
2017-03-02 13:25:50 +01:00
Lucas Bickel b79ab33de2 Install to /usr/share/airtime/php per default
The added php subdir lets us keep the vendor and airtime_mvc in the same relative position to each other while keeping everything in /usr/share/$name.

This does not yet take care of cleaning any files left at the old locations, taking care of those would make this installer even more bloated and should be the responsability of apt packages.
2017-03-02 13:13:34 +01:00
Lucas Bickel 21a319767f Fix missing AMQPConnection errors in setup
Also fixes them elsewhere, apart from having switched to a vendorized version, I also used one that is already namespaced.

The easy way out here is to use it in the namespaced fashion, it is only used in a few places and I know the library well enough to be certain that nothing much changed apart from the namespacing.
2017-03-02 12:38:44 +01:00