modify ouifm module to use the modified ICapRadio

Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
This commit is contained in:
Pierre Mazière 2013-12-15 20:15:06 +01:00 committed by Florent
commit dcad02eb29

View file

@ -18,7 +18,8 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.capabilities.radio import ICapRadio, Radio, Stream, Emission
from weboob.capabilities.radio import ICapRadio, Radio
from weboob.capabilities.audiostream import BaseAudioStream, AudioStreamInfo
from weboob.capabilities.collection import ICapCollection
from weboob.tools.backend import BaseBackend
from weboob.tools.browser import StandardBrowser
@ -37,11 +38,11 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
LICENSE = 'AGPLv3+'
BROWSER = StandardBrowser
_RADIOS = {'general': (u'OUÏ FM', u'OUI FM', u'http://ouifm.ice.infomaniak.ch/ouifm-high.mp3'),
'alternatif': (u'OUÏ FM Alternatif', u'OUI FM - L\'Alternative Rock', u'http://ouifm.ice.infomaniak.ch/ouifm2.mp3'),
'collector': (u'OUÏ FM Collector', u'OUI FM - Classic Rock', u'http://ouifm.ice.infomaniak.ch/ouifm3.mp3'),
'blues': (u'OUÏ FM Blues', u'OUI FM - Blues', u'http://ouifm.ice.infomaniak.ch/ouifm4.mp3'),
'inde': (u'OUÏ FM Indé', u'OUI FM - Rock Indé', u'http://ouifm.ice.infomaniak.ch/ouifm5.mp3'),
_RADIOS = {'general': (u'OUÏ FM', u'OUI FM', u'http://ouifm.ice.infomaniak.ch/ouifm-high.mp3', 128),
'alternatif': (u'OUÏ FM Alternatif', u'OUI FM - L\'Alternative Rock', u'http://ouifm.ice.infomaniak.ch/ouifm2.mp3', 128),
'collector': (u'OUÏ FM Collector', u'OUI FM - Classic Rock', u'http://ouifm.ice.infomaniak.ch/ouifm3.mp3', 160),
'blues': (u'OUÏ FM Blues', u'OUI FM - Blues', u'http://ouifm.ice.infomaniak.ch/ouifm4.mp3', 128),
'inde': (u'OUÏ FM Indé', u'OUI FM - Rock Indé', u'http://ouifm.ice.infomaniak.ch/ouifm5.mp3', 128),
}
def create_default_browser(self):
@ -80,18 +81,20 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
if not radio.id in self._RADIOS:
return None
title, description, url = self._RADIOS[radio.id]
title, description, url, bitrate = self._RADIOS[radio.id]
radio.title = title
radio.description = description
artist, title = self.get_current(radio.id)
current = Emission(0)
current.artist = artist
current.title = title
current = AudioStreamInfo(0)
current.who = artist
current.what = title
radio.current = current
stream = Stream(0)
stream.title = u'128kbits/s'
stream = BaseAudioStream(0)
stream.bitrate=bitrate
stream.format=u'mp3'
stream.title = u'%skbits/s' % (stream.bitrate)
stream.url = url
radio.streams = [stream]
return radio
@ -99,8 +102,8 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
def fill_radio(self, radio, fields):
if 'current' in fields:
if not radio.current:
radio.current = Emission(0)
radio.current.artist, radio.current.title = self.get_current(radio.id)
radio.current = AudioStreamInfo(0)
radio.current.who, radio.current.what = self.get_current(radio.id)
return radio
OBJECTS = {Radio: fill_radio}