diff --git a/modules/parolesmusique/backend.py b/modules/parolesmusique/backend.py index c80ab7b4..8f328c17 100644 --- a/modules/parolesmusique/backend.py +++ b/modules/parolesmusique/backend.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -from weboob.capabilities.lyrics import ICapLyrics +from weboob.capabilities.lyrics import ICapLyrics, SongLyrics from weboob.tools.backend import BaseBackend from .browser import ParolesmusiqueBrowser @@ -42,3 +42,13 @@ class ParolesmusiqueBackend(BaseBackend, ICapLyrics): def iter_lyrics(self, criteria, pattern): return self.browser.iter_lyrics(criteria,pattern.encode('utf-8')) + + def fill_songlyrics(self, songlyrics, fields): + if 'content' in fields: + sl = self.get_lyrics(songlyrics.id) + songlyrics.content = sl.content + return songlyrics + + OBJECTS = { + SongLyrics:fill_songlyrics + } diff --git a/modules/seeklyrics/__init__.py b/modules/seeklyrics/__init__.py index 3ca63d63..d4538162 100644 --- a/modules/seeklyrics/__init__.py +++ b/modules/seeklyrics/__init__.py @@ -1,3 +1,23 @@ +# -*- coding: utf-8 -*- + +# Copyright(C) 2013 Julien Veyssier +# +# This file is part of weboob. +# +# weboob is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# weboob is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with weboob. If not, see . + + from .backend import SeeklyricsBackend __all__ = ['SeeklyricsBackend'] diff --git a/modules/seeklyrics/backend.py b/modules/seeklyrics/backend.py index 054f186e..beb7b279 100644 --- a/modules/seeklyrics/backend.py +++ b/modules/seeklyrics/backend.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -from weboob.capabilities.lyrics import ICapLyrics +from weboob.capabilities.lyrics import ICapLyrics, SongLyrics from weboob.tools.backend import BaseBackend from .browser import SeeklyricsBrowser @@ -44,3 +44,13 @@ class SeeklyricsBackend(BaseBackend, ICapLyrics): def iter_lyrics(self, criteria, pattern): return self.browser.iter_lyrics(criteria,quote_plus(pattern.encode('iso-8859-1'))) + + def fill_songlyrics(self, songlyrics, fields): + if 'content' in fields: + sl = self.get_lyrics(songlyrics.id) + songlyrics.content = sl.content + return songlyrics + + OBJECTS = { + SongLyrics:fill_songlyrics + } diff --git a/weboob/applications/booblyrics/booblyrics.py b/weboob/applications/booblyrics/booblyrics.py index 48f9eac0..96d820d8 100644 --- a/weboob/applications/booblyrics/booblyrics.py +++ b/weboob/applications/booblyrics/booblyrics.py @@ -83,15 +83,7 @@ class Booblyrics(ReplApplication): Display lyrics of the song. """ - # TODO restore get_object line and handle fillobj - #songlyrics = self.get_object(id, 'get_lyrics') - songlyrics = None - _id, backend = self.parse_id(id) - for _backend, result in self.do('get_lyrics', _id, backends=backend): - if result: - backend = _backend - songlyrics = result - + songlyrics = self.get_object(id, 'get_lyrics') if not songlyrics: print >>sys.stderr, 'Song lyrics not found: %s' % id return 3