def _getVideosToDownload(self): ret=[] object_type=ContentType.objects.get_for_model(Committee) videos=Video.objects.filter(content_type__pk=object_type.id,group='mms').order_by('id') for video in videos: qs=get_videos_queryset(video,group='youtube_upload',ignoreHide=True) if qs.count()==0: ret.append(video) return ret
def update_members_about_video(): for member in Member.objects.all(): if get_videos_queryset(member,group='about').count()==0: names=_get_member_names(member) got_video=False for name in names: videos=get_youtube_videos(q=u"כרטיס ביקור ערוץ הכנסת "+name) for video in videos: if _update_member_about_video(member,video,names): got_video=True break if got_video: break
def _update_member_related_video(member,video): cnt=get_videos_queryset(member).filter(source_id=video['id'],source_type='youtube').count() if cnt==0: v = Video( embed_link=video['embed_url_autoplay'], small_image_link=video['thumbnail90x120'], title=video['title'], description=video['description'], link=video['link'], source_type='youtube', source_id=video['id'], published=video['published'], group='related', content_object=member ) v.save() return True else: return False
def _getMemberExistingVideosCount(self, ignoreHide, member, source_id, source_type): qs = get_videos_queryset(member, ignoreHide=ignoreHide) qs = qs.filter(source_id=source_id, source_type=source_type) return qs.count()
def _getVideos(self, getVideosQuerysetParams, filterParams): return get_videos_queryset(**getVideosQuerysetParams).filter( **filterParams)
def _hideMemberAboutVideos(self, member): videos = get_videos_queryset(member, group='about') for video in videos: video.hide = True video.save()
def _hideMemberAboutVideos(self,member): videos=get_videos_queryset(member,group='about') for video in videos: video.hide=True video.save()
def _getVideos(self, getVideosQuerysetParams, filterParams): return get_videos_queryset(**getVideosQuerysetParams).filter(**filterParams)
def _getMemberExistingVideosCount(self,ignoreHide,member,source_id,source_type): qs=get_videos_queryset(member,ignoreHide=ignoreHide) qs=qs.filter(source_id=source_id,source_type=source_type) return qs.count()
def _isVideoExists(self, video): return get_videos_queryset( video['content_object'], ignoreHide=True).filter(source_id=video['source_id']).count() > 0
def _isVideoExists(self,video): return get_videos_queryset(video['content_object'],ignoreHide=True).filter(source_id=video['source_id']).count()>0
def _get_committee_num_mms_videos(self,comm,group,ignoreHide,embed_link): return get_videos_queryset(comm,group=group,ignoreHide=ignoreHide).filter(embed_link=embed_link).count()
def _isVideoAlreadyUploaded(self,video): qs=get_videos_queryset(video,group='youtube_upload',ignoreHide=True) return qs.count()>0
def get_context_data (self, **kwargs): context = super(MemberDetailView, self).get_context_data(**kwargs) member = context['object'] if self.request.user.is_authenticated(): p = self.request.user.get_profile() watched = member in p.members cached_context = None else: watched = False cached_context = cache.get('mk_%d' % member.id, None) if cached_context is None: verbs = None if 'verbs' in self.request.GET: verbs_form = VerbsForm(self.request.GET) if verbs_form.is_valid(): verbs = verbs_form.cleaned_data['verbs'] if verbs==None: verbs = ('proposed', 'posted') verbs_form = VerbsForm({'verbs': verbs}) presence = {} self.calc_percentile(member, presence, 'average_weekly_presence_hours', 'average_weekly_presence_hours', 'average_weekly_presence_hours_percentile' ) self.calc_percentile(member, presence, 'average_monthly_committee_presence', 'average_monthly_committee_presence', 'average_monthly_committee_presence_percentile' ) bills_statistics = {} self.calc_bill_stats(member,bills_statistics,'proposed') self.calc_bill_stats(member,bills_statistics,'pre') self.calc_bill_stats(member,bills_statistics,'first') self.calc_bill_stats(member,bills_statistics,'approved') bills_tags = Tag.objects.usage_for_queryset(member.bills.all(),counts=True) #bills_tags.sort(key=lambda x:x.count,reverse=True) bills_tags = calculate_cloud(bills_tags) if self.request.user.is_authenticated(): agendas = Agenda.objects.get_selected_for_instance(member, user=self.request.user, top=3, bottom=3) else: agendas = Agenda.objects.get_selected_for_instance(member, user=None, top=3, bottom=3) agendas = agendas['top'] + agendas['bottom'] for agenda in agendas: agenda.watched=False if self.request.user.is_authenticated(): watched_agendas = self.request.user.get_profile().agendas for watched_agenda in watched_agendas: if watched_agenda in agendas: agendas[agendas.index(watched_agenda)].watched = True else: watched_agenda.score = watched_agenda.member_score(member) watched_agenda.watched = True agendas.append(watched_agenda) agendas.sort(key=attrgetter('score'), reverse=True) factional_discipline = VoteAction.objects.filter(member = member, against_party=True) votes_against_own_bills = VoteAction.objects.filter(member=member, against_own_bill=True) general_discipline_params = { 'member' : member } is_coalition = member.current_party.is_coalition if is_coalition: general_discipline_params['against_coalition'] = True else: general_discipline_params['against_opposition'] = True general_discipline = VoteAction.objects.filter(**general_discipline_params) about_videos=get_videos_queryset(member,group='about')[:1] if len(about_videos): about_video=about_videos[0] about_video_embed_link=about_video.embed_link about_video_image_link=about_video.image_link else: about_video_embed_link='' about_video_image_link='' related_videos=get_videos_queryset(member,group='related') related_videos=related_videos.filter( Q(published__gt=date.today()-timedelta(days=30)) | Q(sticky=True) ).order_by('sticky').order_by('-published')[:5] actions = actor_stream(member).filter(verb__in=verbs) for a in actions: a.actor = member cached_context = {'watched_member': watched, 'actions':actions, 'verbs_form': verbs_form, 'bills_statistics':bills_statistics, 'bills_tags':bills_tags, 'agendas':agendas, 'presence':presence, 'factional_discipline':factional_discipline, 'votes_against_own_bills':votes_against_own_bills, 'general_discipline':general_discipline, 'about_video_embed_link':about_video_embed_link, 'about_video_image_link':about_video_image_link, 'related_videos':related_videos, 'num_related_videos':related_videos.count() } if not self.request.user.is_authenticated(): cache.set('mk_%d' % member.id, cached_context, settings.LONG_CACHE_TIME) context.update(cached_context) return context
def get_context_data (self, **kwargs): context = super(MemberDetailView, self).get_context_data(**kwargs) member = context['object'] verbs = None if 'verbs' in self.request.GET: verbs_form = VerbsForm(self.request.GET) if verbs_form.is_valid(): verbs = verbs_form.cleaned_data['verbs'] if verbs==None: verbs = ('proposed', 'posted') verbs_form = VerbsForm({'verbs': verbs}) if self.request.user.is_authenticated(): p = self.request.user.get_profile() watched = member in p.members cached_context = None else: watched = False cached_context = cache.get('mk_%d_%s' % (member.id, '_'.join(verbs))) if cached_context is None: presence = {} self.calc_percentile(member, presence, 'average_weekly_presence_hours', 'average_weekly_presence_hours', 'average_weekly_presence_hours_percentile' ) self.calc_percentile(member, presence, 'average_monthly_committee_presence', 'average_monthly_committee_presence', 'average_monthly_committee_presence_percentile' ) bills_statistics = {} self.calc_bill_stats(member,bills_statistics,'proposed') self.calc_bill_stats(member,bills_statistics,'pre') self.calc_bill_stats(member,bills_statistics,'first') self.calc_bill_stats(member,bills_statistics,'approved') bills_tags = Tag.objects.usage_for_queryset(member.bills.all(),counts=True) #bills_tags.sort(key=lambda x:x.count,reverse=True) bills_tags = calculate_cloud(bills_tags) if self.request.user.is_authenticated(): agendas = Agenda.objects.get_selected_for_instance(member, user=self.request.user, top=3, bottom=3) else: agendas = Agenda.objects.get_selected_for_instance(member, user=None, top=3, bottom=3) agendas = agendas['top'] + agendas['bottom'] for agenda in agendas: agenda.watched=False if self.request.user.is_authenticated(): watched_agendas = self.request.user.get_profile().agendas for watched_agenda in watched_agendas: if watched_agenda in agendas: agendas[agendas.index(watched_agenda)].watched = True else: watched_agenda.score = watched_agenda.member_score(member) watched_agenda.watched = True agendas.append(watched_agenda) agendas.sort(key=attrgetter('score'), reverse=True) factional_discipline = VoteAction.objects.select_related( 'vote').filter(member = member, against_party=True) votes_against_own_bills = VoteAction.objects.select_related( 'vote').filter(member=member, against_own_bill=True) general_discipline_params = { 'member' : member } is_coalition = member.current_party.is_coalition if is_coalition: general_discipline_params['against_coalition'] = True else: general_discipline_params['against_opposition'] = True general_discipline = VoteAction.objects.filter( **general_discipline_params).select_related('vote') about_videos=get_videos_queryset(member,group='about')[:1] if len(about_videos): about_video=about_videos[0] about_video_embed_link=about_video.embed_link about_video_image_link=about_video.image_link else: about_video_embed_link='' about_video_image_link='' related_videos=get_videos_queryset(member,group='related') related_videos=related_videos.filter( Q(published__gt=date.today()-timedelta(days=30)) | Q(sticky=True) ).order_by('sticky').order_by('-published')[:5] actions = actor_stream(member).filter( verb__in=verbs) for a in actions: a.actor = member cached_context = {'watched_member': watched, 'actions':actions, 'verbs_form': verbs_form, 'bills_statistics':bills_statistics, 'bills_tags':bills_tags, 'agendas':agendas, 'presence':presence, 'factional_discipline':factional_discipline, 'votes_against_own_bills':votes_against_own_bills, 'general_discipline':general_discipline, 'about_video_embed_link':about_video_embed_link, 'about_video_image_link':about_video_image_link, 'related_videos':related_videos, 'num_related_videos':related_videos.count() } if not self.request.user.is_authenticated(): cache.set('mk_%d_%s' % (member.id, '_'.join(verbs)), cached_context, settings.LONG_CACHE_TIME) context.update(cached_context) return context
def _get_committee_num_mms_videos(self, comm, group, ignoreHide, embed_link): return get_videos_queryset( comm, group=group, ignoreHide=ignoreHide).filter(embed_link=embed_link).count()
def _isVideoAlreadyUploaded(self, video): qs = get_videos_queryset(video, group='youtube_upload', ignoreHide=True) return qs.count() > 0