implement rnedering via renderlib and nice error reports via traceback

This commit is contained in:
MaZderMind 2014-07-23 01:19:07 +02:00
parent 84b8955ac3
commit 81b0c60fa6

View file

@ -1,9 +1,12 @@
#!/usr/bin/python3
import xmlrpc.client
import traceback
import socket
import time
import sys
import os
import renderlib
import c3t_rpc_client as rpc
print("C3TT preroll generator")
@ -24,8 +27,19 @@ filter = {}
if not os.environ.get('CRS_ROOM') is None:
filter['Fahrplan.Room'] = os.environ['CRS_ROOM']
projects = {}
def generatePreroll(ticket):
print('generating preroll for', ticket)
print(ticket)
projectname = ticket.get('Processing.Prerolls.Slug', ticket['Meta.Acronym'])
if not projectname in projects:
projects[projectname] = renderlib.loadProject(projectname)
project = projects[projectname]
task = project.ticket(ticket)
task.outfile = os.path.join(ticket['Processing.Path.Intros'], ticket['Fahrplan.ID'] + '.dv')
task.workdir = os.path.join(os.getcwd(), projectname, 'artwork')
renderlib.rendertask(task)
while True:
print('Asking RPC for {0}-tickets which are ready for state {1}'.format(ticket_type, ticket_state))
@ -33,7 +47,11 @@ while True:
ticket_id = rpc.assignNextUnassignedForState(ticket_type, ticket_state, url, token, host, secret, filter)
if ticket_id != False:
ticket = rpc.getTicketProperties(str(ticket_id), url, token, host, secret)
try:
generatePreroll(ticket)
rpc.setTicketDone(str(ticket_id), url, token, host, secret)
except:
rpc.setTicketFailed(str(ticket_id), str(traceback.format_exc()), url, token, host, secret)
else:
print('No ticket found')