예제 #1
0
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)
예제 #2
0
        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())
예제 #3
0
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)
예제 #4
0
        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)