Select Git revision
object_modifications.py
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)