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/>. # 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.capabilities.collection import ICapCollection
from weboob.tools.backend import BaseBackend from weboob.tools.backend import BaseBackend
from weboob.tools.browser import StandardBrowser from weboob.tools.browser import StandardBrowser
@ -37,11 +38,11 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
LICENSE = 'AGPLv3+' LICENSE = 'AGPLv3+'
BROWSER = StandardBrowser BROWSER = StandardBrowser
_RADIOS = {'general': (u'OUÏ FM', u'OUI FM', u'http://ouifm.ice.infomaniak.ch/ouifm-high.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'), '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'), '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'), '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'), 'inde': (u'OUÏ FM Indé', u'OUI FM - Rock Indé', u'http://ouifm.ice.infomaniak.ch/ouifm5.mp3', 128),
} }
def create_default_browser(self): def create_default_browser(self):
@ -80,18 +81,20 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
if not radio.id in self._RADIOS: if not radio.id in self._RADIOS:
return None return None
title, description, url = self._RADIOS[radio.id] title, description, url, bitrate = self._RADIOS[radio.id]
radio.title = title radio.title = title
radio.description = description radio.description = description
artist, title = self.get_current(radio.id) artist, title = self.get_current(radio.id)
current = Emission(0) current = AudioStreamInfo(0)
current.artist = artist current.who = artist
current.title = title current.what = title
radio.current = current radio.current = current
stream = Stream(0) stream = BaseAudioStream(0)
stream.title = u'128kbits/s' stream.bitrate=bitrate
stream.format=u'mp3'
stream.title = u'%skbits/s' % (stream.bitrate)
stream.url = url stream.url = url
radio.streams = [stream] radio.streams = [stream]
return radio return radio
@ -99,8 +102,8 @@ class OuiFMBackend(BaseBackend, ICapRadio, ICapCollection):
def fill_radio(self, radio, fields): def fill_radio(self, radio, fields):
if 'current' in fields: if 'current' in fields:
if not radio.current: if not radio.current:
radio.current = Emission(0) radio.current = AudioStreamInfo(0)
radio.current.artist, radio.current.title = self.get_current(radio.id) radio.current.who, radio.current.what = self.get_current(radio.id)
return radio return radio
OBJECTS = {Radio: fill_radio} OBJECTS = {Radio: fill_radio}