From 1ee9236b50a309fa6fb3a08ef9ad0a664085d0d6 Mon Sep 17 00:00:00 2001 From: Andreas <andreasv@fsmpi.rwth-aachen.de> Date: Tue, 25 Jul 2017 23:57:46 +0200 Subject: [PATCH] added thumbnails for livestreams, closes #251 --- livestreams.py | 22 ++++++++++++++++++++++ server.py | 9 ++------- sorter.py | 1 - 3 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 livestreams.py diff --git a/livestreams.py b/livestreams.py new file mode 100644 index 0000000..10118d8 --- /dev/null +++ b/livestreams.py @@ -0,0 +1,22 @@ +from server import * +from sorter import schedule_thumbnail + +def genlive(streams): + for stream in streams: + stream['visible'] = True + stream['downloadable'] = False + stream['path'] = 'pub/hls/%s.m3u8'%stream['livehandle'] + stream['file_size'] = 0 + return streams + +@sched_func(30) +def livestream_thumbnail(): + livestreams = query('''SELECT streams.handle AS livehandle, streams.lecture_id, "formats" AS sep, formats.* + FROM streams + JOIN lectures ON lectures.id = streams.lecture_id + JOIN formats ON formats.keywords = "hls" + WHERE streams.active AND (? OR streams.visible) + ''', ismod()) + for v in genlive(livestreams): + schedule_thumbnail(v.lecture_id) + diff --git a/server.py b/server.py index f535a6c..eb36456 100644 --- a/server.py +++ b/server.py @@ -381,13 +381,7 @@ def courses(): groupedby = 'semester' return render_template('courses.html', courses=courses, groupedby=groupedby) -def genlive(streams): - for stream in streams: - stream['visible'] = True - stream['downloadable'] = False - stream['path'] = 'pub/hls/%s.m3u8'%stream['livehandle'] - stream['file_size'] = 0 - return streams +from livestreams import genlive @app.route('/<handle>') @app.route('/<int:id>') @@ -692,3 +686,4 @@ if 'JOBS_API_KEY' in config: import timetable import chapters import icalexport +import livestreams diff --git a/sorter.py b/sorter.py index 720c6d3..472955b 100644 --- a/sorter.py +++ b/sorter.py @@ -36,7 +36,6 @@ def insert_video(lectureid,dbfilepath,filepath,fileformatid): schedule_thumbnail(lectureid) def schedule_thumbnail(lectureid): - path = query('SELECT path FROM videos WHERE lecture_id') videos = query(''' SELECT videos.path FROM videos -- GitLab