Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
This commit is contained in:
commit
d4a02a655c
19 changed files with 126 additions and 68 deletions
|
@ -491,11 +491,11 @@ class ScheduleController extends Zend_Controller_Action
|
|||
'add_show_genre' => $show->getGenre(),
|
||||
'add_show_description' => $show->getDescription()));
|
||||
|
||||
$startsDateTime = new DateTime($show->getStartDate()." ".$show->getStartTime(), new DateTimeZone(date_default_timezone_get()));
|
||||
$endsDateTime = new DateTime($show->getEndDate()." ".$show->getEndTime(), new DateTimeZone(date_default_timezone_get()));
|
||||
$startsDateTime = new DateTime($show->getStartDate()." ".$show->getStartTime(), new DateTimeZone("UTC"));
|
||||
$endsDateTime = new DateTime($show->getEndDate()." ".$show->getEndTime(), new DateTimeZone("UTC"));
|
||||
|
||||
//$startsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
//$endsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
$startsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
$endsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
|
||||
$formWhen->populate(array('add_show_start_date' => $startsDateTime->format("Y-m-d"),
|
||||
'add_show_start_time' => $startsDateTime->format("H:i"),
|
||||
|
@ -598,7 +598,9 @@ class ScheduleController extends Zend_Controller_Action
|
|||
if ($data['add_show_id'] != -1 && !array_key_exists('add_show_start_date', $data)){
|
||||
//show is being updated and changing the start date was disabled, since the
|
||||
//array key does not exist. We need to repopulate this entry from the db.
|
||||
$data['add_show_start_date'] = $show->getStartDate();
|
||||
//The start date will be return in UTC time, so lets convert it to local time.
|
||||
$dt = Application_Model_DateHelper::ConvertToLocalDateTime($show->getStartDate());
|
||||
$data['add_show_start_date'] = $dt->format("Y-m-d");
|
||||
$startDateModified = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -448,7 +448,7 @@ class Application_Model_Show {
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the start date of the current show.
|
||||
* Get the start date of the current show in UTC timezone.
|
||||
*
|
||||
* @return string
|
||||
* The start date in the format YYYY-MM-DD
|
||||
|
@ -457,38 +457,49 @@ class Application_Model_Show {
|
|||
global $CC_DBC;
|
||||
|
||||
$showId = $this->getId();
|
||||
$sql = "SELECT first_show FROM cc_show_days"
|
||||
$sql = "SELECT first_show, start_time, timezone FROM cc_show_days"
|
||||
." WHERE show_id = $showId"
|
||||
." ORDER BY first_show";
|
||||
." ORDER BY first_show"
|
||||
." LIMIT 1";
|
||||
|
||||
$firstDate = $CC_DBC->GetOne($sql);
|
||||
$rows = $CC_DBC->GetAll($sql);
|
||||
|
||||
if (is_null($firstDate)){
|
||||
if (count($rows) == 0){
|
||||
return "";
|
||||
} else {
|
||||
return $firstDate;
|
||||
$row = $rows[0];
|
||||
|
||||
$dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
|
||||
$dt->setTimezone(new DateTimeZone("UTC"));
|
||||
return $dt->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the start time of the current show.
|
||||
* Get the start time of the current show in UTC timezone.
|
||||
*
|
||||
* @return string
|
||||
* The start time in the format HH:MM:SS
|
||||
* The start time in the format HH:MM
|
||||
*/
|
||||
|
||||
public function getStartTime(){
|
||||
global $CC_DBC;
|
||||
|
||||
$showId = $this->getId();
|
||||
$sql = "SELECT start_time FROM cc_show_days"
|
||||
." WHERE show_id = $showId";
|
||||
$sql = "SELECT first_show, start_time, timezone FROM cc_show_days"
|
||||
." WHERE show_id = $showId"
|
||||
." ORDER BY first_show"
|
||||
." LIMIT 1";
|
||||
|
||||
$startTime = $CC_DBC->GetOne($sql);
|
||||
$rows = $CC_DBC->GetAll($sql);
|
||||
|
||||
if (is_null($startTime)){
|
||||
if (count($rows) == 0){
|
||||
return "";
|
||||
} else {
|
||||
return $startTime;
|
||||
$row = $rows[0];
|
||||
$dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
|
||||
$dt->setTimezone(new DateTimeZone("UTC"));
|
||||
return $dt->format("H:i");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -540,7 +551,7 @@ class Application_Model_Show {
|
|||
*/
|
||||
public function isStartDateTimeInPast(){
|
||||
$date = new Application_Model_DateHelper;
|
||||
$current_timestamp = $date->getTimestamp();
|
||||
$current_timestamp = $date->getUtcTimestamp();
|
||||
return ($current_timestamp > ($this->getStartDate()." ".$this->getStartTime()));
|
||||
}
|
||||
|
||||
|
@ -619,9 +630,9 @@ class Application_Model_Show {
|
|||
$sql .= "WHERE show_id = $p_data[add_show_id]";
|
||||
$CC_DBC->query($sql);
|
||||
|
||||
$oldStartDateTimeEpoch = strtotime($this->getStartDate()." ".$this->getStartTime());
|
||||
$newStartDateTimeEpoch = strtotime($p_data['add_show_start_date']." ".$p_data['add_show_start_time']);
|
||||
$diff = $newStartDateTimeEpoch - $oldStartDateTimeEpoch;
|
||||
$dtOld = new DateTime($this->getStartDate()." ".$this->getStartTime(), new DateTimeZone("UTC"));
|
||||
$dtNew = new DateTime($p_data['add_show_start_date']." ".$p_data['add_show_start_time'], new DateTimeZone(date_default_timezone_get()));
|
||||
$diff = $dtOld->getTimestamp() - $dtNew->getTimestamp();
|
||||
|
||||
$sql = "UPDATE cc_show_instances "
|
||||
."SET starts = starts + INTERVAL '$diff sec', "
|
||||
|
|
|
@ -8,9 +8,9 @@ function getContent() {
|
|||
var msg = "";
|
||||
if(isUpToDate()) {
|
||||
msg = "You are running the latest version";
|
||||
} else if(diff <= 2) {
|
||||
} else if(diff == 1) {
|
||||
msg = "New version available: " + link;
|
||||
} else if(diff == 3) {
|
||||
} else if(diff == 2) {
|
||||
msg = "This version will soon be obsolete.<br/>Please upgrade to " + link;
|
||||
} else {
|
||||
msg = "This version is no longer supported.<br/>Please upgrade to " + link;
|
||||
|
@ -44,7 +44,7 @@ function getLatestVersion() {
|
|||
* Returns the download link to latest release in HTML
|
||||
*/
|
||||
function getLatestLink() {
|
||||
return "<a href='" + $("#version-link").html() + "'>" + getLatestVersion() + "</a>";
|
||||
return "<a href='' onclick='openLatestLink();'>" + getLatestVersion() + "</a>";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -58,6 +58,13 @@ function isUpToDate() {
|
|||
return (diff == 0 && current == latest) || diff < 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the link in a new window
|
||||
*/
|
||||
function openLatestLink() {
|
||||
window.open($("#version-link").html());
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the tooltip for version notification
|
||||
*/
|
||||
|
|
|
@ -399,7 +399,9 @@ function Calendar(element, options, eventSources) {
|
|||
elementOuterWidth = element.outerWidth();
|
||||
|
||||
header.updateTitle(currentView.title);
|
||||
var today = new Date();
|
||||
//adjusting this date ensures that the "today" button is greyed out on the
|
||||
//correct day.
|
||||
var today = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
|
||||
if (today >= currentView.start && today < currentView.end) {
|
||||
header.disableButton('today');
|
||||
}else{
|
||||
|
@ -581,7 +583,8 @@ function Calendar(element, options, eventSources) {
|
|||
|
||||
|
||||
function today() {
|
||||
date = new Date();
|
||||
//adjusting this date ensures that clicking "today" takes us to the correct date.
|
||||
date = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
|
||||
renderView();
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ def create_fresh_os(vm_name, debian=False):
|
|||
|
||||
download_if_needed(vdi_dir, xml_dir, vm_name, vm_vdi_file, vm_xml_file)
|
||||
|
||||
"""
|
||||
|
||||
if not os.path.exists("%s/vm_registered"%vdi_dir):
|
||||
local("VBoxManage registervm %s"%os.path.join(xml_dir, vm_xml_file), capture=True)
|
||||
local('VBoxManage storagectl "%s" --name "SATA Controller" --add sata'%vm_name)
|
||||
|
@ -63,9 +63,8 @@ def create_fresh_os(vm_name, debian=False):
|
|||
local("VBoxManage modifyvm %s --snapshotfolder %s"%(vm_name, vdi_snapshot_dir))
|
||||
local("VBoxManage snapshot %s take fresh_install"%vm_name)
|
||||
local("touch %s/vm_registered"%vdi_dir)
|
||||
"""
|
||||
|
||||
#local('VBoxManage snapshot %s restore fresh_install'%vm_name)
|
||||
local('VBoxManage snapshot %s restore fresh_install'%vm_name)
|
||||
local('VBoxManage startvm %s'%vm_name)
|
||||
print "Please wait while attempting to acquire IP address"
|
||||
|
||||
|
@ -87,8 +86,6 @@ def create_fresh_os(vm_name, debian=False):
|
|||
if debian:
|
||||
append('/etc/apt/sources.list', "deb http://www.debian-multimedia.org squeeze main non-free", use_sudo=True)
|
||||
|
||||
|
||||
|
||||
def ubuntu_lucid_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.04_32')
|
||||
|
@ -97,6 +94,14 @@ def ubuntu_lucid_64(fresh_os=True):
|
|||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.04_64')
|
||||
|
||||
def ubuntu_maverick_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.10_32')
|
||||
|
||||
def ubuntu_maverick_64(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.10_64')
|
||||
|
||||
def ubuntu_natty_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.04_32')
|
||||
|
@ -105,6 +110,18 @@ def ubuntu_natty_64(fresh_os=True):
|
|||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.04_64')
|
||||
|
||||
def ubuntu_oneiric_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.10_32')
|
||||
|
||||
def ubuntu_oneiric_64(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.10_64')
|
||||
|
||||
def debian_squeeze_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Debian_Squeeze_32', debian=True)
|
||||
|
||||
def debian_squeeze_64(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Debian_Squeeze_64', debian=True)
|
||||
|
@ -114,13 +131,15 @@ def compile_liquidsoap(filename="liquidsoap"):
|
|||
|
||||
sudo('apt-get update')
|
||||
sudo('apt-get upgrade -y --force-yes')
|
||||
sudo('sudo apt-get install -y --force-yes libocamlcvs-ocaml-dev ocaml-findlib libao-ocaml-dev libportaudio-ocaml-dev ' + \
|
||||
sudo('sudo apt-get install -y --force-yes ocaml-findlib libao-ocaml-dev libportaudio-ocaml-dev ' + \
|
||||
'libmad-ocaml-dev libtaglib-ocaml-dev libalsa-ocaml-dev libtaglib-ocaml-dev libvorbis-ocaml-dev ' + \
|
||||
'libspeex-dev libspeexdsp-dev speex libladspa-ocaml-dev festival festival-dev ' + \
|
||||
'libsamplerate-dev libxmlplaylist-ocaml-dev libxmlrpc-light-ocaml-dev libflac-dev ' + \
|
||||
'libxml-dom-perl libxml-dom-xpath-perl icecast2 patch autoconf libmp3lame-dev ' + \
|
||||
'libcamomile-ocaml-dev libcamlimages-ocaml-dev libtool libpulse-dev libjack-dev camlidl')
|
||||
|
||||
#libocamlcvs-ocaml-dev
|
||||
|
||||
root = '/home/martin/src'
|
||||
run('mkdir -p %s' % root)
|
||||
|
||||
|
|
|
@ -53,6 +53,13 @@ def download_if_needed(vdi_dir, xml_dir, vm_name, vm_vdi_file, vm_xml_file):
|
|||
|
||||
def create_fresh_os(vm_name, update_virtualenv=False, debian=False):
|
||||
|
||||
"""
|
||||
remove known_hosts because if two virtual machines get the same ip address,
|
||||
then they will most likey have a different host key, and ssh will fail, warning
|
||||
about a possible man in the middle attack.
|
||||
"""
|
||||
local("rm ~/.ssh/known_hosts")
|
||||
|
||||
vm_vdi_file = '%s.vdi'%vm_name
|
||||
vm_xml_file = '%s.xml'%vm_name
|
||||
vdi_dir = os.path.expanduser('~/tmp/vms/%s'%vm_name)
|
||||
|
@ -91,7 +98,12 @@ def create_fresh_os(vm_name, update_virtualenv=False, debian=False):
|
|||
local("touch %s/vm_registered"%vdi_dir)
|
||||
|
||||
|
||||
|
||||
|
||||
local('VBoxManage snapshot %s restore fresh_install'%vm_name)
|
||||
|
||||
|
||||
local('VBoxManage modifyvm "%s" --bridgeadapter1 eth0'%vm_name)
|
||||
local('VBoxManage startvm %s'%vm_name)
|
||||
print "Please wait while attempting to acquire IP address"
|
||||
|
||||
|
@ -129,6 +141,14 @@ def ubuntu_lucid_64(fresh_os=True):
|
|||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.04_64', update_virtualenv=True)
|
||||
|
||||
def ubuntu_maverick_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.10_32')
|
||||
|
||||
def ubuntu_maverick_64(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_10.10_64')
|
||||
|
||||
def ubuntu_natty_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.04_32')
|
||||
|
@ -137,6 +157,14 @@ def ubuntu_natty_64(fresh_os=True):
|
|||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.04_64')
|
||||
|
||||
def ubuntu_oneiric_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.10_32')
|
||||
|
||||
def ubuntu_oneiric_64(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Ubuntu_11.10_64')
|
||||
|
||||
def debian_squeeze_32(fresh_os=True):
|
||||
if (fresh_os):
|
||||
create_fresh_os('Debian_Squeeze_32', debian=True)
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
exec 2>&1
|
||||
|
||||
target="airtime_195_tar"
|
||||
airtime_versions=("" "airtime_182_tar" "airtime_194_tar")
|
||||
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_natty_32")
|
||||
|
||||
target="airtime_git_branch"
|
||||
#airtime_versions=("" "airtime_182_tar" "airtime_194_tar")
|
||||
airtime_versions=("")
|
||||
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_lucid_64" "ubuntu_maverick_32" "ubuntu_maverick_64" "ubuntu_natty_32" "ubuntu_natty_64" "ubuntu_oneiric_32" "ubuntu_oneiric_64" "debian_squeeze_32" "debian_squeeze_64")
|
||||
|
||||
num1=${#ubuntu_versions[@]}
|
||||
num2=${#airtime_versions[@]}
|
||||
|
|
|
@ -2,15 +2,13 @@
|
|||
|
||||
exec 2>&1
|
||||
|
||||
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_lucid_64" "ubuntu_natty_32" "ubuntu_natty_64")
|
||||
|
||||
ubuntu_versions=("debian_squeeze_32")
|
||||
|
||||
num1=${#ubuntu_versions[@]}
|
||||
|
||||
|
||||
mkdir -p ./upgrade_logs2
|
||||
|
||||
for i in $(seq 0 $(($num1 -1)));
|
||||
do
|
||||
fab -f fab_liquidsoap_compile.py ${ubuntu_versions[$i]} compile_liquidsoap:${ubuntu_versions[$i]} shutdown 2>&1 | tee "./upgrade_logs2/${ubuntu_versions[$i]}.log"
|
||||
fab -f fab_liquidsoap_compile.py ${ubuntu_versions[$i]} compile_liquidsoap:filename=${ubuntu_versions[$i]} shutdown 2>&1 | tee "./upgrade_logs2/${ubuntu_versions[$i]}.log"
|
||||
done
|
||||
|
|
|
@ -79,7 +79,7 @@ PATH_INI_FILE = '/etc/airtime/pypo.cfg'
|
|||
PATH_LIQUIDSOAP_BIN = '/usr/lib/airtime/pypo/bin/liquidsoap_bin'
|
||||
|
||||
#any debian/ubuntu codename in this et will automatically use the natty liquidsoap binary
|
||||
codenames_for_natty_binary = set(["natty", "oneiric", "precise", "squeeze"])
|
||||
arch_map = dict({"32bit":"i386", "64bit":"amd64"})
|
||||
|
||||
# load config file
|
||||
try:
|
||||
|
@ -91,27 +91,17 @@ except Exception, e:
|
|||
try:
|
||||
#select appropriate liquidsoap file for given system os/architecture
|
||||
architecture = platform.architecture()[0]
|
||||
#natty = is_natty()
|
||||
arch = arch_map[architecture]
|
||||
|
||||
print "* Detecting OS: ...",
|
||||
(codename, fullname) = get_os_codename()
|
||||
print " Found %s" % fullname
|
||||
natty = codename in codenames_for_natty_binary
|
||||
print " Found %s (%s) on %s architecture" % (fullname, codename, arch)
|
||||
|
||||
if architecture == '64bit' and natty:
|
||||
print " * Installing 64-bit liquidsoap binary (Natty)"
|
||||
shutil.copy("%s/liquidsoap-natty-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
|
||||
elif architecture == '32bit' and natty:
|
||||
print " * Installing 32-bit liquidsoap binary (Natty)"
|
||||
shutil.copy("%s/liquidsoap-natty-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
|
||||
elif architecture == '64bit' and not natty:
|
||||
print " * Installing 64-bit liquidsoap binary"
|
||||
shutil.copy("%s/liquidsoap-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
|
||||
elif architecture == '32bit' and not natty:
|
||||
print " * Installing 32-bit liquidsoap binary"
|
||||
shutil.copy("%s/liquidsoap-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
|
||||
print " * Installing Liquidsoap binary"
|
||||
if (os.path.exists("%s/liquidsoap_%s_%s"%(PATH_LIQUIDSOAP_BIN, codename, arch))):
|
||||
shutil.copy("%s/liquidsoap_%s_%s"%(PATH_LIQUIDSOAP_BIN, codename, arch), "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
|
||||
else:
|
||||
print "Unknown system architecture."
|
||||
print "Unsupported system architecture."
|
||||
sys.exit(1)
|
||||
|
||||
#initialize init.d scripts
|
||||
|
|
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_maverick_amd64
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_maverick_amd64
Executable file
Binary file not shown.
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_maverick_i386
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_maverick_i386
Executable file
Binary file not shown.
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_oneiric_amd64
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_oneiric_amd64
Executable file
Binary file not shown.
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_oneiric_i386
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_oneiric_i386
Executable file
Binary file not shown.
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_squeeze_amd64
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_squeeze_amd64
Executable file
Binary file not shown.
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_squeeze_i386
Executable file
BIN
python_apps/pypo/liquidsoap_bin/liquidsoap_squeeze_i386
Executable file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue