SAAS-509: PYPO can't download files via the REST API

This commit is contained in:
drigato 2014-12-08 15:33:02 -05:00
parent 59ceb11f00
commit ec189fc27a
2 changed files with 5 additions and 11 deletions

View File

@ -771,11 +771,10 @@ SQL;
* @param Array $item schedule info about one track
* @param Integer $media_id scheduled item's cc_files id
* @param String $uri path to the scheduled item's physical location
* @param String $downloadURL URL PYPO makes to the REST API to download the file for playout
* @param Integer $filsize The file's file size in bytes
*
*/
private static function createFileScheduleEvent(&$data, $item, $media_id, $uri, $downloadURL, $filesize)
private static function createFileScheduleEvent(&$data, $item, $media_id, $uri, $filesize)
{
$start = self::AirtimeTimeToPypoTime($item["start"]);
$end = self::AirtimeTimeToPypoTime($item["end"]);
@ -810,7 +809,6 @@ SQL;
'show_name' => $item["show_name"],
'replay_gain' => $replay_gain,
'independent_event' => $independent_event,
'download_url' => $downloadURL,
'filesize' => $filesize,
);
@ -948,10 +946,9 @@ SQL;
$uri = $file->getAbsoluteFilePath();
$baseUrl = Application_Common_OsPath::getBaseDir();
$downloadURL = "http://".$_SERVER['HTTP_HOST'].$baseUrl."rest/media/$media_id/download";
$filesize = $file->getFileSize();
self::createFileScheduleEvent($data, $item, $media_id, $uri, $downloadURL, $filesize);
self::createFileScheduleEvent($data, $item, $media_id, $uri, $filesize);
}
elseif (!is_null($item['stream_id'])) {
//row is type "webstream"

View File

@ -62,15 +62,12 @@ class PypoFile(Thread):
if do_copy:
self.logger.debug("copying from %s to local cache %s" % (src, dst))
try:
"""
copy will overwrite dst if it already exists
"""
#shutil.copy(src, dst)
config = self.read_config_file(CONFIG_PATH)
CONFIG_SECTION = "general"
username = config.get(CONFIG_SECTION, 'api_key')
url = media_item['download_url']
host = config.get(CONFIG_SECTION, 'base_url')
url = "http://%s/rest/media/%s/download" % (host, media_item["id"])
with open(dst, "wb") as handle:
response = requests.get(url, auth=requests.auth.HTTPBasicAuth(username, ''), stream=True)