def activities_summary(self): activities = self.activities_list() if not activities: return None if activities[0].study: # We have studies, so get rid of the more boring activities activities = filter(lambda a: a.study, activities) return english_list(map(lambda a: a.name_en, activities))
def activities_summary(self): activities = self.activities_list() if not activities: return None if activities[0].study: # We have studies, so get rid of the more boring activities activities = filter(lambda a: a.study, activities) return english_list(map(lambda a: a.name_en, activities))
def activities_summary(self): activities = self.activities_list() if not activities: return None if activities[0].study: # We have studies, so get rid of the more boring activities activities = [a for a in activities if a.study] return english_list([a.name_en for a in activities])
def get_subject_line(self, documents): if self.topic.politician_hansard_alert: topics = set((d['topic'] for d in documents)) subj = u'%(politician)s spoke about %(topics)s in the House' % { 'politician': documents[0]['politician'], 'topics': english_list(list(topics)) } else: subj = u'New from openparliament.ca for %s' % self.topic.query return subj[:200]
def get_subject_line(self, documents): if self.topic.politician_hansard_alert: topics = set((d['topic'] for d in documents)) subj = u'%(politician)s spoke about %(topics)s in the House' % { 'politician': documents[0]['politician'], 'topics': english_list(list(topics)) } else: subj = u'New from openparliament.ca for %s' % self.topic.query return subj[:200]
def get_subject_line(self, documents): if self.topic.politician_hansard_alert: topics = set((d["topic"] for d in documents)) subj = u"%(politician)s spoke about %(topics)s in the House" % { "politician": documents[0]["politician"], "topics": english_list(list(topics)), } else: subj = u"New from openparliament.ca for %s" % self.topic.query return subj[:200]
def alerts_for_hansard(hansard): alerts = PoliticianAlert.public.all() alert_set = set([alert.politician_id for alert in alerts]) statements = defaultdict(list) topics = defaultdict(list) for statement in hansard.statement_set.filter(speaker=False): pol_id = statement.politician_id if pol_id in alert_set: statements[pol_id].append(statement) if statement.topic not in topics[pol_id]: topics[pol_id].append(statement.topic) for alert in alerts: pol_id = alert.politician_id if statements[pol_id]: pol = alert.politician c = Context({ 'alert': alert, 'statements': statements[pol_id], 'topics': topics[pol_id] }) t = loader.get_template("alerts/politician.txt") msg = t.render(c) subj = u'%(politician)s spoke about %(topics)s in the House' % { 'politician': pol.name, 'topics': english_list(topics[pol_id]) } subj = subj[:200] try: send_mail(subject=subj, message=msg, from_email='*****@*****.**', recipient_list=[alert.email]) except Exception, e: # FIXME logging print "Error sending alert %s" % alert.id print e
def alerts_for_hansard(hansard): alerts = PoliticianAlert.public.all() alert_set = set([alert.politician_id for alert in alerts]) statements = defaultdict(list) topics = defaultdict(list) for statement in hansard.statement_set.filter(speaker=False): pol_id = statement.politician_id if pol_id in alert_set: statements[pol_id].append(statement) if statement.topic not in topics[pol_id]: topics[pol_id].append(statement.topic) for alert in alerts: pol_id = alert.politician_id if statements[pol_id]: pol = alert.politician c = Context({ 'alert': alert, 'statements': statements[pol_id], 'topics': topics[pol_id] }) t = loader.get_template("alerts/politician.txt") msg = t.render(c) subj = u'%(politician)s spoke about %(topics)s in the House' % { 'politician': pol.name, 'topics': english_list(topics[pol_id]) } subj = subj[:200] try: send_mail(subject=subj, message=msg, from_email='*****@*****.**', recipient_list=[alert.email]) except Exception, e: # FIXME logging print "Error sending alert %s" % alert.id print e