def processAgendasForYears(years, committee_name): try: committee = Committee.objects.get(name=committee_name) except ObjectDoesNotExist: committee = Committee(name="Santa Monica City Council", email="*****@*****.**", cutoff_offset_days=0, cutoff_hour=11, cutoff_minute=59, location_lat=34.024212, location_lng=-118.496475, location_tz="America/Los_Angeles") committee.save() for year in years: agenda_values = get_data(year=year) if agenda_values is None: print(f"No agendas/items for {year}") continue for time, agenda in agenda_values.items(): if len(agenda) > 0: found_agenda = Agenda.objects.filter(meeting_time=time).first() if found_agenda is None: found_agenda = Agenda(meeting_time=time) found_agenda.committee = committee found_agenda.meeting_id = agenda[0]['MeetingID'] for ag_item in agenda: save_agendaitem(ag_item, found_agenda, time) found_agenda.save()
def handle(self, *args, **options): try: committee = Committee.objects.get(name="Santa Monica City Council") except ObjectDoesNotExist: Committee(name="Santa Monica City Council", email="*****@*****.**").save() committee = Committee.objects.get(name="Santa Monica City Council") years = [2016, 2017, 2018] for year in years: agenda_values = get_data(year=year) for time, agenda in agenda_values.items(): if len(agenda) > 0: found_agenda = Agenda.objects.filter( meeting_time=time).first() if found_agenda is None: found_agenda = Agenda(meeting_time=time) found_agenda.committee = committee found_agenda.meeting_id = agenda[0]['MeetingID'] for ag_item in agenda: self.save_agendaitem(ag_item, found_agenda, time) found_agenda.save()
def handle(self, *args, **options): try: committee = Committee.objects.get(name="Santa Monica City Council") except ObjectDoesNotExist: Committee(name="Santa Monica City Council", email="*****@*****.**").save() committee = Committee.objects.get(name="Santa Monica City Council") years = [2016,2017,2018] agendas = dict() for year in years: agenda_values = get_data(year=year) for time, agenda in agenda_values.items(): agendas[time] = agenda for meeting_time, agenda in agendas.items(): exists = Agenda.objects.filter(meeting_time = meeting_time).first() if (not exists): new_agenda = Agenda(meeting_time = meeting_time) new_agenda.committee = committee for ag in agenda: self.save_agendaitem(ag, new_agenda, meeting_time) new_agenda.save()
def processAgendasForYears(years, committee_name): try: committee = Committee.objects.get(name=committee_name) except ObjectDoesNotExist: committee = Committee(name="Santa Monica City Council", email="*****@*****.**", cutoff_offset_days=0, cutoff_hour=11, cutoff_minute=59, location_lat=34.024212, location_lng=-118.496475, location_tz="America/Los_Angeles") committee.save() for year in years: agenda_values = get_data(year=year) if agenda_values is None: print(f"No agendas/items for {year}") continue for time, agenda in agenda_values.items(): if len(agenda) > 0: found_agenda = Agenda.objects.filter( meeting_time=time).first() print(found_agenda) if found_agenda is None: found_agenda = Agenda(meeting_time=time) found_agenda.committee = committee found_agenda.meeting_id = agenda[0]['MeetingID'] dt = getLocationBasedDate(found_agenda.meeting_time, committee.cutoff_offset_days, committee.cutoff_hour, committee.cutoff_minute, committee.location_tz) dt = dt + timedelta(minutes=5) log.error(f"scheduling pdf processing for: {dt} for: {committee.name}") dt_utc = datetime.fromtimestamp(dt.timestamp(), tz=pytz.timezone('UTC')) exists = r.get(f"{committee.name}-{found_agenda.meeting_time}") found_agenda.save() if exists is None: r.set(f"{committee.name}-{found_agenda.meeting_time}", True, ex=3*60) schedule_process_pdf.apply_async( (committee.name, found_agenda.meeting_id), eta=dt_utc) log.error(f"scheduled pdf processing") else: log.error(f'{committee.name} {found_agenda.meeting_id} already queued for pdf in utils') for ag_item in agenda: save_agendaitem(ag_item, found_agenda, time) found_agenda.save()