import requests, os, sys # from icalendar import Calendar as iCalendar, Event from icalendar import Calendar as iCalendar from datetime import datetime from dateutil import relativedelta td = relativedelta.relativedelta(hours=5) from pprint import pprint as ppr import pytz import django sys.path.append('../../../../') os.environ['DJANGO_SETTINGS_MODULE'] = 'config.django.local' django.setup() from events.models import Event as DSEvent, Organization, Scraper, Calendar import events.digitools as digitools from dateutil import relativedelta td = relativedelta.relativedelta(hours=5) tz = pytz.timezone("US/Central") DATETIME_FORMAT = '%Y-%m-%d %I:%M %p' venue, created = Organization.objects.get_or_create( name="White Squirrel", city="St. Paul", website="https://whitesquirrelbar.com", is_venue = True ) try: scraper, created = Scraper.objects.get_or_create( name="White Squirrel", website="https://calendar.google.com/calendar/ical/vh5sr9h59nmrs2op5lmptu2fsa344cig%40import.calendar.google.com/public/basic.ics", calendar = Calendar.objects.get(shortcode='msp'), items = 0, new_items = 0, last_ran = datetime.now(), ) except Exception as e: print(e) scraper = Scraper.objects.get(name=venue.name) item_count_start = scraper.items event_type = "Mu" objIcalData = requests.get(scraper.website) gcal = iCalendar.from_ical(objIcalData.content) tz = pytz.timezone("US/Central") events = digitools.getiCalEvents(gcal, scraper, venue, event_type) for event in events: ppr(event) e = {} e['calendars'] = event['calendars'] try: e['dateStamp'] = event['dateStart'][0] except: e['dateStamp'] = event['dateStart'] e['title'] = event['strSummary'] e['scraper'] = scraper e['link'] = venue.website try: digitools.createBasicEvent(e, event_type, venue) except Exception as e: print("Error: ", e) digitools.updateScraper(scraper, item_count_start)