Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-saas
This commit is contained in:
commit
2f8461b2a6
8 changed files with 62 additions and 53 deletions
|
@ -34,55 +34,53 @@ class PluploadController extends Zend_Controller_Action
|
||||||
|
|
||||||
public function recentUploadsAction()
|
public function recentUploadsAction()
|
||||||
{
|
{
|
||||||
if (isset($_GET['uploadFilter'])) {
|
$request = $this->getRequest();
|
||||||
$filter = $_GET['uploadFilter'];
|
|
||||||
} else {
|
$filter = $request->getParam('uploadFilter', "all");
|
||||||
$filter = "all";
|
$limit = intval($request->getParam('iDisplayLength', 10));
|
||||||
}
|
$rowStart = intval($request->getParam('iDisplayStart', 0));
|
||||||
|
|
||||||
$limit = isset($_GET['iDisplayLength']) ? $_GET['iDisplayLength'] : 10;
|
$recentUploadsQuery = CcFilesQuery::create();
|
||||||
$rowStart = isset($_GET['iDisplayStart']) ? $_GET['iDisplayStart'] : 0;
|
//old propel 1.5 to reuse this query item (for counts/finds)
|
||||||
|
$recentUploadsQuery->keepQuery(true);
|
||||||
|
|
||||||
$recentUploadsQuery = CcFilesQuery::create()->filterByDbUtime(array('min' => time() - 30 * 24 * 60 * 60))
|
$numTotalRecentUploads = $recentUploadsQuery->count();
|
||||||
->orderByDbUtime(Criteria::DESC);
|
$numTotalDisplayUploads = $numTotalRecentUploads;
|
||||||
|
|
||||||
$numTotalRecentUploads = $recentUploadsQuery->find()->count();
|
|
||||||
|
|
||||||
if ($filter == "pending") {
|
if ($filter == "pending") {
|
||||||
$recentUploadsQuery->filterByDbImportStatus("1");
|
$recentUploadsQuery->filterByDbImportStatus(1);
|
||||||
|
$numTotalDisplayUploads = $recentUploadsQuery->count();
|
||||||
} else if ($filter == "failed") {
|
} else if ($filter == "failed") {
|
||||||
$recentUploadsQuery->filterByDbImportStatus(array('min' => 100));
|
$recentUploadsQuery->filterByDbImportStatus(2);
|
||||||
|
$numTotalDisplayUploads = $recentUploadsQuery->count();
|
||||||
|
//TODO: Consider using array('min' => 200)) or something if we have multiple errors codes for failure.
|
||||||
}
|
}
|
||||||
|
|
||||||
$recentUploads = $recentUploadsQuery->offset($rowStart)->limit($limit)->find();
|
$recentUploads = $recentUploadsQuery
|
||||||
|
->orderByDbUtime(Criteria::DESC)
|
||||||
$numRecentUploads = $limit;
|
->offset($rowStart)
|
||||||
//CcFilesQuery::create()->filterByDbUtime(array('min' => time() - 30 * 24 * 60 * 60))
|
->limit($limit)
|
||||||
|
->find();
|
||||||
//$this->_helper->json->sendJson(array("jsonrpc" => "2.0", "tempfilepath" => $tempFileName));
|
|
||||||
|
|
||||||
$uploadsArray = array();
|
$uploadsArray = array();
|
||||||
|
$utcTimezone = new DateTimeZone("UTC");
|
||||||
|
$displayTimezone = new DateTimeZone(Application_Model_Preference::GetUserTimezone());
|
||||||
|
|
||||||
foreach ($recentUploads as $upload)
|
foreach ($recentUploads as $upload)
|
||||||
{
|
{
|
||||||
$upload = $upload->toArray(BasePeer::TYPE_FIELDNAME);
|
$upload = $upload->toArray(BasePeer::TYPE_FIELDNAME);
|
||||||
//TODO: $this->sanitizeResponse($upload));
|
//TODO: $this->sanitizeResponse($upload));
|
||||||
$utcTimezone = new DateTimeZone("UTC");
|
|
||||||
$displayTimezone = new DateTimeZone(Application_Model_Preference::GetUserTimezone());
|
|
||||||
$upload['utime'] = new DateTime($upload['utime'], $utcTimezone);
|
$upload['utime'] = new DateTime($upload['utime'], $utcTimezone);
|
||||||
$upload['utime']->setTimeZone($displayTimezone);
|
$upload['utime']->setTimeZone($displayTimezone);
|
||||||
$upload['utime'] = $upload['utime']->format('Y-m-d H:i:s');
|
$upload['utime'] = $upload['utime']->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
//$this->_helper->json->sendJson($upload->asJson());
|
|
||||||
//TODO: Invoke sanitization here
|
//TODO: Invoke sanitization here
|
||||||
array_push($uploadsArray, $upload);
|
array_push($uploadsArray, $upload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->view->sEcho = intval($request->getParam('sEcho'));
|
||||||
$this->view->sEcho = intval($this->getRequest()->getParam('sEcho'));
|
$this->view->iTotalDisplayRecords = $numTotalDisplayUploads;
|
||||||
$this->view->iTotalDisplayRecords = $numTotalRecentUploads;
|
$this->view->iTotalRecords = $numTotalRecentUploads;
|
||||||
//$this->view->iTotalDisplayRecords = $numRecentUploads; //$r["iTotalDisplayRecords"];
|
$this->view->files = $uploadsArray;
|
||||||
$this->view->iTotalRecords = $numTotalRecentUploads; //$r["iTotalRecords"];
|
|
||||||
$this->view->files = $uploadsArray; //$r["aaData"];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ rabbitmq_install () {
|
||||||
rabbitmqctl add_vhost $RABBITMQ_VHOST
|
rabbitmqctl add_vhost $RABBITMQ_VHOST
|
||||||
rabbitmqctl add_user $RABBITMQ_USER $RABBITMQ_PASSWORD
|
rabbitmqctl add_user $RABBITMQ_USER $RABBITMQ_PASSWORD
|
||||||
rabbitmqctl set_permissions -p $RABBITMQ_VHOST $RABBITMQ_USER "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"
|
rabbitmqctl set_permissions -p $RABBITMQ_VHOST $RABBITMQ_USER "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"
|
||||||
|
rabbitmqctl set_permissions -p $RABBITMQ_VHOST $RABBITMQ_USER .\* .\* .\*
|
||||||
|
|
||||||
export RABBITMQ_USER
|
export RABBITMQ_USER
|
||||||
export RABBITMQ_PASSWORD
|
export RABBITMQ_PASSWORD
|
||||||
|
@ -49,6 +50,7 @@ preserve="f"
|
||||||
nodb="f"
|
nodb="f"
|
||||||
reinstall="f"
|
reinstall="f"
|
||||||
mediamonitor="f"
|
mediamonitor="f"
|
||||||
|
airtime_analyzer="f"
|
||||||
pypo="f"
|
pypo="f"
|
||||||
showrecorder="f"
|
showrecorder="f"
|
||||||
web="f"
|
web="f"
|
||||||
|
@ -64,6 +66,7 @@ do
|
||||||
(-n|--no-db) nodb="t";;
|
(-n|--no-db) nodb="t";;
|
||||||
(-r|--reinstall) reinstall="t";;
|
(-r|--reinstall) reinstall="t";;
|
||||||
(-m|--media-monitor) mediamonitor="t";;
|
(-m|--media-monitor) mediamonitor="t";;
|
||||||
|
(-a|--airtime-analyzer) airtime_analyzer="t";;
|
||||||
(-y|--pypo) pypo="t";;
|
(-y|--pypo) pypo="t";;
|
||||||
(-w|--web) web="t";;
|
(-w|--web) web="t";;
|
||||||
(-d|--disable-deb-check) disable_deb_check="t";;
|
(-d|--disable-deb-check) disable_deb_check="t";;
|
||||||
|
@ -75,11 +78,12 @@ do
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$mediamonitor" = "f" -a "$pypo" = "f" -a "$web" = "f" ]; then
|
if [ "$mediamonitor" = "f" -a "$pypo" = "f" -a "$web" = "f" -a "$airtime_analyzer" = "f" ]; then
|
||||||
#none of these install parameters were specified, so by default we install all of them
|
#none of these install parameters were specified, so by default we install all of them
|
||||||
mediamonitor="t"
|
mediamonitor="f" # FIXME: Remove media_monitor! -- Albert
|
||||||
pypo="t"
|
pypo="t"
|
||||||
showrecorder="t"
|
showrecorder="t"
|
||||||
|
airtime_analyzer="t"
|
||||||
web="t"
|
web="t"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -181,6 +185,7 @@ fi
|
||||||
#export these variables to make them available in sub bash scripts
|
#export these variables to make them available in sub bash scripts
|
||||||
export DO_UPGRADE
|
export DO_UPGRADE
|
||||||
export mediamonitor
|
export mediamonitor
|
||||||
|
export airtime_analyzer
|
||||||
export pypo
|
export pypo
|
||||||
export showrecorder
|
export showrecorder
|
||||||
export web
|
export web
|
||||||
|
@ -236,6 +241,9 @@ if [ "$mediamonitor" = "t" -o "$pypo" = "t" ]; then
|
||||||
deactivate
|
deactivate
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Restart airtime_analyzer (or start it)
|
||||||
|
service airtime_analyzer restart
|
||||||
|
|
||||||
|
|
||||||
#An attempt to force apache to realize that files are updated on upgrade...
|
#An attempt to force apache to realize that files are updated on upgrade...
|
||||||
touch /usr/share/airtime/public/index.php
|
touch /usr/share/airtime/public/index.php
|
||||||
|
|
|
@ -64,8 +64,10 @@ echo "* Creating /usr/lib/airtime"
|
||||||
if [ "$python_service" -eq "0" ]; then
|
if [ "$python_service" -eq "0" ]; then
|
||||||
python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py
|
python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py
|
||||||
|
|
||||||
if [ "$mediamonitor" = "t" ]; then
|
if [ "$airtime_analyzer" = "t" ]; then
|
||||||
python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py
|
pushd $AIRTIMEROOT/python_apps/airtime_analyzer/
|
||||||
|
python setup.py install
|
||||||
|
popd
|
||||||
fi
|
fi
|
||||||
if [ "$pypo" = "t" ]; then
|
if [ "$pypo" = "t" ]; then
|
||||||
python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py
|
python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py
|
||||||
|
|
|
@ -42,7 +42,9 @@ fi
|
||||||
|
|
||||||
chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg
|
chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg
|
||||||
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
||||||
chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg
|
if [ "$mediamonitor" = "t" ]; then
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg
|
||||||
|
fi
|
||||||
chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg
|
chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg
|
||||||
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,9 @@ if ($return_code == 0) {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Stop media-monitor
|
||||||
|
service media-monitor stop-with-monit
|
||||||
|
|
||||||
//convert strings like 1.9.0-devel to 1.9.0
|
//convert strings like 1.9.0-devel to 1.9.0
|
||||||
$version = substr($version, 0, 5);
|
$version = substr($version, 0, 5);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import time
|
import time
|
||||||
import datetime
|
import datetime
|
||||||
import mutagen
|
import mutagen
|
||||||
import magic # For MIME type detection
|
|
||||||
from analyzer import Analyzer
|
from analyzer import Analyzer
|
||||||
|
|
||||||
class MetadataAnalyzer(Analyzer):
|
class MetadataAnalyzer(Analyzer):
|
||||||
|
@ -45,12 +44,9 @@ class MetadataAnalyzer(Analyzer):
|
||||||
# Other fields for Airtime
|
# Other fields for Airtime
|
||||||
metadata["cueout"] = metadata["length"]
|
metadata["cueout"] = metadata["length"]
|
||||||
|
|
||||||
#Use the python-magic module to get the MIME type.
|
#Use the mutagen to get the MIME type.
|
||||||
if audio_file.mime:
|
if audio_file.mime:
|
||||||
metadata["mime"] = audio_file.mime[0]
|
metadata["mime"] = audio_file.mime[0]
|
||||||
else:
|
|
||||||
mime_magic = magic.Magic(mime=True)
|
|
||||||
metadata["mime"] = mime_magic.from_file(filename)
|
|
||||||
|
|
||||||
#Try to get the number of channels if mutagen can...
|
#Try to get the number of channels if mutagen can...
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -22,7 +22,6 @@ setup(name='airtime_analyzer',
|
||||||
scripts=['bin/airtime_analyzer'],
|
scripts=['bin/airtime_analyzer'],
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'mutagen',
|
'mutagen',
|
||||||
'python-magic',
|
|
||||||
'pika',
|
'pika',
|
||||||
'nose',
|
'nose',
|
||||||
'coverage',
|
'coverage',
|
||||||
|
|
|
@ -195,19 +195,20 @@ class AirtimeCheck {
|
||||||
$log = "/var/log/airtime/pypo-liquidsoap/ls_script.log";
|
$log = "/var/log/airtime/pypo-liquidsoap/ls_script.log";
|
||||||
self::show_log_file($log);
|
self::show_log_file($log);
|
||||||
}
|
}
|
||||||
if (isset($services->media_monitor) && $services->media_monitor->process_id != "FAILED") {
|
|
||||||
self::output_status("MEDIA_MONITOR_PROCESS_ID", $data->services->media_monitor->process_id);
|
#if (isset($services->media_monitor) && $services->media_monitor->process_id != "FAILED") {
|
||||||
self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", $data->services->media_monitor->uptime_seconds);
|
# self::output_status("MEDIA_MONITOR_PROCESS_ID", $data->services->media_monitor->process_id);
|
||||||
self::output_status("MEDIA_MONITOR_MEM_PERC", $data->services->media_monitor->memory_perc);
|
# self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", $data->services->media_monitor->uptime_seconds);
|
||||||
self::output_status("MEDIA_MONITOR_CPU_PERC", $data->services->media_monitor->cpu_perc);
|
# self::output_status("MEDIA_MONITOR_MEM_PERC", $data->services->media_monitor->memory_perc);
|
||||||
} else {
|
# self::output_status("MEDIA_MONITOR_CPU_PERC", $data->services->media_monitor->cpu_perc);
|
||||||
self::output_status("MEDIA_MONITOR_PROCESS_ID", "FAILED");
|
#} else {
|
||||||
self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", "0");
|
# self::output_status("MEDIA_MONITOR_PROCESS_ID", "FAILED");
|
||||||
self::output_status("MEDIA_MONITOR_MEM_PERC", "0%");
|
# self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", "0");
|
||||||
self::output_status("MEDIA_MONITOR_CPU_PERC", "0%");
|
# self::output_status("MEDIA_MONITOR_MEM_PERC", "0%");
|
||||||
$log = "/var/log/airtime/media-monitor/media-monitor.log";
|
# self::output_status("MEDIA_MONITOR_CPU_PERC", "0%");
|
||||||
self::show_log_file($log);
|
# $log = "/var/log/airtime/media-monitor/media-monitor.log";
|
||||||
}
|
# self::show_log_file($log);
|
||||||
|
#}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self::$AIRTIME_STATUS_OK){
|
if (self::$AIRTIME_STATUS_OK){
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue