Skip to content
Snippets Groups Projects
Select Git revision
  • 1902365f879b3d342848e86e6064fe0cdf0bfb7d
  • master default protected
  • intros
  • live_sources
  • bootstrap4
  • modules
6 results

sorter.py

Blame
  • Forked from Video AG Infrastruktur / website
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    encoding.py 1.65 KiB
    from server import *
    
    def schedule_remux(lectureid):
    	lecture = query('SELECT * FROM lectures WHERE id = ?', lectureid)[0]
    	course = query('SELECT * FROM courses WHERE id = ?', lecture['course_id'])[0]
    	chapters = query('SELECT text, time FROM chapters WHERE lecture_id = ?', lectureid)
    	videos = query('SELECT videos.*, sources.path AS srcpath, sources.hash AS srchash FROM videos JOIN sources ON videos.source = sources.id WHERE videos.lecture_id = ?', lectureid)
    	metadata = {'title': lecture['title'], 'album': course['title'],
    		'description': lecture['comment'],
    		'date': lecture['time'].strftime('%m/%d/%Y'),
    		'artist': lecture['speaker'] if lecture['speaker'] else course['organizer']}
    	for video in videos:
    		if not video['source']:
    			continue
    		data = {'video_id': video['id'], 'path': video['path'],
    			'srcpath': video['srcpath'], 'srchash': video['srchash'],
    			'chapters': chapters, 'metadata': metadata}
    		schedule_job('remux', data)
    
    @edit_handler('chapters')
    def chapter_changed(table, column, value, id):
    	print('chapter_changed')
    	chapters = query('SELECT * FROM chapters WHERE id = ?', id)
    	if not chapters:
    		return
    	chapter = chapters[0]
    	if column in ['visible', 'deleted'] or (chapter['visible'] and not chapter['deleted']):
    		schedule_remux(chapter['lecture_id'])
    
    @edit_handler('courses')
    def course_changed(table, column, value, id):
    	if column not in ['title', 'organizer']:
    		return
    	lectures = query('SELECT * FROM lectures WHERE course_id = ?', id)
    	for lecture in lectures:
    		schedule_remux(lecture['id'])
    
    @edit_handler('lectures')
    def lecture_changed(table, column, value, id):
    	if column in ['title', 'comment', 'time', 'speaker']:
    		schedule_remux(id)