def search_podcasts(q): if is_url(q): url = normalize_feed_url(q) try: podcast = Podcast.objects.get(urls__url=url) except Podcast.DoesNotExist: podcast = None if not podcast or not podcast.title: updater = PodcastUpdater() try: updater.update(url) except NoPodcastCreated as npc: return [] try: podcast = Podcast.objects.get(urls__url=url) return [podcast] except Podcast.DoesNotExist: return [] return search(q)
def post(self, request): user = request.user feed = FavoriteFeed(user) site = RequestSite(request) feed_url = feed.get_public_url(site.domain) podcast = podcast_for_url(feed_url, create=True) if not podcast.get_id() in user.published_objects: user.published_objects.append(podcast.get_id()) user.save() updater = PodcastUpdater() updater.update(feed_url) return HttpResponseRedirect(reverse('share-favorites'))
def post(self, request): user = request.user feed = FavoriteFeed(user) site = RequestSite(request) feed_url = feed.get_public_url(site.domain) podcast = Podcast.objects.get_or_create_for_url(feed_url) PublishedPodcast.objects.get_or_create( podcast=podcast, publisher=user, ) updater = PodcastUpdater() updater.update(feed_url) return HttpResponseRedirect(reverse('share-favorites'))
def search_podcasts(q, limit=20, skip=0): if is_url(q): url = normalize_feed_url(q) podcast = podcast_for_url(url, create=False) if not podcast or not podcast.title: updater = PodcastUpdater() try: updater.update(url) except NoPodcastCreated as npc: return [], 0 podcast = podcast_for_url(url) if podcast: return [podcast], 1 else: return [], 0 return search(q, skip, limit)