Merge branch '2.3.x' into 2.3.x-saas

This commit is contained in:
Martin Konecny 2013-01-31 12:33:38 -05:00
commit 9053266a14
6 changed files with 69 additions and 6 deletions

View File

@ -1,6 +1,7 @@
2.3.0 - Jan 21st, 2013 2.3.0 - Jan 21st, 2013
* New features * New features
* Localization (Brazilian, Chinese, Czech, English, French, German, Italian, Korean, Portugese, Russian, Spanish) * Localization (Chinese, Czech, English, French, German, Italian, Korean,
Portuguese, Russian, Spanish)
* User management page for non-admin users * User management page for non-admin users
* Listener statistics (Icecast/Shoutcast) * Listener statistics (Icecast/Shoutcast)
* Airtime no longer requires Apache document root * Airtime no longer requires Apache document root

View File

@ -176,7 +176,7 @@ if __name__ == '__main__':
sys.exit() sys.exit()
api_client = api_client.AirtimeApiClient() api_client = api_client.AirtimeApiClient()
ReplayGainUpdater.start_reply_gain(api_client) ReplayGainUpdater.start_reply_gain(api_client)
api_client.register_component("pypo") api_client.register_component("pypo")

View File

@ -18,7 +18,8 @@ from std_err_override import LogWriter
from configobj import ConfigObj from configobj import ConfigObj
# configure logging # configure logging
logging.config.fileConfig("logging.cfg") logging_cfg = os.path.join(os.path.dirname(__file__), "logging.cfg")
logging.config.fileConfig(logging_cfg)
logger = logging.getLogger() logger = logging.getLogger()
LogWriter.override_std_err(logger) LogWriter.override_std_err(logger)

View File

@ -9,6 +9,7 @@ import logging.config
import telnetlib import telnetlib
import calendar import calendar
import math import math
import os
from pypofetch import PypoFetch from pypofetch import PypoFetch
from Queue import Empty from Queue import Empty
@ -21,7 +22,8 @@ from configobj import ConfigObj
# configure logging # configure logging
logging.config.fileConfig("logging.cfg") logging_cfg = os.path.join(os.path.dirname(__file__), "logging.cfg")
logging.config.fileConfig(logging_cfg)
logger = logging.getLogger() logger = logging.getLogger()
LogWriter.override_std_err(logger) LogWriter.override_std_err(logger)
@ -249,7 +251,7 @@ class PypoPush(Thread):
self.start_web_stream_buffer(current_item) self.start_web_stream_buffer(current_item)
self.start_web_stream(current_item) self.start_web_stream(current_item)
if is_file(current_item): if is_file(current_item):
self.modify_cue_point(file_chain[0]) file_chain = self.modify_first_link_cue_point(file_chain)
self.push_to_liquidsoap(file_chain) self.push_to_liquidsoap(file_chain)
#we've changed the queue, so let's refetch it #we've changed the queue, so let's refetch it
liquidsoap_queue_approx = self.get_queue_items_from_liquidsoap() liquidsoap_queue_approx = self.get_queue_items_from_liquidsoap()
@ -279,7 +281,7 @@ class PypoPush(Thread):
chain_to_push = file_chain[problem_at_iteration:] chain_to_push = file_chain[problem_at_iteration:]
if len(chain_to_push) > 0: if len(chain_to_push) > 0:
self.modify_cue_point(chain_to_push[0]) chain_to_push = self.modify_first_link_cue_point(chain_to_push)
self.push_to_liquidsoap(chain_to_push) self.push_to_liquidsoap(chain_to_push)
@ -363,6 +365,18 @@ class PypoPush(Thread):
original_cue_in_td = timedelta(seconds=float(link['cue_in'])) original_cue_in_td = timedelta(seconds=float(link['cue_in']))
link['cue_in'] = self.date_interval_to_seconds(original_cue_in_td) + diff_sec link['cue_in'] = self.date_interval_to_seconds(original_cue_in_td) + diff_sec
def modify_first_link_cue_point(self, chain):
if not len(chain):
return []
first_link = chain[0]
self.modify_cue_point(first_link)
if float(first_link['cue_in']) >= float(first_link['cue_out']):
chain = chain [1:]
return chain
""" """
Returns two chains, original chain and current_chain. current_chain is a subset of Returns two chains, original chain and current_chain. current_chain is a subset of
original_chain but can also be equal to original chain. original_chain but can also be equal to original chain.

View File

@ -0,0 +1,18 @@
#!/bin/bash
which py.test
pytest_exist=$?
if [ "$pytest_exist" != "0" ]; then
echo "Need to have py.test installed. Exiting..."
exit 1
fi
SCRIPT=`readlink -f $0`
# Absolute directory this script is in
SCRIPTPATH=`dirname $SCRIPT`
export PYTHONPATH=$PYTHONPATH:$SCRIPTPATH/..:$SCRIPTPATH/../..
py.test

View File

@ -0,0 +1,29 @@
from pypopush import PypoPush
from threading import Lock
from Queue import Queue
import datetime
pypoPush_q = Queue()
telnet_lock = Lock()
pp = PypoPush(pypoPush_q, telnet_lock)
def test_modify_cue_in():
link = pp.modify_first_link_cue_point([])
assert len(link) == 0
min_ago = datetime.datetime.utcnow() - datetime.timedelta(minutes = 1)
link = [{"start":min_ago.strftime("%Y-%m-%d-%H-%M-%S"),
"cue_in":"0", "cue_out":"30"}]
link = pp.modify_first_link_cue_point(link)
assert len(link) == 0
link = [{"start":min_ago.strftime("%Y-%m-%d-%H-%M-%S"),
"cue_in":"0", "cue_out":"70"}]
link = pp.modify_first_link_cue_point(link)
assert len(link) == 1