Files
scrapers/Working/iCal/df.online_events.py

56 lines
1.6 KiB
Python
Raw Normal View History

2026-01-09 22:49:19 -05:00
import requests, os, sys
from icalendar import Calendar as iCalendar, Event
from datetime import datetime
from dateutil import relativedelta
td = relativedelta.relativedelta(hours=5)
from pprint import pprint as ppr
import pytz
sys.path.append('/var/www/digisnaxx.ado/scrapers')
import dtss
dtss.getReady()
from events.models import Event as DSEvent, Organization, Scraper, Calendar
import events.digitools as digitools
venue, created = Organization.objects.get_or_create(
name="Online Events",
city="Online",
website="https://dreamfreely.org/",
)
event_type = "Mu"
try:
scraper, created = Scraper.objects.get_or_create(
name="Online Events",
website="https://calendar.google.com/calendar/ical/p1a4r9glkjpu4u6iv3fkmu8qtc%40group.calendar.google.com/public/basic.ics",
calendar = Calendar.objects.get(shortcode='000'),
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
objIcalData = requests.get(scraper.website)
gcal = iCalendar.from_ical(objIcalData.text)
counter = 0
digitools.getiCalRepeateEvents(gcal, scraper, venue, "Ed", cal)
digitools.updateScraper(scraper, item_count_start)
new_time = datetime.now() - timedelta(days=1)
right_bound_time = datetime.now() + timedelta(days=45)
events = DSEvent.objects.filter(show_date__lte=new_time)
events1 = DSEvent.objects.filter(show_date__gte=right_bound_time)
for e in events:
e.delete()
for e in events1:
e.delete()