From 5c36d6f3a6404753a991e60085527bd1ce99fd19 Mon Sep 17 00:00:00 2001
From: Julian Rother <julianr@fsmpi.rwth-aachen.de>
Date: Mon, 22 May 2017 01:55:05 +0200
Subject: [PATCH] Reworked ical queries and added limit to them

---
 icalexport.py | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/icalexport.py b/icalexport.py
index 9f360f6..23ddb2e 100644
--- a/icalexport.py
+++ b/icalexport.py
@@ -46,21 +46,13 @@ def calperm(func):
 			return redirect(url_for('index'))
 	return decorator
 
-@app.route('/internal/ical/semester/<semester>')
-@calperm
-def ical_semester(semester):
-	if semester == 'zeitlos':
-		semester_q = ''
-	else:
-		semester_q = semester
-	return export_lectures(query('SELECT lectures.* FROM lectures JOIN courses ON courses.id = lectures.course_id WHERE courses.semester = ? AND lectures.visible = 1', semester_q),'videoag_semester_'+semester+'.ics')
-
 @app.route('/internal/ical/all')
 @calperm
 def ical_all():
-	return export_lectures(query('SELECT lectures.* FROM lectures WHERE lectures.visible = 1'),'videoag_all.ics')
+	return export_lectures(query('''SELECT lectures.* FROM lectures JOIN courses ON courses.id = lectures.course_id
+				WHERE NOT norecording AND NOT external ORDER BY time DESC LIMIT 1000'''),'videoag_all.ics')
 
 @app.route('/internal/ical/course/<course>')
 @calperm
 def ical_course(course):
-	return export_lectures(query('SELECT lectures.* FROM lectures JOIN courses ON courses.id = lectures.course_id WHERE courses.handle = ? AND lectures.visible = 1', course),'videoag_course_'+course+'.ics')
+	return export_lectures(query('SELECT lectures.* FROM lectures JOIN courses ON courses.id = lectures.course_id WHERE courses.handle = ? AND NOT norecording AND NOT external ORDER BY time DESC', course),'videoag_course_'+course+'.ics')
-- 
GitLab