Use track metadata from Airtime in playout engine

* Resolves CC-5893: Metadata not updated on Airtime Pro
* Report track metadata in the schedule API, and make pypo pass that
  along to Liquidsoap via annotations.
* Move HTTP response sanitization for file metadata out of the REST module and into CcFiles
* Slightly improved the terrible exception handling in pypo
This commit is contained in:
Albert Santoni 2014-07-15 16:32:48 -04:00
parent 1aa99e2896
commit 7438ecd2b4
5 changed files with 62 additions and 41 deletions

View file

@ -13,6 +13,14 @@
*/
class CcFiles extends BaseCcFiles {
//fields we should never expose through our RESTful API
private static $privateFields = array(
'file_exists',
'silan_check',
'is_scheduled',
'is_playlist'
);
public function getCueLength()
{
$cuein = $this->getDbCuein();
@ -46,4 +54,20 @@ class CcFiles extends BaseCcFiles {
$this->save();
}
/**
*
* Strips out the private fields we do not want to send back in API responses
* @param $file a CcFiles object
*/
//TODO: rename this function?
public static function sanitizeResponse($file)
{
$response = $file->toArray(BasePeer::TYPE_FIELDNAME);
foreach (self::$privateFields as $key) {
unset($response[$key]);
}
return $response;
}
} // CcFiles