From b6fd52924941d06b029bf750f2d6aca136bde34d Mon Sep 17 00:00:00 2001 From: Bezleputh Date: Tue, 18 Feb 2014 23:13:06 +0100 Subject: [PATCH] move id parsing from application to capability --- weboob/applications/radioob/radioob.py | 11 ++--------- weboob/capabilities/audio.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/weboob/applications/radioob/radioob.py b/weboob/applications/radioob/radioob.py index de68365f..88c4d9ed 100644 --- a/weboob/applications/radioob/radioob.py +++ b/weboob/applications/radioob/radioob.py @@ -301,16 +301,9 @@ class Radioob(ReplApplication): except (IndexError, ValueError): pass - m = re.match('^(\w+)\.(.*)', _id) + m = ICapAudio.get_object_method(_id) if m: - if m.group(1) == 'album': - return self.get_object(_id, 'get_album') - - elif m.group(1) == 'playlist': - return self.get_object(_id, 'get_playlist') - - else: - return self.get_object(_id, 'get_audio') + return self.get_object(_id, m) return self.get_object(_id, 'get_radio') diff --git a/weboob/capabilities/audio.py b/weboob/capabilities/audio.py index 823557ab..10262ec5 100644 --- a/weboob/capabilities/audio.py +++ b/weboob/capabilities/audio.py @@ -110,6 +110,20 @@ class ICapAudio(ICapFile): """ Audio file provider """ + + @classmethod + def get_object_method(cls, _id): + m = re.match('^(\w+)\.(.*)', _id) + if m: + if m.group(1) == 'album': + return 'get_album' + + elif m.group(1) == 'playlist': + return 'get_playlist' + + else: + return 'get_audio' + def search_audio(self, pattern, sortby=ICapFile.SEARCH_RELEVANCE): """ search for a audio file