def list_favorites(request): site = RequestSite(request) episodes = backend.get_favorites(request.user) podcast_ids = [episode.podcast for episode in episodes] podcasts = get_to_dict(Podcast, podcast_ids, Podcast.get_id) def set_podcast(episode): episode = proxy_object(episode) episode.podcast = podcasts.get(episode.podcast, None) return episode episodes = map(set_podcast, episodes) feed_url = 'http://%s/%s' % (site.domain, reverse('favorites-feed', args=[request.user.username])) podcast = Podcast.for_url(feed_url) if 'public_feed' in request.GET: request.user.favorite_feeds_token = '' request.user.save() elif 'private_feed' in request.GET: request.user.create_new_token('favorite_feeds_token', 8) request.user.save() token = request.user.favorite_feeds_token return render(request, 'favorites.html', { 'episodes': episodes, 'feed_token': token, 'site': site, 'podcast': podcast, })
def get_episodes(self): return backend.get_favorites(self.user)
def favorites(request, username): favorites = get_favorites(request.user) domain = RequestSite(request).domain e_data = lambda e: episode_data(e, domain) ret = map(e_data, favorites) return JsonResponse(ret)