diff --git a/feeds.py b/feeds.py index e44ca6101f5356b0719d8d5ef683e4589b96d394..7e6c4ed57b79cd29d7fd15192c1252c7a9d81934 100644 --- a/feeds.py +++ b/feeds.py @@ -21,7 +21,7 @@ def feed(handle=None): id = course['id'] entries = query(''' SELECT lectures.*, videos.file_size, videos.path, videos.id AS video_id, videos.hash, - MAX(videos.time_created, videos.time_updated, lectures.time_created, lectures.time_updated) as updated, + videos.time_created AS video_created, videos.time_updated AS video_updated, courses.title AS course_title, courses.handle AS course_handle, courses.semester, courses.organizer AS course_organizer, courses.short as course_short, formats.description AS format_description, formats.player_prio FROM lectures @@ -34,7 +34,7 @@ def feed(handle=None): course['id'], course['id']) updated = max(course['time_updated'], course['time_created'], key=fixdate) for entry in entries: - entry['updated'] = convert_timestamp(entry['updated'].encode('utf-8')) + entry['updated'] = max(entry['video_created'], entry['video_updated'], entry['time_created'], entry['time_updated'], key=fixdate) if len(entry['hash']) != 32: entry['atomid'] = gen_atomid('Video AG, videos['+str(entry['video_id'])+']') else: @@ -45,11 +45,11 @@ def feed(handle=None): @app.route('/course/feed') def feed_courses(): - courses = query('SELECT *, MAX(time_created, time_updated) AS updated FROM courses WHERE visible AND listed ORDER BY time_created DESC LIMIT 100') + courses = query('SELECT * FROM courses WHERE visible AND listed ORDER BY time_created DESC LIMIT 100') atomid = gen_atomid('Video AG, courses') updated = None for course in courses: - course['updated'] = convert_timestamp(course['updated'].encode('utf-8')) + course['updated'] = max(course['time_created'], course['time_updated'], key=fixdate) course['atomid'] = gen_atomid('Video AG, courses['+str(course['id'])+']: '+course['handle']) updated = max(updated, course['updated'], key=fixdate) return Response(render_template('feed_courses.atom', updated=updated, atomid=atomid, courses=courses), 200, {'Content-Type': 'application/atom+xml'})