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()
|
||||
{
|
||||
if (isset($_GET['uploadFilter'])) {
|
||||
$filter = $_GET['uploadFilter'];
|
||||
} else {
|
||||
$filter = "all";
|
||||
}
|
||||
$request = $this->getRequest();
|
||||
|
||||
$limit = isset($_GET['iDisplayLength']) ? $_GET['iDisplayLength'] : 10;
|
||||
$rowStart = isset($_GET['iDisplayStart']) ? $_GET['iDisplayStart'] : 0;
|
||||
$filter = $request->getParam('uploadFilter', "all");
|
||||
$limit = intval($request->getParam('iDisplayLength', 10));
|
||||
$rowStart = intval($request->getParam('iDisplayStart', 0));
|
||||
|
||||
$recentUploadsQuery = CcFilesQuery::create()->filterByDbUtime(array('min' => time() - 30 * 24 * 60 * 60))
|
||||
->orderByDbUtime(Criteria::DESC);
|
||||
$recentUploadsQuery = CcFilesQuery::create();
|
||||
//old propel 1.5 to reuse this query item (for counts/finds)
|
||||
$recentUploadsQuery->keepQuery(true);
|
||||
|
||||
$numTotalRecentUploads = $recentUploadsQuery->find()->count();
|
||||
$numTotalRecentUploads = $recentUploadsQuery->count();
|
||||
$numTotalDisplayUploads = $numTotalRecentUploads;
|
||||
|
||||
if ($filter == "pending") {
|
||||
$recentUploadsQuery->filterByDbImportStatus("1");
|
||||
$recentUploadsQuery->filterByDbImportStatus(1);
|
||||
$numTotalDisplayUploads = $recentUploadsQuery->count();
|
||||
} 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();
|
||||
|
||||
$numRecentUploads = $limit;
|
||||
//CcFilesQuery::create()->filterByDbUtime(array('min' => time() - 30 * 24 * 60 * 60))
|
||||
|
||||
//$this->_helper->json->sendJson(array("jsonrpc" => "2.0", "tempfilepath" => $tempFileName));
|
||||
$recentUploads = $recentUploadsQuery
|
||||
->orderByDbUtime(Criteria::DESC)
|
||||
->offset($rowStart)
|
||||
->limit($limit)
|
||||
->find();
|
||||
|
||||
$uploadsArray = array();
|
||||
$utcTimezone = new DateTimeZone("UTC");
|
||||
$displayTimezone = new DateTimeZone(Application_Model_Preference::GetUserTimezone());
|
||||
|
||||
foreach ($recentUploads as $upload)
|
||||
{
|
||||
$upload = $upload->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
//TODO: $this->sanitizeResponse($upload));
|
||||
$utcTimezone = new DateTimeZone("UTC");
|
||||
$displayTimezone = new DateTimeZone(Application_Model_Preference::GetUserTimezone());
|
||||
$upload['utime'] = new DateTime($upload['utime'], $utcTimezone);
|
||||
$upload['utime']->setTimeZone($displayTimezone);
|
||||
$upload['utime'] = $upload['utime']->format('Y-m-d H:i:s');
|
||||
|
||||
//$this->_helper->json->sendJson($upload->asJson());
|
||||
//TODO: Invoke sanitization here
|
||||
array_push($uploadsArray, $upload);
|
||||
}
|
||||
|
||||
|
||||
$this->view->sEcho = intval($this->getRequest()->getParam('sEcho'));
|
||||
$this->view->iTotalDisplayRecords = $numTotalRecentUploads;
|
||||
//$this->view->iTotalDisplayRecords = $numRecentUploads; //$r["iTotalDisplayRecords"];
|
||||
$this->view->iTotalRecords = $numTotalRecentUploads; //$r["iTotalRecords"];
|
||||
$this->view->files = $uploadsArray; //$r["aaData"];
|
||||
$this->view->sEcho = intval($request->getParam('sEcho'));
|
||||
$this->view->iTotalDisplayRecords = $numTotalDisplayUploads;
|
||||
$this->view->iTotalRecords = $numTotalRecentUploads;
|
||||
$this->view->files = $uploadsArray;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ rabbitmq_install () {
|
|||
rabbitmqctl add_vhost $RABBITMQ_VHOST
|
||||
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 .\* .\* .\*
|
||||
|
||||
export RABBITMQ_USER
|
||||
export RABBITMQ_PASSWORD
|
||||
|
@ -49,6 +50,7 @@ preserve="f"
|
|||
nodb="f"
|
||||
reinstall="f"
|
||||
mediamonitor="f"
|
||||
airtime_analyzer="f"
|
||||
pypo="f"
|
||||
showrecorder="f"
|
||||
web="f"
|
||||
|
@ -64,6 +66,7 @@ do
|
|||
(-n|--no-db) nodb="t";;
|
||||
(-r|--reinstall) reinstall="t";;
|
||||
(-m|--media-monitor) mediamonitor="t";;
|
||||
(-a|--airtime-analyzer) airtime_analyzer="t";;
|
||||
(-y|--pypo) pypo="t";;
|
||||
(-w|--web) web="t";;
|
||||
(-d|--disable-deb-check) disable_deb_check="t";;
|
||||
|
@ -75,11 +78,12 @@ do
|
|||
shift
|
||||
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
|
||||
mediamonitor="t"
|
||||
mediamonitor="f" # FIXME: Remove media_monitor! -- Albert
|
||||
pypo="t"
|
||||
showrecorder="t"
|
||||
airtime_analyzer="t"
|
||||
web="t"
|
||||
fi
|
||||
|
||||
|
@ -181,6 +185,7 @@ fi
|
|||
#export these variables to make them available in sub bash scripts
|
||||
export DO_UPGRADE
|
||||
export mediamonitor
|
||||
export airtime_analyzer
|
||||
export pypo
|
||||
export showrecorder
|
||||
export web
|
||||
|
@ -236,6 +241,9 @@ if [ "$mediamonitor" = "t" -o "$pypo" = "t" ]; then
|
|||
deactivate
|
||||
fi
|
||||
|
||||
# Restart airtime_analyzer (or start it)
|
||||
service airtime_analyzer restart
|
||||
|
||||
|
||||
#An attempt to force apache to realize that files are updated on upgrade...
|
||||
touch /usr/share/airtime/public/index.php
|
||||
|
|
|
@ -64,8 +64,10 @@ echo "* Creating /usr/lib/airtime"
|
|||
if [ "$python_service" -eq "0" ]; then
|
||||
python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py
|
||||
|
||||
if [ "$mediamonitor" = "t" ]; then
|
||||
python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py
|
||||
if [ "$airtime_analyzer" = "t" ]; then
|
||||
pushd $AIRTIMEROOT/python_apps/airtime_analyzer/
|
||||
python setup.py install
|
||||
popd
|
||||
fi
|
||||
if [ "$pypo" = "t" ]; then
|
||||
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-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-liquidsoap.cfg
|
||||
|
||||
|
|
|
@ -65,6 +65,9 @@ if ($return_code == 0) {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
// Stop media-monitor
|
||||
service media-monitor stop-with-monit
|
||||
|
||||
//convert strings like 1.9.0-devel to 1.9.0
|
||||
$version = substr($version, 0, 5);
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import time
|
||||
import datetime
|
||||
import mutagen
|
||||
import magic # For MIME type detection
|
||||
from analyzer import Analyzer
|
||||
|
||||
class MetadataAnalyzer(Analyzer):
|
||||
|
@ -45,12 +44,9 @@ class MetadataAnalyzer(Analyzer):
|
|||
# Other fields for Airtime
|
||||
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:
|
||||
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:
|
||||
|
|
|
@ -22,7 +22,6 @@ setup(name='airtime_analyzer',
|
|||
scripts=['bin/airtime_analyzer'],
|
||||
install_requires=[
|
||||
'mutagen',
|
||||
'python-magic',
|
||||
'pika',
|
||||
'nose',
|
||||
'coverage',
|
||||
|
|
|
@ -195,19 +195,20 @@ class AirtimeCheck {
|
|||
$log = "/var/log/airtime/pypo-liquidsoap/ls_script.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);
|
||||
self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", $data->services->media_monitor->uptime_seconds);
|
||||
self::output_status("MEDIA_MONITOR_MEM_PERC", $data->services->media_monitor->memory_perc);
|
||||
self::output_status("MEDIA_MONITOR_CPU_PERC", $data->services->media_monitor->cpu_perc);
|
||||
} else {
|
||||
self::output_status("MEDIA_MONITOR_PROCESS_ID", "FAILED");
|
||||
self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", "0");
|
||||
self::output_status("MEDIA_MONITOR_MEM_PERC", "0%");
|
||||
self::output_status("MEDIA_MONITOR_CPU_PERC", "0%");
|
||||
$log = "/var/log/airtime/media-monitor/media-monitor.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);
|
||||
# self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", $data->services->media_monitor->uptime_seconds);
|
||||
# self::output_status("MEDIA_MONITOR_MEM_PERC", $data->services->media_monitor->memory_perc);
|
||||
# self::output_status("MEDIA_MONITOR_CPU_PERC", $data->services->media_monitor->cpu_perc);
|
||||
#} else {
|
||||
# self::output_status("MEDIA_MONITOR_PROCESS_ID", "FAILED");
|
||||
# self::output_status("MEDIA_MONITOR_RUNNING_SECONDS", "0");
|
||||
# self::output_status("MEDIA_MONITOR_MEM_PERC", "0%");
|
||||
# self::output_status("MEDIA_MONITOR_CPU_PERC", "0%");
|
||||
# $log = "/var/log/airtime/media-monitor/media-monitor.log";
|
||||
# self::show_log_file($log);
|
||||
#}
|
||||
}
|
||||
|
||||
if (self::$AIRTIME_STATUS_OK){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue