support room filter
This commit is contained in:
parent
658691c0a7
commit
bc4c29f8b6
2 changed files with 15 additions and 5 deletions
|
@ -49,14 +49,20 @@ def C3TClient(url, method, group, host, secret, args):
|
||||||
if len(args) > 0:
|
if len(args) > 0:
|
||||||
i = 0
|
i = 0
|
||||||
while i < len(args):
|
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):
|
if i < (len(args) -1):
|
||||||
sig_args = sig_args + "&"
|
sig_args = sig_args + "&"
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
##### quote URL and generate the hash
|
##### quote URL and generate the hash
|
||||||
#hash signature
|
#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
|
#### generate the hmac hash with key
|
||||||
hash = hmac.new(bytes(secret, 'utf-8'), bytes(sig_args_enc, 'utf-8'), hashlib.sha256)
|
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))
|
return str(open_rpc("C3TT.getVersion",tmp_args))
|
||||||
|
|
||||||
### check for new ticket on tracker an get assignement
|
### check for new ticket on tracker an get assignement
|
||||||
def assignNextUnassignedForState(from_state, to_state, url, group, host, secret):
|
def assignNextUnassignedForState(from_state, to_state, url, group, host, secret, filter = {}):
|
||||||
tmp_args = [from_state, to_state]
|
tmp_args = [from_state, to_state, filter]
|
||||||
xml = open_rpc("C3TT.assignNextUnassignedForState",tmp_args,url, group, host, secret)
|
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 get no xml there seems to be no ticket for this job
|
||||||
if xml == False:
|
if xml == False:
|
||||||
|
|
|
@ -20,13 +20,17 @@ url = os.environ['CRS_TRACKER']
|
||||||
token = os.environ['CRS_TOKEN']
|
token = os.environ['CRS_TOKEN']
|
||||||
secret = os.environ['CRS_SECRET']
|
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):
|
def generatePreroll(ticket):
|
||||||
print('generating preroll for', ticket)
|
print('generating preroll for', ticket)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
print('Asking RPC for {0}-tickets which are ready for state {1}'.format(ticket_type, ticket_state))
|
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:
|
if ticket_id != False:
|
||||||
ticket = rpc.getTicketProperties(str(ticket_id), url, token, host, secret)
|
ticket = rpc.getTicketProperties(str(ticket_id), url, token, host, secret)
|
||||||
generatePreroll(ticket)
|
generatePreroll(ticket)
|
||||||
|
|
Loading…
Add table
Reference in a new issue