[rmll] do not crash when videoob try to enter in a directory not available on rmll website

This commit is contained in:
Bezleputh 2015-04-13 11:06:26 +02:00
commit 0c4405b4c3
2 changed files with 14 additions and 8 deletions

View file

@ -18,7 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.browser import PagesBrowser, URL
from weboob.browser.exceptions import HTTPNotFound
from .pages import RmllCollectionPage, RmllVideoPage, RmllChannelsPage, RmllSearchPage, RmllLatestPage
__all__ = ['RmllBrowser']
@ -59,9 +59,13 @@ class RmllBrowser(PagesBrowser):
oid = ''
if len(split_path) > 0:
oid = split_path[-1]
url = self.channels_page.build(oid=oid)
self.location(url)
assert self.channels_page.is_here()
for video in self.page.iter_resources(split_path):
yield video
try:
url = self.channels_page.build(oid=oid)
self.location(url)
assert self.channels_page.is_here()
for video in self.page.iter_resources(split_path):
yield video
except HTTPNotFound:
pass

View file

@ -67,7 +67,9 @@ class RmllModule(Module, CapVideo, CapCollection):
for video in self.browser.get_latest_videos():
yield video
else:
for content in self.browser.get_channel_videos(split_path):
yield content
channel_videos = self.browser.get_channel_videos(split_path)
if channel_videos:
for content in channel_videos:
yield content
OBJECTS = {RmllVideo: fill_video}