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:
|
||||
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:
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue