From 5660cb1689ad66dd4915b6b08c45e7022212d082 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20K=C3=B6gl?= Date: Tue, 15 Jul 2014 17:40:15 +0200 Subject: [PATCH] [Search] wrapper around search for handling URLs --- mygpo/api/simple.py | 2 +- mygpo/directory/search.py | 15 ++++++--------- mygpo/directory/views.py | 5 +++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/mygpo/api/simple.py b/mygpo/api/simple.py index fa10dd58..93fdb643 100644 --- a/mygpo/api/simple.py +++ b/mygpo/api/simple.py @@ -38,7 +38,7 @@ from mygpo.api.opml import Exporter, Importer from mygpo.api.httpresponse import JsonResponse from mygpo.directory.models import ExamplePodcasts from mygpo.api.advanced.directory import podcast_data -from mygpo.search.index import search_podcasts +from mygpo.directory.search import search_podcasts from mygpo.decorators import allowed_methods, cors_origin from mygpo.utils import parse_range, normalize_feed_url from mygpo.core.json import json, JSONDecodeError diff --git a/mygpo/directory/search.py b/mygpo/directory/search.py index e655da8a..f8dc3793 100644 --- a/mygpo/directory/search.py +++ b/mygpo/directory/search.py @@ -1,12 +1,10 @@ from mygpo.podcasts.models import Podcast from mygpo.utils import is_url, normalize_feed_url from mygpo.data.feeddownloader import PodcastUpdater, NoPodcastCreated -from mygpo.cache import cache_result -from mygpo.db.couchdb.podcast import search +from mygpo.search.index import search_podcasts as search -@cache_result(timeout=60*60) -def search_podcasts(q, limit=20, skip=0): +def search_podcasts(q): if is_url(q): url = normalize_feed_url(q) @@ -23,13 +21,12 @@ def search_podcasts(q, limit=20, skip=0): try: updater.update(url) except NoPodcastCreated as npc: - return [], 0 + return [] try: podcast = Podcast.objects.get(urls__url=url) - return [podcast], 1 + return [podcast] except Podcast.DoesNotExist: - return [], 0 + return [] - - return search(q, skip, limit) + return search(q) diff --git a/mygpo/directory/views.py b/mygpo/directory/views.py index cf6c32da..47ab1054 100644 --- a/mygpo/directory/views.py +++ b/mygpo/directory/views.py @@ -23,7 +23,7 @@ from feedservice.parse import FetchFeedException from mygpo.core.proxy import proxy_object from mygpo.podcasts.models import Podcast, Episode -from mygpo.search.index import search_podcasts +from mygpo.directory.search import search_podcasts from mygpo.web.utils import process_lang_params, get_language_names, \ get_page_list, get_podcast_link_target, sanitize_language_codes from mygpo.directory.tags import Topics @@ -191,7 +191,8 @@ def search(request, template='search.html', args={}): start = RESULTS_PER_PAGE*(page-1) results = search_podcasts(q) - num_pages = int(ceil(results.total / RESULTS_PER_PAGE)) + total = len(results) + num_pages = int(ceil(total / RESULTS_PER_PAGE)) results = results[start:start+RESULTS_PER_PAGE] page_list = get_page_list(1, num_pages, page, 15) -- 2.11.4.GIT