from datetime import datetime from helper import create_jinja_env from parser import parse_events, parse_all_events today = datetime.now() all_events = parse_all_events() events = parse_events('data/2019_events_db.csv', today) env = create_jinja_env() template = env.get_template('index.html') result = template.render(upcoming=events['upcoming'], has_upcoming=events['has_upcoming'], prev=events['prev'], has_prev=events['has_prev'], all_events=all_events, year='2019', other_year='2020', other_year_link='') with open('build/2019/index.html', 'a') as f: f.write(result)
description = event['description'] or '' description += '\n\n' if event['has_details']: description += 'Read everything about ' + event[ 'label'] + ' in a nutshell on // foss.events: ' + event[ 'abs_details_url'] + '\n\n' description += 'Official Homepage: ' + event['homepage'] + '\n\n' if event['osm_link']: description += 'Find your way: ' + event['osm_link'] + '\n' cal_event['description'] = remove_tags(description) cal.add_component(cal_event) if event['lat'] and event['lon']: cal_event['geo'] = vGeo([event['lat'], event['lon']]) filepath = generate_event_ical_path(event) with open('build/' + filepath, 'wb') as f: f.write(cal.to_ical()) today = datetime.now() for year in [2019, 2020, 2021]: events = parse_events('data/' + str(year) + '_events_db.csv', today) generate_event_ical_files(events['all'].values())
import csv from datetime import datetime from helper import create_jinja_env from parser import parse_events today = datetime.now() with open('data/2020_events_db.csv') as csvfile: reader = csv.DictReader(csvfile, delimiter='\t') events = parse_events(reader, today) env = create_jinja_env() template = env.get_template('index.html') result = template.render( upcoming=events['upcoming'], has_upcoming=events['has_upcoming'], prev=events['prev'], has_prev=events['has_prev'], year='2020', other_year='2019', other_year_link='2019' ) with open('build/index.html', 'a') as f: f.write(result)
cal.add('version', '2.0') cal_event = generate_ical_event(event, now) cal.add_component(cal_event) filepath = generate_event_ical_path(event) with open('build/' + filepath, 'wb') as f: f.write(cal.to_ical()) def generate_calendar(events, now): cal = Calendar() cal.add('prodid', '-//foss.events//foss.events//') cal.add('version', '2.0') for event in events: cal_event = generate_ical_event(event, now) cal.add_component(cal_event) with open('build/events.ics', 'wb') as f: f.write(cal.to_ical()) now = datetime.now() for year in [2019, 2020, 2021]: events = parse_events('data/' + str(year) + '_events_db.csv', now) generate_event_ical_files(events['all'].values(), now) events_2021 = parse_events('data/2021_events_db.csv', now) generate_calendar(events['all'].values(), now)