Skip to content
Snippets Groups Projects
Select Git revision
  • 4eafcf6722c5973372e40e9fb4567454bab17ec5
  • main default
  • full_migration
  • v1.0.9 protected
  • v1.0.8 protected
  • v1.0.7 protected
  • v1.0.6 protected
  • v1.0.5 protected
  • v1.0.4 protected
  • v1.0.3 protected
  • v1.0.2 protected
  • v1.0.1 protected
  • v1.0 protected
13 results

authentication.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    intro 1.63 KiB
    #!/usr/bin/env python3
    from util import ping_job, getcurjobid, getjobdata, buildpath, job_failed
    from PIL import Image, ImageFont, ImageDraw
    import traceback
    import sys
    import json
    import os
    
    def centerText(img, draw, fnt, top, msg, color='white'):
    	iw, ih = img.width, img.height
    	tw, th = draw.textsize(msg, font=fnt)
    	draw.text(((iw-tw)/2, top), msg, font=fnt, fill=color)
    
    def main():
    	if not len(sys.argv) == 5:
    		exit(1)
    	data = getjobdata()
    	outputfile = buildpath(os.environ.get('WORKER_RAW'), data['path']);
    	data = data['metadata']
    	with Image.new("RGB",(1920,1080),"black") as img:
    		fontpath = 'assets/LiberationSans-Regular.ttf'
    		draw = ImageDraw.Draw(img)
    		fnt = ImageFont.truetype(fontpath, 92)
    		centerText(img, draw, fnt, 270, data.get('album', ''))
    		fnt = ImageFont.truetype(fontpath, 69)
    		centerText(img, draw, fnt, 500, data.get('artist', ''))
    		fnt = ImageFont.truetype(fontpath, 72)
    		centerText(img, draw, fnt, 710, '{} vom {}'.format(data.get('title', ''), data.get('date', '').replace('/', '.')))
    		fnt = ImageFont.truetype(fontpath, 36)
    		centerText(img, draw, fnt, 910, 'Video erstellt von der Video AG der Fachschaft I/1')
    		linkblue = (81, 122, 231)
    		fnt = ImageFont.truetype(fontpath, 38)
    		centerText(img, draw, fnt, 950, 'https://video.rwth-aachen.de/', color=linkblue)
    		centerText(img, draw, fnt, 990, 'video@fsmpi.rwth-aachen.de', color=linkblue)
    		with Image.open('assets/lgog_embed2.png') as logo:
    			img.paste(logo,(1722, 924))
    		img.save(outputfile, "PNG")
    	ping_job('finished')
    	exit(0)
    
    if __name__ == '__main__':
    	try:
    		main()
    	except Exception as e:
    		try:
    			job_failed(str(e))
    		except:
    			traceback.print_exc()
    			exit(3)