def lists_own(request): lists = podcastlists_for_user(request.user._id) return render(request, 'lists.html', { 'lists': lists })
def lists_user(request, username): user = User.get_user(username) if not user: raise Http404 lists = podcastlists_for_user(user._id) return render(request, 'lists_user.html', { 'lists': lists, 'user': user, })
def get_lists(request, username): """ Returns a list of all podcast lists by the given user """ user = User.get_user(username) if not user: raise Http404 lists = podcastlists_for_user(user._id) site = RequestSite(request) get_data = partial(_get_list_data, username=user.username, domain=site.domain) lists_data = map(get_data, lists) return JsonResponse(lists_data)
def get_podcast_lists(self, user): return podcastlists_for_user(user._id)
def dashboard(request, episode_count=10): subscribed_podcasts = list(request.user.get_subscribed_podcasts()) site = RequestSite(request) checklist = [] if request.user.devices: checklist.append('devices') if subscribed_podcasts: checklist.append('subscriptions') if favorite_episode_ids_for_user(request.user): checklist.append('favorites') if not request.user.get_token('subscriptions_token'): checklist.append('share') if not request.user.get_token('favorite_feeds_token'): checklist.append('share-favorites') if not request.user.get_token('userpage_token'): checklist.append('userpage') if tags_for_user(request.user): checklist.append('tags') # TODO add podcastlist_count_for_user if podcastlists_for_user(request.user._id): checklist.append('lists') if request.user.published_objects: checklist.append('publish') if request.user.get_wksetting(FLATTR_TOKEN): checklist.append('flattr') if request.user.get_wksetting(FLATTR_AUTO): checklist.append('auto-flattr') tomorrow = datetime.today() + timedelta(days=1) podcasts = PodcastSet(subscribed_podcasts) newest_episodes = podcasts.get_newest_episodes(tomorrow, episode_count) def get_random_podcasts(): random_podcast = next(random_podcasts(), None) if random_podcast: yield random_podcast.get_podcast() # we only show the "install reader" link in firefox, because we don't know # yet how/if this works in other browsers. # hints appreciated at https://bugs.gpodder.org/show_bug.cgi?id=58 show_install_reader = \ 'firefox' in request.META.get('HTTP_USER_AGENT', '').lower() return render(request, 'dashboard.html', { 'user': request.user, 'subscribed_podcasts': subscribed_podcasts, 'newest_episodes': list(newest_episodes), 'random_podcasts': get_random_podcasts(), 'checklist': checklist, 'site': site, 'show_install_reader': show_install_reader, })