Revert "Revert "Update podcasts from feedservice""
[mygpo.git] / mygpo / directory / search.py
blob483619a365b436b323ccbfcb33a42ea582079d4b
1 from mygpo.podcasts.models import Podcast
2 from mygpo.utils import is_url, normalize_feed_url
3 from mygpo.data.feeddownloader import update_podcast, NoPodcastCreated
4 from mygpo.search.index import search_podcasts as search
7 def search_podcasts(q):
9 if is_url(q):
10 url = normalize_feed_url(q)
12 try:
13 podcast = Podcast.objects.get(urls__url=url)
14 except Podcast.DoesNotExist:
15 podcast = None
17 if not podcast or not podcast.title:
18 try:
19 update_podcast(url)
20 except NoPodcastCreated as npc:
21 return []
23 try:
24 podcast = Podcast.objects.get(urls__url=url)
25 return [podcast]
26 except Podcast.DoesNotExist:
27 return []
29 return search(q)