getList and small improv

This commit is contained in:
2019-03-11 13:25:39 +01:00
parent bb9ee9da8d
commit 6afbcb69f1
6 changed files with 64 additions and 42 deletions

View File

@@ -69,17 +69,15 @@ def runBackground(data, callback):
glob.pool.apply_async(func, args, kwargs, _callback)
def check_arguments(arguments, arguments_filter):
filter_pass = []
for k, v in arguments_filter.items():
if v == argumentTypes.optional:
filter_pass.append( arg_filter_and(arguments, k) )
return arg_filter_and(arguments, k)
elif v == argumentTypes.required:
filter_pass.append( arg_filter_require_all(arguments, k) )
return arg_filter_require_all(arguments, k)
elif v == argumentTypes.one_required:
filter_pass.append( arg_filter_first(arguments, k, False) )
return arg_filter_first(arguments, k, False)
elif v == argumentTypes.only_one:
filter_pass.append( arg_filter_only_one(arguments, k) )
return filter_pass
return arg_filter_only_one(arguments, k)
def arg_filter_and(arguments, filter, can_false = False):
arg_filter = []
@@ -104,7 +102,8 @@ def arg_filter_only_one(arguments, required):
return True if len(arg_filter) == 1 else False
def arg_filter_first(arguments, filter, optional = True):
arg_filter = []
for i in filter:
if i in arguments:
return i
return optional
arg_filter.append(i)
return arg_filter if len(arg_filter) else optional