Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
This commit is contained in:
commit
0d4e1d21e2
14 changed files with 109 additions and 37 deletions
|
@ -772,15 +772,17 @@ class ApiController extends Zend_Controller_Action
|
||||||
|
|
||||||
$error_msg = $request->getParam('error_msg');
|
$error_msg = $request->getParam('error_msg');
|
||||||
$stream_id = $request->getParam('stream_id');
|
$stream_id = $request->getParam('stream_id');
|
||||||
Application_Model_StreamSetting::setLiquidsoapError($stream_id, $error_msg);
|
$boot_time = $request->getParam('boot_time');
|
||||||
|
Application_Model_StreamSetting::setLiquidsoapError($stream_id, $error_msg, $boot_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateLiquidsoapConnectionAction(){
|
public function updateLiquidsoapConnectionAction(){
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
|
|
||||||
$stream_id = $request->getParam('stream_id');
|
$stream_id = $request->getParam('stream_id');
|
||||||
|
$boot_time = $request->getParam('boot_time');
|
||||||
// setting error_msg as "" when there is no error_msg
|
// setting error_msg as "" when there is no error_msg
|
||||||
Application_Model_StreamSetting::setLiquidsoapError($stream_id, "OK");
|
Application_Model_StreamSetting::setLiquidsoapError($stream_id, "OK", $boot_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -203,6 +203,11 @@ class PreferenceController extends Zend_Controller_Action
|
||||||
Application_Model_StreamSetting::setStreamSetting($values);
|
Application_Model_StreamSetting::setStreamSetting($values);
|
||||||
$data = array();
|
$data = array();
|
||||||
$data['setting'] = Application_Model_StreamSetting::getStreamSetting();
|
$data['setting'] = Application_Model_StreamSetting::getStreamSetting();
|
||||||
|
for($i=1;$i<=$num_of_stream;$i++){
|
||||||
|
Application_Model_StreamSetting::setLiquidsoapError($i, "waiting");
|
||||||
|
}
|
||||||
|
// store stream update timestamp
|
||||||
|
Application_Model_Preference::SetStreamUpdateTimestamp();
|
||||||
Application_Model_RabbitMq::SendMessageToPypo("update_stream_setting", $data);
|
Application_Model_RabbitMq::SendMessageToPypo("update_stream_setting", $data);
|
||||||
$this->view->statusMsg = "<div class='success'>Stream Setting Updated.</div>";
|
$this->view->statusMsg = "<div class='success'>Stream Setting Updated.</div>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -573,6 +573,25 @@ class Application_Model_Preference
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stores the last timestamp of user updating stream setting
|
||||||
|
*/
|
||||||
|
public static function SetStreamUpdateTimestamp() {
|
||||||
|
$now = time();
|
||||||
|
self::SetValue("stream_update_timestamp", $now);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the last timestamp of user updating stream setting
|
||||||
|
*/
|
||||||
|
public static function GetStreamUpdateTimestemp() {
|
||||||
|
$update_time = self::GetValue("stream_update_timestamp");
|
||||||
|
if($update_time == null){
|
||||||
|
$update_time = 0;
|
||||||
|
}
|
||||||
|
return $update_time;
|
||||||
|
}
|
||||||
|
|
||||||
/* User specific preferences start */
|
/* User specific preferences start */
|
||||||
|
|
||||||
|
|
|
@ -110,22 +110,29 @@ class Application_Model_StreamSetting {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function setLiquidsoapError($stream_id, $msg){
|
/*
|
||||||
|
* Stores liquidsoap status if $boot_time > save time.
|
||||||
|
* save time is the time that user clicked save on stream setting page
|
||||||
|
*/
|
||||||
|
public static function setLiquidsoapError($stream_id, $msg, $boot_time=null){
|
||||||
global $CC_DBC;
|
global $CC_DBC;
|
||||||
|
|
||||||
$keyname = "s".$stream_id."_liquidsoap_error";
|
$update_time = Application_Model_Preference::GetStreamUpdateTimestemp();
|
||||||
$sql = "SELECT COUNT(*) FROM cc_stream_setting"
|
if($boot_time == null || $boot_time > $update_time ){
|
||||||
." WHERE keyname = '$keyname'";
|
$keyname = "s".$stream_id."_liquidsoap_error";
|
||||||
$result = $CC_DBC->GetOne($sql);
|
$sql = "SELECT COUNT(*) FROM cc_stream_setting"
|
||||||
if ($result == 1){
|
|
||||||
$sql = "UPDATE cc_stream_setting"
|
|
||||||
." SET value = '$msg'"
|
|
||||||
." WHERE keyname = '$keyname'";
|
." WHERE keyname = '$keyname'";
|
||||||
}else{
|
$result = $CC_DBC->GetOne($sql);
|
||||||
$sql = "INSERT INTO cc_stream_setting (keyname, value, type)"
|
if ($result == 1){
|
||||||
." VALUES ('$keyname', '$msg', 'string')";
|
$sql = "UPDATE cc_stream_setting"
|
||||||
|
." SET value = '$msg'"
|
||||||
|
." WHERE keyname = '$keyname'";
|
||||||
|
}else{
|
||||||
|
$sql = "INSERT INTO cc_stream_setting (keyname, value, type)"
|
||||||
|
." VALUES ('$keyname', '$msg', 'string')";
|
||||||
|
}
|
||||||
|
$res = $CC_DBC->query($sql);
|
||||||
}
|
}
|
||||||
$res = $CC_DBC->query($sql);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getLiquidsoapError($stream_id){
|
public static function getLiquidsoapError($stream_id){
|
||||||
|
|
|
@ -11,5 +11,3 @@ RewriteCond %{REQUEST_FILENAME} -d
|
||||||
RewriteRule ^.*$ - [NC,L]
|
RewriteRule ^.*$ - [NC,L]
|
||||||
RewriteRule ^.*$ index.php [NC,L]
|
RewriteRule ^.*$ index.php [NC,L]
|
||||||
RewriteBase /
|
RewriteBase /
|
||||||
|
|
||||||
SetEnv APPLICATION_ENV development
|
|
||||||
|
|
|
@ -96,6 +96,8 @@ function checkLiquidsoapStatus(){
|
||||||
html = '<div class="stream-status status-good"><h3>Connected to the streaming server</h3></div>'
|
html = '<div class="stream-status status-good"><h3>Connected to the streaming server</h3></div>'
|
||||||
}else if(status == "N/A"){
|
}else if(status == "N/A"){
|
||||||
html = '<div class="stream-status status-disabled"><h3>The stream is disabled</h3></div>'
|
html = '<div class="stream-status status-disabled"><h3>The stream is disabled</h3></div>'
|
||||||
|
}else if(status == "waiting"){
|
||||||
|
html = '<div class="stream-status status-info"><h3>Getting information from the server...</h3></div>'
|
||||||
}else{
|
}else{
|
||||||
html = '<div class="stream-status status-error"><h3>Can not connect to the streaming server</h3><p>'+status+'</p></div>'
|
html = '<div class="stream-status status-error"><h3>Can not connect to the streaming server</h3><p>'+status+'</p></div>'
|
||||||
}
|
}
|
||||||
|
@ -163,6 +165,6 @@ $(document).ready(function() {
|
||||||
})
|
})
|
||||||
|
|
||||||
showErrorSections()
|
showErrorSections()
|
||||||
setInterval('checkLiquidsoapStatus()', 7000)
|
setInterval('checkLiquidsoapStatus()', 1000)
|
||||||
|
|
||||||
});
|
});
|
|
@ -143,8 +143,8 @@ def create_fresh_os(vm_name, lucid=False, debian=False):
|
||||||
#installed before.
|
#installed before.
|
||||||
do_sudo('echo "rabbitmq-server rabbitmq-server/upgrade_previous note" | debconf-set-selections')
|
do_sudo('echo "rabbitmq-server rabbitmq-server/upgrade_previous note" | debconf-set-selections')
|
||||||
|
|
||||||
if debian:
|
#if debian:
|
||||||
append('/etc/apt/sources.list', "deb http://www.debian-multimedia.org squeeze main non-free", use_sudo=True)
|
#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):
|
def ubuntu_lucid_32(fresh_os=True):
|
||||||
if (fresh_os):
|
if (fresh_os):
|
||||||
|
@ -186,11 +186,20 @@ def debian_squeeze_64(fresh_os=True):
|
||||||
if (fresh_os):
|
if (fresh_os):
|
||||||
create_fresh_os('Debian_Squeeze_64', debian=True)
|
create_fresh_os('Debian_Squeeze_64', debian=True)
|
||||||
|
|
||||||
|
def airtime_180_tar():
|
||||||
|
airtime_18x_tar("airtime", "1.8.0")
|
||||||
|
|
||||||
|
def airtime_181_tar():
|
||||||
|
airtime_18x_tar("airtime", "1.8.1")
|
||||||
|
|
||||||
def airtime_182_tar():
|
def airtime_182_tar():
|
||||||
|
airtime_18x_tar("airtime-1.8.2" "1.8.2")
|
||||||
|
|
||||||
|
def airtime_18x_tar(root_dir, version):
|
||||||
do_sudo('apt-get update')
|
do_sudo('apt-get update')
|
||||||
do_sudo('apt-get install -y tar gzip unzip apache2 php5-pgsql libapache2-mod-php5 ' + \
|
do_sudo('apt-get install -y tar gzip unzip apache2 php5-pgsql libapache2-mod-php5 ' + \
|
||||||
'php-pear php5-gd postgresql odbc-postgresql python python-configobj poc-streamer ' + \
|
'php-pear php5-gd postgresql odbc-postgresql python python-configobj poc-streamer ' + \
|
||||||
'lame daemontools daemontools-run python-mutagen libsoundtouch-ocaml do_sudo ' + \
|
'lame daemontools daemontools-run python-mutagen libsoundtouch-ocaml sudo ' + \
|
||||||
'libtaglib-ocaml libao-ocaml libmad-ocaml libesd0 icecast2 oggvideotools ' + \
|
'libtaglib-ocaml libao-ocaml libmad-ocaml libesd0 icecast2 oggvideotools ' + \
|
||||||
'libportaudio2 libsamplerate0 libcamomile-ocaml-dev ecasound php5-curl mpg123 ' + \
|
'libportaudio2 libsamplerate0 libcamomile-ocaml-dev ecasound php5-curl mpg123 ' + \
|
||||||
'python-setuptools python-pip rabbitmq-server libvorbis-ocaml-dev libmp3lame-dev flac')
|
'python-setuptools python-pip rabbitmq-server libvorbis-ocaml-dev libmp3lame-dev flac')
|
||||||
|
@ -217,9 +226,9 @@ def airtime_182_tar():
|
||||||
sed('/etc/default/icecast2', 'ENABLE=false', 'ENABLE=true', use_sudo=True)
|
sed('/etc/default/icecast2', 'ENABLE=false', 'ENABLE=true', use_sudo=True)
|
||||||
do_sudo('service icecast2 start')
|
do_sudo('service icecast2 start')
|
||||||
|
|
||||||
do_run('wget http://downloads.sourceforge.net/project/airtime/1.8.2/airtime-1.8.2.tar.gz')
|
do_run('wget http://downloads.sourceforge.net/project/airtime/%s/airtime-%s.tar.gz' % (version, version))
|
||||||
do_run('tar xfz airtime-1.8.2.tar.gz')
|
do_run('tar xfz airtime-%s.tar.gz' % version)
|
||||||
do_sudo('cd ~/airtime-1.8.2/install && php airtime-install.php')
|
do_sudo('cd ~/%s/install && php airtime-install.php' % root_dir)
|
||||||
|
|
||||||
#need to reboot because of daemon-tools.
|
#need to reboot because of daemon-tools.
|
||||||
reboot(45)
|
reboot(45)
|
||||||
|
|
14
install_full/debian/airtime-full-install
Executable file
14
install_full/debian/airtime-full-install
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Auto install script for airtime on Debian
|
||||||
|
|
||||||
|
|
||||||
|
#Current dir
|
||||||
|
# Absolute path to this script, e.g. /home/user/bin/foo.sh
|
||||||
|
SCRIPT=`readlink -f $0`
|
||||||
|
# Absolute path this script is in, thus /home/user/bin
|
||||||
|
SCRIPTPATH=`dirname $SCRIPT`
|
||||||
|
|
||||||
|
cd $SCRIPTPATH/../ubuntu
|
||||||
|
./airtime-full-install
|
||||||
|
|
|
@ -22,6 +22,15 @@ echo "----------------------------------------------------"
|
||||||
echo " 1. Install Packages"
|
echo " 1. Install Packages"
|
||||||
echo "----------------------------------------------------"
|
echo "----------------------------------------------------"
|
||||||
|
|
||||||
|
dist=`lsb_release -is`
|
||||||
|
|
||||||
|
if [ "$dist" -eq "Debian" ]; then
|
||||||
|
grep "deb http://www.debian-multimedia.org squeeze main non-free" /etc/apt/sources.list
|
||||||
|
if [ "$?" -ne "0" ]; then
|
||||||
|
echo "deb http://www.debian-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
# Updated package list
|
# Updated package list
|
||||||
|
|
|
@ -93,10 +93,10 @@ generate_range_url = 'generate_range_dp.php'
|
||||||
get_stream_setting = 'get-stream-setting/format/json/api_key/%%api_key%%/'
|
get_stream_setting = 'get-stream-setting/format/json/api_key/%%api_key%%/'
|
||||||
|
|
||||||
#URL to update liquidsoap error msg
|
#URL to update liquidsoap error msg
|
||||||
update_liquidsoap_error = 'update-liquidsoap-error/format/json/api_key/%%api_key%%/error_msg/%%error_msg%%/stream_id/%%stream_id%%'
|
update_liquidsoap_error = 'update-liquidsoap-error/format/json/api_key/%%api_key%%/error_msg/%%error_msg%%/stream_id/%%stream_id%%/boot_time/%%boot_time%%'
|
||||||
|
|
||||||
#URL to update liquidsoap connection
|
#URL to update liquidsoap connection
|
||||||
update_liquidsoap_connection = 'update-liquidsoap-connection/format/json/api_key/%%api_key%%/stream_id/%%stream_id%%'
|
update_liquidsoap_connection = 'update-liquidsoap-connection/format/json/api_key/%%api_key%%/stream_id/%%stream_id%%/boot_time/%%boot_time%%'
|
||||||
|
|
||||||
##############
|
##############
|
||||||
# OBP config #
|
# OBP config #
|
||||||
|
|
|
@ -571,7 +571,7 @@ class AirTimeApiClient(ApiClientInterface):
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
logger.error("Exception: %s", e)
|
logger.error("Exception: %s", e)
|
||||||
|
|
||||||
def notify_liquidsoap_error(self, error_msg, stream_id):
|
def notify_liquidsoap_error(self, error_msg, stream_id, time):
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
try:
|
try:
|
||||||
url = "http://%s:%s/%s/%s" % (self.config["base_url"], str(self.config["base_port"]), self.config["api_base"], self.config["update_liquidsoap_error"])
|
url = "http://%s:%s/%s/%s" % (self.config["base_url"], str(self.config["base_port"]), self.config["api_base"], self.config["update_liquidsoap_error"])
|
||||||
|
@ -581,19 +581,21 @@ class AirTimeApiClient(ApiClientInterface):
|
||||||
encoded_msg = urllib.quote(error_msg, '')
|
encoded_msg = urllib.quote(error_msg, '')
|
||||||
url = url.replace("%%error_msg%%", encoded_msg)
|
url = url.replace("%%error_msg%%", encoded_msg)
|
||||||
url = url.replace("%%stream_id%%", stream_id)
|
url = url.replace("%%stream_id%%", stream_id)
|
||||||
|
url = url.replace("%%boot_time%%", time)
|
||||||
logger.debug(url)
|
logger.debug(url)
|
||||||
req = urllib2.Request(url)
|
req = urllib2.Request(url)
|
||||||
response = urllib2.urlopen(req).read()
|
response = urllib2.urlopen(req).read()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
logger.error("Exception: %s", e)
|
logger.error("Exception: %s", e)
|
||||||
|
|
||||||
def notify_liquidsoap_connection(self, stream_id):
|
def notify_liquidsoap_connection(self, stream_id, time):
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
try:
|
try:
|
||||||
url = "http://%s:%s/%s/%s" % (self.config["base_url"], str(self.config["base_port"]), self.config["api_base"], self.config["update_liquidsoap_connection"])
|
url = "http://%s:%s/%s/%s" % (self.config["base_url"], str(self.config["base_port"]), self.config["api_base"], self.config["update_liquidsoap_connection"])
|
||||||
|
|
||||||
url = url.replace("%%api_key%%", self.config["api_key"])
|
url = url.replace("%%api_key%%", self.config["api_key"])
|
||||||
url = url.replace("%%stream_id%%", stream_id)
|
url = url.replace("%%stream_id%%", stream_id)
|
||||||
|
url = url.replace("%%boot_time%%", time)
|
||||||
logger.debug(url)
|
logger.debug(url)
|
||||||
req = urllib2.Request(url)
|
req = urllib2.Request(url)
|
||||||
response = urllib2.urlopen(req).read()
|
response = urllib2.urlopen(req).read()
|
||||||
|
|
|
@ -39,13 +39,13 @@ end
|
||||||
|
|
||||||
def output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, user, s, stream) =
|
def output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, user, s, stream) =
|
||||||
def on_error(msg)
|
def on_error(msg)
|
||||||
system("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='#{msg}' --stream-id=#{stream}")
|
system("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='#{msg}' --stream-id=#{stream} --time=#{time}")
|
||||||
log("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='#{msg}' --stream-id=#{stream}")
|
log("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='#{msg}' --stream-id=#{stream} --time=#{time}")
|
||||||
5.
|
5.
|
||||||
end
|
end
|
||||||
def on_connect()
|
def on_connect()
|
||||||
system("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --connect --stream-id=#{stream}")
|
system("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --connect --stream-id=#{stream} --time=#{time}")
|
||||||
log("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --connect --stream-id=#{stream}")
|
log("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --connect --stream-id=#{stream} --time=#{time}")
|
||||||
end
|
end
|
||||||
if output_type == "icecast" then
|
if output_type == "icecast" then
|
||||||
user_ref = ref user
|
user_ref = ref user
|
||||||
|
|
|
@ -6,6 +6,8 @@ set("log.stdout", true)
|
||||||
set("server.telnet", true)
|
set("server.telnet", true)
|
||||||
set("server.telnet.port", 1234)
|
set("server.telnet.port", 1234)
|
||||||
|
|
||||||
|
time = gettimeofday()
|
||||||
|
|
||||||
queue = audio_to_stereo(request.queue(id="queue", length=0.5))
|
queue = audio_to_stereo(request.queue(id="queue", length=0.5))
|
||||||
queue = cue_cut(queue)
|
queue = cue_cut(queue)
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ parser.add_option("-m", "--media-id", help="ID of the file that is currently pla
|
||||||
parser.add_option("-e", "--error", action="store", dest="error", type="string", help="liquidsoap error msg.", metavar="error_msg")
|
parser.add_option("-e", "--error", action="store", dest="error", type="string", help="liquidsoap error msg.", metavar="error_msg")
|
||||||
parser.add_option("-s", "--stream-id", help="ID stream", metavar="stream_id")
|
parser.add_option("-s", "--stream-id", help="ID stream", metavar="stream_id")
|
||||||
parser.add_option("-c", "--connect", help="liquidsoap connected", action="store_true", metavar="connect")
|
parser.add_option("-c", "--connect", help="liquidsoap connected", action="store_true", metavar="connect")
|
||||||
|
parser.add_option("-t", "--time", help="liquidsoap boot up time", action="store", dest="time", metavar="time", type="string")
|
||||||
|
|
||||||
# parse options
|
# parse options
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
@ -80,23 +81,25 @@ class Notify:
|
||||||
response = self.api_client.notify_media_item_start_playing(data, media_id)
|
response = self.api_client.notify_media_item_start_playing(data, media_id)
|
||||||
logger.debug("Response: "+json.dumps(response))
|
logger.debug("Response: "+json.dumps(response))
|
||||||
|
|
||||||
def notify_liquidsoap_error(self, error_msg, stream_id):
|
# @pram time: time that LS started
|
||||||
|
def notify_liquidsoap_error(self, error_msg, stream_id, time):
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
|
|
||||||
logger.debug('#################################################')
|
logger.debug('#################################################')
|
||||||
logger.debug('# Calling server to update liquidsoap error #')
|
logger.debug('# Calling server to update liquidsoap error #')
|
||||||
logger.debug('#################################################')
|
logger.debug('#################################################')
|
||||||
logger.debug('error msg = '+ str(error_msg))
|
logger.debug('error msg = '+ str(error_msg))
|
||||||
response = self.api_client.notify_liquidsoap_error(error_msg, stream_id)
|
response = self.api_client.notify_liquidsoap_error(error_msg, stream_id, time)
|
||||||
logger.debug("Response: "+json.dumps(response))
|
logger.debug("Response: "+json.dumps(response))
|
||||||
|
|
||||||
def notify_liquidsoap_connection(self, stream_id):
|
# @pram time: time that LS started
|
||||||
|
def notify_liquidsoap_connection(self, stream_id, time):
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
|
|
||||||
logger.debug('#################################################')
|
logger.debug('#################################################')
|
||||||
logger.debug('# Calling server to update liquidsoap connection#')
|
logger.debug('# Calling server to update liquidsoap connection#')
|
||||||
logger.debug('#################################################')
|
logger.debug('#################################################')
|
||||||
response = self.api_client.notify_liquidsoap_connection(stream_id)
|
response = self.api_client.notify_liquidsoap_connection(stream_id, time)
|
||||||
logger.debug("Response: "+json.dumps(response))
|
logger.debug("Response: "+json.dumps(response))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -112,13 +115,13 @@ if __name__ == '__main__':
|
||||||
if options.error and options.stream_id:
|
if options.error and options.stream_id:
|
||||||
try:
|
try:
|
||||||
n = Notify()
|
n = Notify()
|
||||||
n.notify_liquidsoap_error(options.error, options.stream_id)
|
n.notify_liquidsoap_error(options.error, options.stream_id, options.time)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print e
|
print e
|
||||||
elif options.connect and options.stream_id:
|
elif options.connect and options.stream_id:
|
||||||
try:
|
try:
|
||||||
n = Notify()
|
n = Notify()
|
||||||
n.notify_liquidsoap_connection(options.stream_id)
|
n.notify_liquidsoap_connection(options.stream_id, options.time)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print e
|
print e
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue