add merge option and some sorting
This commit is contained in:
parent
c272634a14
commit
c89ba43d07
2 changed files with 30 additions and 12 deletions
|
|
@ -71,17 +71,25 @@ class VideoobWeb(BaseApplication):
|
||||||
nsfw = req.params.get('nsfw')
|
nsfw = req.params.get('nsfw')
|
||||||
nsfw = False if not nsfw or nsfw == '0' else True
|
nsfw = False if not nsfw or nsfw == '0' else True
|
||||||
q = req.params.get('q', u'')
|
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['form_data'] = dict(q=q)
|
||||||
c['results'] = {}
|
c['results'] = [] if merge else {}
|
||||||
if q:
|
if q:
|
||||||
for backend in self.weboob.iter_backends():
|
for backend in self.weboob.iter_backends():
|
||||||
items = [dict(title=video.title,
|
videos = [dict(title=video.title,
|
||||||
page_url=video.page_url,
|
page_url=video.page_url,
|
||||||
url=video.url if video.url else '/download?id=%s' % video.id
|
url=video.url if video.url else '/download?id=%s' % video.id
|
||||||
) \
|
) \
|
||||||
for video in backend.iter_search_results(pattern=q, nsfw=nsfw)]
|
for video in backend.iter_search_results(pattern=q, nsfw=nsfw)]
|
||||||
if items:
|
if videos:
|
||||||
c['results'][backend.name] = items
|
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')
|
template = template_lookup.get_template('index.mako')
|
||||||
buf = StringIO()
|
buf = StringIO()
|
||||||
ctx = Context(buf, **c)
|
ctx = Context(buf, **c)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
<%inherit file="base.mako"/>
|
<%inherit file="base.mako"/>
|
||||||
|
|
||||||
|
<%def name="video_link(item)">
|
||||||
|
<a href="${item['page_url']}">${item['title']}</a>
|
||||||
|
## (<a href="${item['url']}"><em>download</em></a>)
|
||||||
|
</%def>
|
||||||
|
|
||||||
<%def name="body()">
|
<%def name="body()">
|
||||||
<h1>Videoob Web</h1>
|
<h1>Videoob Web</h1>
|
||||||
<div id="search">
|
<div id="search">
|
||||||
|
|
@ -12,16 +17,21 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div id="results">
|
<div id="results">
|
||||||
% for backend, items in results.iteritems():
|
% if merge:
|
||||||
<h2>${backend}</h2>
|
|
||||||
<ul>
|
<ul>
|
||||||
% for item in items:
|
% for item in results:
|
||||||
<li>
|
<li>${video_link(item)}</li>
|
||||||
<a href="${item['page_url']}">${item['title']}</a>
|
|
||||||
## (<a href="${item['url']}"><em>download</em></a>)
|
|
||||||
</li>
|
|
||||||
% endfor
|
% endfor
|
||||||
</ul>
|
</ul>
|
||||||
% endfor
|
% else:
|
||||||
|
% for backend, items in sorted(results.iteritems()):
|
||||||
|
<h2>${backend}</h2>
|
||||||
|
<ul>
|
||||||
|
% for item in items:
|
||||||
|
<li>${video_link(item)}</li>
|
||||||
|
% endfor
|
||||||
|
</ul>
|
||||||
|
% endfor
|
||||||
|
% endif
|
||||||
</div>
|
</div>
|
||||||
</%def>
|
</%def>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue