From 77b390ddf56e5f6c8af0b1ff51c8f531b213abaf Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Feb 03 2017 14:30:48 +0000 Subject: switch from comma delimited string to yaml list for datagrepper_query filters Signed-off-by: Adam Miller --- diff --git a/ansible/datagrepperdemo2.yml b/ansible/datagrepperdemo2.yml index 1fbb1e3..b708f51 100644 --- a/ansible/datagrepperdemo2.yml +++ b/ansible/datagrepperdemo2.yml @@ -6,7 +6,7 @@ datagrepper_query: url: "https://apps.fedoraproject.org/datagrepper/raw" topic: "org.fedoraproject.prod.buildsys.tag" - filters: "user==containerbuild" + filters: ["user==containerbuild"] register: query_data - debug: var="query_data['data'][0]" diff --git a/ansible/library/datagrepper_query.py b/ansible/library/datagrepper_query.py index 0de23d0..c1b0bfe 100755 --- a/ansible/library/datagrepper_query.py +++ b/ansible/library/datagrepper_query.py @@ -45,8 +45,8 @@ options: required: false filters: description: - - comma separated string of filters to apply to the datagrepper query - request all available. Default is None. Filter reference: + - list of filters to apply to the datagrepper query request all available. + Default is emtpy list. Filter reference: https://apps.fedoraproject.org/datagrepper/reference default: 1 required: false @@ -66,7 +66,7 @@ EXAMPLES = ''' url: https://apps.fedoraproject.org/datagrepper/raw delta: 1209600 pages: 1 - filters: "user==containerbuild" + filters: ["user==containerbuild"] ''' import requests @@ -79,7 +79,7 @@ def main(): topic=dict(required=True, default=None), delta=dict(required=False, type="int", default=0), pages=dict(required=False, type="int", default=1), - filters=dict(required=False, default=None) + filters=dict(required=False, type="list", default=[]) ), supports_check_mode=False ) @@ -94,9 +94,10 @@ def main(): if module.params['delta'] > 0: request_params['delta'] = module.params['delta'] - if module.params['filters']: + filter_args = [ fa.strip() for fa in module.params['filters']] + if filter_args: try: - for filter_arg in module.params['filters'].split(','): + for filter_arg in filter_args: key, val = filter_arg.split('==') request_params[key] = val except ValueError: