Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
denise 2012-09-18 15:14:57 -04:00
commit 0386f8a9cb
8 changed files with 68 additions and 86 deletions

View File

@ -55,7 +55,7 @@ class AudiopreviewController extends Zend_Controller_Action
$uri = $webstream->getDbUrl();
$mime = $webstream->getDbMime();
} else {
throw new Exception("Unknown type for audio preview!");
throw new Exception("Unknown type for audio preview!.Type=$type");
}
$this->view->uri = $uri;

View File

@ -35,17 +35,6 @@ class WebstreamController extends Zend_Controller_Action
$webstream->setDbUtime(new DateTime("now", new DateTimeZone('UTC')));
$webstream->setDbMtime(new DateTime("now", new DateTimeZone('UTC')));
/*
$type = "stream";
$objInfo = Application_Model_Library::getObjInfo($type);
$obj = new $objInfo['className']($webstream);
$obj->setName($webstream->getDbName());
$obj->setMetadata('dc:creator', $userInfo->id);
$type = "stream";
Application_Model_Library::changePlaylist($obj->getId(), $type);
*/
//clear the session in case an old playlist was open: CC-4196
Application_Model_Library::changePlaylist(null, null);

View File

@ -399,6 +399,17 @@ SQL;
$this->_file->save();
}
public function getRealFileExtension() {
$path = $this->_file->getDbFilepath();
$path_elements = explode('.', $path);
if (count($path_elements) < 2) {
return "";
} else {
return $path_elements[count($path_elements) - 1];
}
}
/**
* Return suitable extension.
*
@ -407,9 +418,15 @@ SQL;
*/
public function getFileExtension()
{
return "";
// TODO : what's the point of having this function? Can we not just use
// the extension from the file_path column from cc_files?
$possible_ext = $this->getRealFileExtension();
if ($possible_ext !== "") {
return $possible_ext;
}
// We fallback to guessing the extension from the mimetype if we
// cannot extract it from the file name
$mime = $this->_file->getDbMime();
if ($mime == "audio/ogg" || $mime == "application/ogg") {
@ -712,6 +729,7 @@ SQL;
$unionTable = "({$plTable} UNION {$blTable} UNION {$fileTable} UNION {$streamTable}) AS RESULTS";
//choose which table we need to select data from.
// TODO : use constants instead of numbers -- RG
switch ($type) {
case 0:
$fromTable = $unionTable;
@ -1039,12 +1057,14 @@ SQL;
{
$con = Propel::getConnection();
$sql = "SELECT id, filepath as fp"
." FROM CC_FILES"
." WHERE directory = :dir_id"
." AND file_exists = 'TRUE'"
." AND replay_gain is NULL"
." LIMIT :lim";
$sql = <<<SQL
SELECT id,
filepath AS fp
FROM cc_files
WHERE directory = :dir_id
AND file_exists = 'TRUE'
AND replay_gain IS NULL LIMIT :lim
SQL;
$stmt = $con->prepare($sql);
$stmt->bindParam(':dir_id', $dir_id);
@ -1153,6 +1173,8 @@ SQL;
return $this->_file->getDbFileExists();
}
// note: never call this method from controllers because it does a sleep
public function uploadToSoundCloud()
{
global $CC_CONFIG;
@ -1179,6 +1201,7 @@ SQL;
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
$code = $e->getHttpCode();
$msg = $e->getHttpBody();
// TODO : Do not parse JSON by hand
$temp = explode('"error":',$msg);
$msg = trim($temp[1], '"}');
$this->setSoundCloudErrorCode($code);

View File

@ -39,7 +39,7 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable
public function getLastModified($p_type)
{
return "modified";
return $this->webstream->getDbMtime();
}
public function getDefaultLength()
@ -215,15 +215,16 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable
return true;
}
// TODO : properly implement this interface
// TODO : Fix this interface
public function setMetadata($key, $val)
{
throw new Exception("setMetadata is not imeplemented by WebStream yet");
//This function should not be defined in the interface.
throw new Exception("Not implemented.");
}
public function setName($name)
{
throw new Exception("setName is not imeplemented by WebStream yet");
$this->webstream->setDbName($name);
}
public function setLastPlayed($timestamp)
@ -243,8 +244,6 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable
//TODO: What if invalid url?
$content = curl_exec($ch);
Logging::debug($content);
// close cURL resource, and free up system resources
curl_close($ch);

View File

@ -64,7 +64,7 @@ var AIRTIME = (function(AIRTIME) {
helper : function() {
var $el = $(this), selected = mod
.getChosenAudioFilesLength(), container, message, li = $("#side_playlist ul li:first"), width = li
.getChosenAudioFilesLength(), container, message, li = $("#side_playlist ul[id='spl_sortable'] li:first"), width = li
.width(), height = li.height();
// dragging an element that has an unselected

View File

@ -82,36 +82,6 @@ SCRIPT=`readlink -f $0`
SCRIPTPATH=`dirname $SCRIPT`
AIRTIMEROOT=$SCRIPTPATH/../
#Check if required zend mvc library is present. This is a temporary workaround for 2.0.1,
#and we should probably create a separate file that checks whether ALL dependencies are satisfied before
#allowing the install to continue. However in that case, we wouldn't check for Debian packages so that we
#can become less Debian platform dependent in the future...
set +e
dpkg -l | grep zendframework > /dev/null 2>&1
ZENDFRAMEWORK=$?
dpkg -l | grep libzend-framework-php > /dev/null 2>&1
LIBZEND=$?
dpkg -l | grep lsof > /dev/null 2>&1
LSOF_EXIST=$?
dpkg -l | grep sudo > /dev/null 2>&1
SUDO_EXIST=$?
set -e
if [ "$ZENDFRAMEWORK" != "0" -a "$LIBZEND" != "0" ]; then
echo "zendframework/libzend-framework-php package missing. Please run airtime-full-install"
exit 1
fi
if [ "$LSOF_EXIST" != "0" -o "$SUDO_EXIST" != "0" ]; then
echo "Packages missing. Please run airtime-full-install"
exit 1
fi
echo "* Making sure /etc/default/locale is set properly"
set +e
update-locale

View File

@ -32,7 +32,7 @@ airtime2mutagen = {
"MDATA_KEY_MOOD" : "mood",
"MDATA_KEY_TRACKNUMBER" : "tracknumber",
"MDATA_KEY_BPM" : "bpm",
"MDATA_KEY_LABEL" : "organization",
"MDATA_KEY_LABEL" : "label",
"MDATA_KEY_COMPOSER" : "composer",
"MDATA_KEY_ENCODER" : "encodedby",
"MDATA_KEY_CONDUCTOR" : "conductor",

View File

@ -66,6 +66,7 @@ class Organizer(ReportHandler,Loggable):
# See hack in mmp.magic_move
def new_dir_watch(d):
# TODO : rewrite as return lambda : dispatcher.send(...
def cb():
dispatcher.send(signal="add_subwatch", sender=self,
directory=d)