From eb05ba419da0fc321489db335fbf820a2fdf925c Mon Sep 17 00:00:00 2001 From: Andreas <andreasv@fsmpi.rwth-aachen.de> Date: Sun, 23 Apr 2017 00:19:08 +0200 Subject: [PATCH] moved chapters to own file --- chapters.py | 34 ++++++++++++++++++++++++++++++++++ server.py | 34 +--------------------------------- 2 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 chapters.py diff --git a/chapters.py b/chapters.py new file mode 100644 index 0000000..44d37e4 --- /dev/null +++ b/chapters.py @@ -0,0 +1,34 @@ +from server import * + +@app.route('/internal/newchapter/<int:lectureid>', methods=['POST', 'GET']) +def suggest_chapter(lectureid): + time = request.values['time'] + text = request.values['text'] + assert(time and text) + try: + x = datetime.strptime(time,'%H:%M:%S') + time= timedelta(hours=x.hour,minutes=x.minute,seconds=x.second).total_seconds() + time = int(time) + except ValueError: + flash('Falsches Zeitformat, "%H:%M:%S" wird erwartet. Z.B. "01:39:42" für eine Kapitel bei Stunde 1, Minute 39, Sekunde 42') + + submitter = None + if not ismod(): + submitter = request.environ['REMOTE_ADDR'] + id = modify('INSERT INTO chapters (lecture_id, time, text, time_created, time_updated, created_by, submitted_by) VALUES (?, ?, ?, ?, ?, ?, ?)', + lectureid, time, text, datetime.now(), datetime.now(), session.get('user', {'dbid':None})['dbid'], submitter) + if 'ref' in request.values: + return redirect(request.values['ref']) + return 'OK', 200 + +@app.route('/internal/chapters/<int:lectureid>') +def chapters(lectureid): + chapters = query("SELECT * FROM chapters WHERE lecture_id = ? AND NOT deleted AND (visible OR ?) ORDER BY time DESC", lectureid, ismod()) + if not chapters: + return 'No chapters found', 404 + last = None + for c in chapters: + c['start'] = c['time'] + c['end'] = last['start'] if last else 9999 + last = c + return Response(render_template('chapters.srt',chapters=chapters), 200, {'Content-Type':'text/vtt'}) diff --git a/server.py b/server.py index c62aaf4..550239a 100644 --- a/server.py +++ b/server.py @@ -578,39 +578,6 @@ def changelog(): def files(filename): return redirect(config['VIDEOPREFIX']+'/'+filename) -@app.route('/internal/newchapter/<int:lectureid>', methods=['POST', 'GET']) -def suggest_chapter(lectureid): - time = request.values['time'] - text = request.values['text'] - assert(time and text) - try: - x = datetime.strptime(time,'%H:%M:%S') - time= timedelta(hours=x.hour,minutes=x.minute,seconds=x.second).total_seconds() - time = int(time) - except ValueError: - flash('Falsches Zeitformat, "%H:%M:%S" wird erwartet. Z.B. "01:39:42" für eine Kapitel bei Stunde 1, Minute 39, Sekunde 42') - - submitter = None - if not ismod(): - submitter = request.environ['REMOTE_ADDR'] - id = modify('INSERT INTO chapters (lecture_id, time, text, time_created, time_updated, created_by, submitted_by) VALUES (?, ?, ?, ?, ?, ?, ?)', - lectureid, time, text, datetime.now(), datetime.now(), session.get('user', {'dbid':None})['dbid'], submitter) - if 'ref' in request.values: - return redirect(request.values['ref']) - return 'OK', 200 - -@app.route('/internal/chapters/<int:lectureid>') -def chapters(lectureid): - chapters = query("SELECT * FROM chapters WHERE lecture_id = ? AND NOT deleted AND (visible OR ?) ORDER BY time DESC", lectureid, ismod()) - if not chapters: - return 'No chapters found', 404 - last = None - for c in chapters: - c['start'] = c['time'] - c['end'] = last['start'] if last else 9999 - last = c - return Response(render_template('chapters.srt',chapters=chapters), 200, {'Content-Type':'text/vtt'}) - @app.route('/sitemap.xml') def sitemap(): pages=[] @@ -664,3 +631,4 @@ import l2pauth if 'JOBS_API_KEY' in config: import jobs import timetable +import chapters -- GitLab