Merge branch '2.3.x' of dev.sourcefabric.org:airtime into 2.3.x

This commit is contained in:
Daniel James 2013-03-27 12:34:14 +00:00
commit 254dbafd1b
6 changed files with 23 additions and 30 deletions

View File

@ -17,15 +17,12 @@ require_once "Timezone.php";
require_once __DIR__.'/forms/helpers/ValidationTypes.php'; require_once __DIR__.'/forms/helpers/ValidationTypes.php';
require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php';
date_default_timezone_set('UTC'); date_default_timezone_set('UTC');
require_once (APPLICATION_PATH."/logging/Logging.php"); require_once (APPLICATION_PATH."/logging/Logging.php");
Logging::setLogPath('/var/log/airtime/zendphp.log'); Logging::setLogPath('/var/log/airtime/zendphp.log');
date_default_timezone_set(Application_Model_Preference::GetTimezone()); date_default_timezone_set(Application_Model_Preference::GetTimezone());
Config::setAirtimeVersion(); Config::setAirtimeVersion();
$CC_CONFIG = Config::getConfig();
require_once __DIR__."/configs/navigation.php"; require_once __DIR__."/configs/navigation.php";
Zend_Validate::setDefaultNamespaces("Zend"); Zend_Validate::setDefaultNamespaces("Zend");

View File

@ -48,13 +48,7 @@ class UserController extends Zend_Controller_Action
if ($form->isValid($formData)) { if ($form->isValid($formData)) {
if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 if ($form->validateLogin($formData)) {
&& $formData['login'] == 'admin'
&& $formData['user_id'] != 0) {
$this->view->form = $form;
$this->view->successMessage = "<div class='errors'>"._("Specific action is not allowed in demo version!")."</div>";
die(json_encode(array("valid"=>"false", "html"=>$this->view->render('user/add-user.phtml'))));
} elseif ($form->validateLogin($formData)) {
$user = new Application_Model_User($formData['user_id']); $user = new Application_Model_User($formData['user_id']);
if (empty($formData['user_id'])) { if (empty($formData['user_id'])) {
$user->setLogin($formData['login']); $user->setLogin($formData['login']);
@ -131,12 +125,7 @@ class UserController extends Zend_Controller_Action
if ($request->isPost()) { if ($request->isPost()) {
$formData = $request->getPost(); $formData = $request->getPost();
if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 if ($form->isValid($formData) &&
&& $formData['cu_login'] == 'admin') {
$this->view->form = $form;
$this->view->successMessage = "<div class='errors'>"._("Specific action is not allowed in demo version!")."</div>";
die(json_encode(array("html"=>$this->view->render('user/edit-user.phtml'))));
} else if ($form->isValid($formData) &&
$form->validateLogin($formData['cu_login'], $formData['cu_user_id'])) { $form->validateLogin($formData['cu_login'], $formData['cu_user_id'])) {
$user = new Application_Model_User($formData['cu_user_id']); $user = new Application_Model_User($formData['cu_user_id']);
$user->setFirstName($formData['cu_first_name']); $user->setFirstName($formData['cu_first_name']);

View File

@ -7,6 +7,7 @@ from os.path import normpath
import json import json
import os import os
import copy import copy
import time
from media.monitor.exceptions import BadSongFile, InvalidMetadataElement from media.monitor.exceptions import BadSongFile, InvalidMetadataElement
from media.monitor.metadata import Metadata from media.monitor.metadata import Metadata

View File

@ -12,8 +12,6 @@ ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq"
exec 2>&1 exec 2>&1
export PYTHONPATH=${api_client_path} export PYTHONPATH=${api_client_path}
rm -f /etc/airtime/liquidsoap.cfg
cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts
python generate_liquidsoap_cfg.py python generate_liquidsoap_cfg.py

View File

@ -24,21 +24,25 @@ start () {
stop () { stop () {
monit unmonitor airtime-liquidsoap >/dev/null 2>&1 monit unmonitor airtime-liquidsoap >/dev/null 2>&1
#send term signal after 10 seconds #send term signal after 10 seconds
timeout 10 /usr/lib/airtime/airtime_virtualenv/bin/python /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py timeout -k 5 10 /usr/lib/airtime/airtime_virtualenv/bin/python \
/usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py
# Send TERM after 5 seconds, wait at most 30 seconds. # Send TERM after 5 seconds, wait at most 30 seconds.
start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --pidfile $PIDFILE start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --pidfile $PIDFILE
rm -f $PIDFILE rm -f $PIDFILE
sleep 3
} }
start_no_monit() { start_no_monit() {
chown pypo:pypo /var/log/airtime/pypo chown pypo:pypo /var/log/airtime/pypo
chown pypo:pypo /var/log/airtime/pypo-liquidsoap chown pypo:pypo /var/log/airtime/pypo-liquidsoap
chown pypo:pypo /etc/airtime/liquidsoap.cfg
touch /var/run/airtime-liquidsoap.pid rm -f $PIDFILE
chown pypo:pypo /var/run/airtime-liquidsoap.pid touch $PIDFILE
chown pypo:pypo $PIDFILE
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--pidfile /var/run/airtime-liquidsoap.pid --nicelevel -15 --startas $DAEMON --pidfile $PIDFILE --nicelevel -15 --startas $DAEMON
} }
@ -62,8 +66,8 @@ case "${1:-''}" in
;; ;;
'status') 'status')
if [ -f "/var/run/airtime-liquidsoap.pid" ]; then if [ -f "$PIDFILE" ]; then
pid=`cat /var/run/airtime-liquidsoap.pid` pid=`cat $PIDFILE`
if [ -d "/proc/$pid" ]; then if [ -d "/proc/$pid" ]; then
echo "Liquidsoap is running" echo "Liquidsoap is running"
exit 0 exit 0

View File

@ -41,13 +41,17 @@ class SilanAnalyzer(Thread):
full_path = f['fp'] full_path = f['fp']
# silence detect(set default queue in and out) # silence detect(set default queue in and out)
try: try:
command = ['nice', '-n', '19', 'silan', '-b', '-f', 'JSON', full_path]
proc = subprocess.Popen(command, stdout=subprocess.PIPE)
out = proc.communicate()[0].strip('\r\n')
info = json.loads(out)
data = {} data = {}
data['cuein'] = str('{0:f}'.format(info['sound'][0][0])) command = ['nice', '-n', '19', 'silan', '-b', '-f', 'JSON', full_path]
data['cueout'] = str('{0:f}'.format(info['sound'][-1][1])) try:
proc = subprocess.Popen(command, stdout=subprocess.PIPE)
out = proc.communicate()[0].strip('\r\n')
info = json.loads(out)
data['cuein'] = str('{0:f}'.format(info['sound'][0][0]))
data['cueout'] = str('{0:f}'.format(info['sound'][-1][1]))
except Exception, e:
self.logger.error(str(command))
self.logger.error(e)
processed_data.append((f['id'], data)) processed_data.append((f['id'], data))
total += 1 total += 1
if total % 5 == 0: if total % 5 == 0: