Initial code
This commit is contained in:
parent
d658dd9993
commit
2afdb2a659
4 changed files with 59 additions and 0 deletions
1
Procfile
Normal file
1
Procfile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
web: python app.py
|
47
app.py
Normal file
47
app.py
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
from flask import Flask
|
||||||
|
import urllib.request
|
||||||
|
from icalendar.cal import Calendar, Component
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
def hello():
|
||||||
|
cal_str = urllib.request.urlopen(
|
||||||
|
"***REMOVED***").read()
|
||||||
|
|
||||||
|
FILTERED_EVENTS = [
|
||||||
|
'MGL',
|
||||||
|
'SYD',
|
||||||
|
'SQE',
|
||||||
|
'COM',
|
||||||
|
'RSM',
|
||||||
|
'ANG1',
|
||||||
|
'DLG',
|
||||||
|
'SPO',
|
||||||
|
'STA1',
|
||||||
|
'PST',
|
||||||
|
'SEC',
|
||||||
|
'DIA'
|
||||||
|
]
|
||||||
|
|
||||||
|
cal = Component.from_ical(cal_str)
|
||||||
|
other = Calendar()
|
||||||
|
|
||||||
|
# Copy all properties of calendar
|
||||||
|
for k, v in cal.items():
|
||||||
|
other.add(k, v)
|
||||||
|
|
||||||
|
# Copy the VTIMEZONE component
|
||||||
|
other.add_component(cal.walk('VTIMEZONE')[0])
|
||||||
|
|
||||||
|
# Filter and copy VEVENTs
|
||||||
|
for ev in cal.walk('VEVENT'):
|
||||||
|
course_code = ev['SUMMARY'].split('-')[1].split('/')[0]
|
||||||
|
if course_code not in FILTERED_EVENTS:
|
||||||
|
other.add_component(ev)
|
||||||
|
|
||||||
|
return other.to_ical().replace(b'\r\n', b'\n').strip()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run()
|
10
requirements.txt
Normal file
10
requirements.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
click==6.6
|
||||||
|
Flask==0.11.1
|
||||||
|
icalendar==3.10
|
||||||
|
itsdangerous==0.24
|
||||||
|
Jinja2==2.8
|
||||||
|
MarkupSafe==0.23
|
||||||
|
python-dateutil==2.5.3
|
||||||
|
pytz==2016.6.1
|
||||||
|
six==1.10.0
|
||||||
|
Werkzeug==0.11.11
|
1
runtime.txt
Normal file
1
runtime.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
python-3.5.2
|
Loading…
Reference in a new issue