Merge branch 'master' of dev.sourcefabric.org:airtime
This commit is contained in:
commit
8e8dfacfb4
|
@ -14,7 +14,6 @@ $ccAcl->add(new Zend_Acl_Resource('library'))
|
||||||
->add(new Zend_Acl_Resource('error'))
|
->add(new Zend_Acl_Resource('error'))
|
||||||
->add(new Zend_Acl_Resource('login'))
|
->add(new Zend_Acl_Resource('login'))
|
||||||
->add(new Zend_Acl_Resource('playlist'))
|
->add(new Zend_Acl_Resource('playlist'))
|
||||||
->add(new Zend_Acl_Resource('sideplaylist'))
|
|
||||||
->add(new Zend_Acl_Resource('plupload'))
|
->add(new Zend_Acl_Resource('plupload'))
|
||||||
->add(new Zend_Acl_Resource('schedule'))
|
->add(new Zend_Acl_Resource('schedule'))
|
||||||
->add(new Zend_Acl_Resource('api'))
|
->add(new Zend_Acl_Resource('api'))
|
||||||
|
@ -30,12 +29,14 @@ $ccAcl->allow('G', 'index')
|
||||||
->allow('G', 'error')
|
->allow('G', 'error')
|
||||||
->allow('G', 'nowplaying')
|
->allow('G', 'nowplaying')
|
||||||
->allow('G', 'api')
|
->allow('G', 'api')
|
||||||
|
//->allow('G', 'plupload', array('upload-recorded'))
|
||||||
->allow('G', 'recorder')
|
->allow('G', 'recorder')
|
||||||
->allow('G', 'schedule')
|
->allow('G', 'schedule')
|
||||||
->allow('G', 'dashboard')
|
->allow('G', 'dashboard')
|
||||||
|
//->allow('H', 'plupload', array('plupload', 'upload', 'index'))
|
||||||
|
->allow('H', 'plupload')
|
||||||
->allow('H', 'library')
|
->allow('H', 'library')
|
||||||
->allow('H', 'search')
|
->allow('H', 'search')
|
||||||
->allow('H', 'plupload')
|
|
||||||
->allow('H', 'playlist')
|
->allow('H', 'playlist')
|
||||||
->allow('A', 'user')
|
->allow('A', 'user')
|
||||||
->allow('A', 'preference');
|
->allow('A', 'preference');
|
||||||
|
|
|
@ -5,22 +5,13 @@ class PluploadController extends Zend_Controller_Action
|
||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
if(!Zend_Auth::getInstance()->hasIdentity())
|
|
||||||
{
|
|
||||||
$this->_redirect('login/index');
|
|
||||||
}
|
|
||||||
|
|
||||||
$ajaxContext = $this->_helper->getHelper('AjaxContext');
|
$ajaxContext = $this->_helper->getHelper('AjaxContext');
|
||||||
$ajaxContext->addActionContext('upload', 'json')
|
$ajaxContext->addActionContext('upload', 'json')
|
||||||
|
->addActionContext('upload-recorded', 'json')
|
||||||
->initContext();
|
->initContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function indexAction()
|
public function upload($targetDir)
|
||||||
{
|
|
||||||
// action body
|
|
||||||
}
|
|
||||||
|
|
||||||
public function uploadAction()
|
|
||||||
{
|
{
|
||||||
// HTTP headers for no cache etc
|
// HTTP headers for no cache etc
|
||||||
header('Content-type: text/plain; charset=UTF-8');
|
header('Content-type: text/plain; charset=UTF-8');
|
||||||
|
@ -31,7 +22,7 @@ class PluploadController extends Zend_Controller_Action
|
||||||
header("Pragma: no-cache");
|
header("Pragma: no-cache");
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
|
//$targetDir = ini_get("upload_tmp_dir"); //. DIRECTORY_SEPARATOR . "plupload";
|
||||||
$cleanupTargetDir = false; // Remove old files
|
$cleanupTargetDir = false; // Remove old files
|
||||||
$maxFileAge = 60 * 60; // Temp file age in seconds
|
$maxFileAge = 60 * 60; // Temp file age in seconds
|
||||||
|
|
||||||
|
@ -159,6 +150,23 @@ class PluploadController extends Zend_Controller_Action
|
||||||
die('{"jsonrpc" : "2.0", "id" : '.$storedFile->getId().' }');
|
die('{"jsonrpc" : "2.0", "id" : '.$storedFile->getId().' }');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function indexAction()
|
||||||
|
{
|
||||||
|
// action body
|
||||||
|
}
|
||||||
|
|
||||||
|
public function uploadAction()
|
||||||
|
{
|
||||||
|
$upload_dir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
|
||||||
|
$this->upload($upload_dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function uploadRecordedAction()
|
||||||
|
{
|
||||||
|
$upload_dir = ini_get("upload_tmp_dir");
|
||||||
|
$this->upload($upload_dir);
|
||||||
|
}
|
||||||
|
|
||||||
public function pluploadAction()
|
public function pluploadAction()
|
||||||
{
|
{
|
||||||
$this->view->headScript()->appendFile('/js/plupload/plupload.full.min.js','text/javascript');
|
$this->view->headScript()->appendFile('/js/plupload/plupload.full.min.js','text/javascript');
|
||||||
|
|
|
@ -7,6 +7,7 @@ class RecorderController extends Zend_Controller_Action
|
||||||
{
|
{
|
||||||
$ajaxContext = $this->_helper->getHelper('contextSwitch');
|
$ajaxContext = $this->_helper->getHelper('contextSwitch');
|
||||||
$ajaxContext->addActionContext('get-show-schedule', 'json')
|
$ajaxContext->addActionContext('get-show-schedule', 'json')
|
||||||
|
->addActionContext('get-uploaded-file', 'json')
|
||||||
->initContext();
|
->initContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,15 +18,10 @@ class RecorderController extends Zend_Controller_Action
|
||||||
|
|
||||||
public function getShowScheduleAction()
|
public function getShowScheduleAction()
|
||||||
{
|
{
|
||||||
//$from = $this->_getParam("from");
|
|
||||||
//$to = $this->_getParam("to");
|
|
||||||
|
|
||||||
$today_timestamp = date("Y-m-d H:i:s");
|
$today_timestamp = date("Y-m-d H:i:s");
|
||||||
|
|
||||||
$this->view->shows = Show::getShows($today_timestamp, null, $excludeInstance=NULL, $onlyRecord=TRUE);
|
$this->view->shows = Show::getShows($today_timestamp, null, $excludeInstance=NULL, $onlyRecord=TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract
|
||||||
{
|
{
|
||||||
$controller = strtolower($request->getControllerName());
|
$controller = strtolower($request->getControllerName());
|
||||||
|
|
||||||
if ($controller == 'api' || $controller == 'recorder'){
|
if ($controller == 'api' || $controller == 'recorder' || $controller == 'plupload' && $request->getActionName() == 'upload-recorded'){
|
||||||
|
|
||||||
$this->setRoleName("G");
|
$this->setRoleName("G");
|
||||||
}
|
}
|
||||||
|
@ -143,8 +143,9 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract
|
||||||
$userInfo = Zend_Auth::getInstance()->getStorage()->read();
|
$userInfo = Zend_Auth::getInstance()->getStorage()->read();
|
||||||
$this->setRoleName($userInfo->type);
|
$this->setRoleName($userInfo->type);
|
||||||
|
|
||||||
|
Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($this->_acl);
|
||||||
Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($this->_roleName);
|
Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($this->_roleName);
|
||||||
|
|
||||||
$resourceName = '';
|
$resourceName = '';
|
||||||
|
|
||||||
if ($request->getModuleName() != 'default') {
|
if ($request->getModuleName() != 'default') {
|
||||||
|
|
|
@ -110,6 +110,7 @@ function viewDisplay( view ) {
|
||||||
var calendarEl = this;
|
var calendarEl = this;
|
||||||
|
|
||||||
var select = $('<select class="schedule_change_slots input_select"/>')
|
var select = $('<select class="schedule_change_slots input_select"/>')
|
||||||
|
.append('<option value="1">1m</option>')
|
||||||
.append('<option value="5">5m</option>')
|
.append('<option value="5">5m</option>')
|
||||||
.append('<option value="10">10m</option>')
|
.append('<option value="10">10m</option>')
|
||||||
.append('<option value="15">15m</option>')
|
.append('<option value="15">15m</option>')
|
||||||
|
|
Binary file not shown.
|
@ -1,8 +1,9 @@
|
||||||
# Hostname
|
# Hostname
|
||||||
base_url = 'http://campcaster.dev/'
|
base_url = 'http://campcaster.dev/'
|
||||||
|
|
||||||
# URL to get the version number of the server API
|
|
||||||
show_schedule_url = 'Recorder/get-show-schedule/format/json'
|
show_schedule_url = 'Recorder/get-show-schedule/format/json'
|
||||||
|
|
||||||
|
upload_file_url = 'Plupload/upload-recorded/format/json'
|
||||||
|
|
||||||
# base path to store recordered shows at
|
# base path to store recordered shows at
|
||||||
base_recorded_files = '/home/naomi/Music/'
|
base_recorded_files = '/home/naomi/Music/'
|
||||||
|
|
|
@ -107,12 +107,37 @@ def get_shows():
|
||||||
process_shows(shows)
|
process_shows(shows)
|
||||||
check_record()
|
check_record()
|
||||||
|
|
||||||
|
def upload_file():
|
||||||
|
|
||||||
|
from poster.encode import multipart_encode
|
||||||
|
from poster.streaminghttp import register_openers
|
||||||
|
import urllib2
|
||||||
|
|
||||||
|
# Register the streaming http handlers with urllib2
|
||||||
|
register_openers()
|
||||||
|
|
||||||
|
# Start the multipart/form-data encoding of the file "DSC0001.jpg"
|
||||||
|
# "image1" is the name of the parameter, which is normally set
|
||||||
|
# via the "name" parameter of the HTML <input> tag.
|
||||||
|
|
||||||
|
# headers contains the necessary Content-Type and Content-Length
|
||||||
|
# datagen is a generator object that yields the encoded parameters
|
||||||
|
datagen, headers = multipart_encode({"file": open("/home/naomi/Music/testoutput.mp3", "rb"), 'name': 'crazy.mp3'})
|
||||||
|
|
||||||
|
url = config["base_url"] + config["upload_file_url"]
|
||||||
|
|
||||||
|
req = urllib2.Request(url, datagen, headers)
|
||||||
|
response = urllib2.urlopen(req).read().strip()
|
||||||
|
print response
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
while True:
|
# while True:
|
||||||
get_shows()
|
# get_shows()
|
||||||
time.sleep(30)
|
# time.sleep(30)
|
||||||
|
|
||||||
|
upload_file()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue