@@ -15,9 +15,9 @@ Hinweis: diese Variante startet eine lokale Testversion der Website, es sind nic
Alternativ, insbesondere zum Testen der Zugriffsbeschränkungen: Siehe `nginx.example.conf`.
### Unittests
Tests können mittels `./tests.py` ausgeführt werden.
Tests können mittels `./runTests.py` ausgeführt werden.
Coverage Tests können mittels `rm .coverage; python -m coverage run tests.py; python -m coverage html` ausgeführt werden. Dies erstellt einen Ordner `htmlcov` in dem HTML Output liegt.
Coverage Tests können mittels `rm .coverage; python -m coverage run runTests.py; python -m coverage html` ausgeführt werden. Dies erstellt einen Ordner `htmlcov` in dem HTML Output liegt.
### Zum Mitmachen:
1. Repo für den eigenen User forken, dafür den "Fork-Button" auf der Website verwenden
pagecount=math.ceil(query('SELECT count(id) as count FROM jobs WHERE (type like ?) AND (worker like ? OR (worker IS NULL AND ? = "%")) AND (state like ?)',filter['type'],filter['worker'],filter['worker'],filter['state'])[0]['count']/pagesize)
jobs=query('SELECT * FROM jobs WHERE (type like ?) AND (worker like ? OR (worker IS NULL AND ? = "%")) AND (state like ?) ORDER BY `time_created` DESC LIMIT ? OFFSET ?',filter['type'],filter['worker'],filter['worker'],filter['state'],pagesize,page*pagesize)
active_streams=query('SELECT lectures.*, "course" AS sep, courses.*, "job" AS sep, jobs.* FROM lectures JOIN courses ON (courses.id = lectures.course_id) JOIN jobs ON (jobs.id = lectures.stream_job) WHERE lectures.stream_job')
modify('UPDATE live_sources SET `key` = ? WHERE id = ? AND NOT deleted',gentoken(),id)
source=query('SELECT * FROM live_sources WHERE NOT deleted AND id = ?',id)[0]
flash('Der Streamkey von <strong>'+source['name']+'</strong> wurde neu generiert: <span><input readonly type="text" style="width: 15em" value="'+source['key']+'"></span>')
returnredirect(url_for('streaming'))
@app.route('/internal/streaming/drop/<int:id>')
@mod_required
defstreamdrop(id):
source=(query('SELECT * FROM live_sources WHERE NOT deleted AND id = ?',id)or[None])[0]
source=(query('SELECT * FROM live_sources WHERE server = ? AND clientid = ?',server,request.values['clientid'])or[None])[0]
modify('UPDATE live_sources SET server = NULL, clientid = NULL, preview_key = NULL, last_active = ? WHERE server = ? AND clientid = ?',datetime.now(),server,request.values['clientid'])
ifnotsource:
return'Ok',200
forlectureinquery('SELECT * FROM lectures WHERE stream_job IS NOT NULL'):
WHERE streams.active AND (? OR streams.visible) AND lectures.course_id = ?
''',ismod(),course['id'])
videos+=genlive(livestreams)
videos+=genlive_new(lectures)
chapters=[]
ifcourse['coursechapters']:
chapters=query('SELECT chapters.* FROM chapters JOIN lectures ON lectures.id = chapters.lecture_id WHERE lectures.course_id = ? AND NOT chapters.deleted AND chapters.visible ORDER BY time ASC',course['id'])
videos+=genlive(livestreams)
responsible=query('''SELECT users.*, responsible.course_id AS responsible
FROM users
LEFT JOIN responsible ON (responsible.user_id = users.id AND responsible.course_id = ?)