Merge branch '2.1.x' of dev.sourcefabric.org:airtime into 2.1.x

This commit is contained in:
denise 2012-07-03 18:23:04 -04:00
commit 6d056daa2f
11 changed files with 59 additions and 34 deletions

View File

@ -1,3 +1,10 @@
=======
CREDITS
=======
Version 2.1.3
-------------
Same as previous version.
=======
CREDITS
=======

View File

@ -1,2 +1,2 @@
PRODUCT_ID=Airtime
PRODUCT_RELEASE=2.1.2
PRODUCT_RELEASE=2.1.3

View File

@ -1,3 +1,15 @@
2.1.3 - July 4th, 2012
* Changes
* Clarify inputs and output labels under stream settings
* Bug Fixes
* Fix playout engine crashing in rare cases after the system is restarted
* Fix entries in the Calendar unable to have multiple icons (recorded icon, soundcloud icon etc.)
* Fixed unwatching a watched folder with a large number of files (50,000+) can take a long time
* Fixed files deleted in the Web UI would delete files from the disk in watched folders
* Fixed jQuery widgets not showing the incorrectly showing the past Sunday on Sunday
* Fixed dragging and dropping tracks into a live show could cause to web UI to become unsynchronized from what is actually playing
* Fixed unable to receive mono streams for Master or Show source rebroadcasts
2.1.2 - June 18th, 2012
* Bug Fixes
* Fixed problem where playout engine may not retrieve program schedule after extended periods of user inactivity.

View File

@ -152,10 +152,6 @@ fi
if [ -e /etc/init.d/airtime-playout ]; then
invoke-rc.d airtime-playout stop > /dev/null 2>&1
fi
if [ -e /etc/init.d/airtime-show-recorder ]; then
invoke-rc.d airtime-show-recorder stop > /dev/null 2>&1
fi
#export these variables to make them available in sub bash scripts
export DO_UPGRADE

View File

@ -1,3 +1,3 @@
<?php
define('AIRTIME_VERSION', '2.1.2');
define('AIRTIME_VERSION', '2.1.3');

View File

@ -112,5 +112,9 @@ if (strcmp($version, "2.1.2") < 0){
passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.2/airtime-upgrade.php");
pause();
}
if (strcmp($version, "2.1.3") < 0){
passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.3/airtime-upgrade.php");
pause();
}
echo "******************************* Upgrade Complete *******************************".PHP_EOL;

View File

@ -20,7 +20,7 @@ from configobj import ConfigObj
import string
import hashlib
AIRTIME_VERSION = "2.1.2"
AIRTIME_VERSION = "2.1.3"
def api_client_factory(config, logger=None):
if logger != None:

View File

@ -89,10 +89,10 @@ class MediaMonitorCommon:
def make_file_readable(self, pathname, is_dir):
if is_dir:
#set to 755
os.chmod(pathname, stat.S_IRUSR|stat.S_IWUSR|stat.S_IXUSR | stat.S_IRGRP|stat.S_IXGRP | stat.S_IROTH|stat.S_IXOTH)
os.chmod(pathname, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
else:
#set to 644
os.chmod(pathname, stat.S_IRUSR|stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
os.chmod(pathname, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
def make_readable(self, pathname):
"""
@ -195,7 +195,7 @@ class MediaMonitorCommon:
self.logger.error("Trying %s", new_filepath)
if(os.path.exists(new_filepath)):
i = i+1;
i = i + 1;
else:
filepath = new_filepath
break
@ -231,7 +231,7 @@ class MediaMonitorCommon:
md['MDATA_KEY_TRACKNUMBER'] = "%02d" % (int(md['MDATA_KEY_TRACKNUMBER']))
#format bitrate as 128kbps
md['MDATA_KEY_BITRATE'] = str(md['MDATA_KEY_BITRATE']/1000)+"kbps"
md['MDATA_KEY_BITRATE'] = str(md['MDATA_KEY_BITRATE'] / 1000) + "kbps"
filepath = None
#file is recorded by Airtime

View File

@ -429,7 +429,7 @@ class PypoFetch(Thread):
fileExt = os.path.splitext(media_item['uri'])[1]
dst = os.path.join(download_dir, media_item['id'] + fileExt)
media_item['dst'] = dst
media_item['started_copying'] = False
media_item['file_ready'] = False
media_filtered[key] = media_item
self.media_prepare_queue.put(copy.copy(media_filtered))

View File

@ -60,22 +60,28 @@ class PypoFile(Thread):
except Exception, e:
dst_exists = False
media_item['already_exist'] = False
do_copy = False
if dst_exists:
if src_size != dst_size:
do_copy = True
else:
self.logger.debug("file %s already exists in local cache as %s, skipping cpoying..." % (src, dst))
media_item['already_exist'] = True
self.logger.debug("file %s already exists in local cache as %s, skipping copying..." % (src, dst))
else:
do_copy = True
media_item['file_ready'] = not do_copy
if do_copy:
self.logger.debug("copying from %s to local cache %s" % (src, dst))
try:
media_item['started_copying'] = True
"""
List file as "ready" before it starts copying because by the time
Liquidsoap is ready to play this file, it should have at least started
copying (and can continue copying while Liquidsoap reads from the beginning
of the file)
"""
media_item['file_ready'] = True
"""
copy will overwrite dst if it already exists

View File

@ -340,11 +340,11 @@ class PypoPush(Thread):
give up on it.
"""
iter_num = 0
while not media_item['started_copying'] and iter_num < 50:
while not media_item['file_ready'] and iter_num < 50:
time.sleep(0.1)
iter_num += 1
if media_item['started_copying'] or media_item['already_exist']:
if media_item['file_ready']:
self.telnet_to_liquidsoap(media_item)
else:
self.logger.warn("File %s did not become ready in less than 5 seconds. Skipping...", media_item['dst'])