support room filter

This commit is contained in:
MaZderMind 2014-07-19 15:44:17 +02:00
parent 658691c0a7
commit bc4c29f8b6
2 changed files with 15 additions and 5 deletions

View file

@ -49,14 +49,20 @@ def C3TClient(url, method, group, host, secret, args):
if len(args) > 0:
i = 0
while i < len(args):
sig_args = str(sig_args) + str(args[i])
arg = args[i]
if isinstance(arg, dict):
for k in arg:
sig_args = str(sig_args) + "[" + str(k) + "]=" + str(arg[k])
else:
sig_args = str(sig_args) + str(arg)
if i < (len(args) -1):
sig_args = sig_args + "&"
i = i + 1
##### quote URL and generate the hash
#hash signature
sig_args_enc = urllib.parse.quote_plus(sig_args)
sig_args_enc = urllib.parse.quote_plus(sig_args, "=")
#### generate the hmac hash with key
hash = hmac.new(bytes(secret, 'utf-8'), bytes(sig_args_enc, 'utf-8'), hashlib.sha256)
@ -122,8 +128,8 @@ def getVersion():
return str(open_rpc("C3TT.getVersion",tmp_args))
### check for new ticket on tracker an get assignement
def assignNextUnassignedForState(from_state, to_state, url, group, host, secret):
tmp_args = [from_state, to_state]
def assignNextUnassignedForState(from_state, to_state, url, group, host, secret, filter = {}):
tmp_args = [from_state, to_state, filter]
xml = open_rpc("C3TT.assignNextUnassignedForState",tmp_args,url, group, host, secret)
# if get no xml there seems to be no ticket for this job
if xml == False:

View file

@ -20,13 +20,17 @@ url = os.environ['CRS_TRACKER']
token = os.environ['CRS_TOKEN']
secret = os.environ['CRS_SECRET']
filter = {}
if not os.environ.get('CRS_ROOM') is None:
filter['Fahrplan.Room'] = os.environ['CRS_ROOM']
def generatePreroll(ticket):
print('generating preroll for', ticket)
while True:
print('Asking RPC for {0}-tickets which are ready for state {1}'.format(ticket_type, ticket_state))
ticket_id = rpc.assignNextUnassignedForState(ticket_type, ticket_state, url, token, host, secret)
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)
generatePreroll(ticket)