From c89ba43d07d7841c2499807fd34f126a7693ad88 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Tue, 27 Apr 2010 15:19:51 +0200 Subject: [PATCH] add merge option and some sorting --- weboob/frontends/videoob_web/application.py | 16 +++++++++--- .../videoob_web/templates/index.mako | 26 +++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/weboob/frontends/videoob_web/application.py b/weboob/frontends/videoob_web/application.py index 129c2124..75701d49 100644 --- a/weboob/frontends/videoob_web/application.py +++ b/weboob/frontends/videoob_web/application.py @@ -71,17 +71,25 @@ class VideoobWeb(BaseApplication): nsfw = req.params.get('nsfw') nsfw = False if not nsfw or nsfw == '0' else True q = req.params.get('q', u'') + merge = req.params.get('merge') + merge = False if not merge or merge == '0' else True + c['merge'] = merge c['form_data'] = dict(q=q) - c['results'] = {} + c['results'] = [] if merge else {} if q: for backend in self.weboob.iter_backends(): - items = [dict(title=video.title, + videos = [dict(title=video.title, page_url=video.page_url, url=video.url if video.url else '/download?id=%s' % video.id ) \ for video in backend.iter_search_results(pattern=q, nsfw=nsfw)] - if items: - c['results'][backend.name] = items + if videos: + if merge: + c['results'].extend(videos) + else: + c['results'][backend.name] = videos + if merge: + c['results'] = sorted(c['results'], key=lambda video: video['title'].lower()) template = template_lookup.get_template('index.mako') buf = StringIO() ctx = Context(buf, **c) diff --git a/weboob/frontends/videoob_web/templates/index.mako b/weboob/frontends/videoob_web/templates/index.mako index a8281c8b..fe19529f 100644 --- a/weboob/frontends/videoob_web/templates/index.mako +++ b/weboob/frontends/videoob_web/templates/index.mako @@ -2,6 +2,11 @@ <%inherit file="base.mako"/> +<%def name="video_link(item)"> + ${item['title']} + ## (download) + + <%def name="body()">

Videoob Web

- % for backend, items in results.iteritems(): -

${backend}

+ % if merge: - % endfor + % else: + % for backend, items in sorted(results.iteritems()): +

${backend}

+ + % endfor + % endif