diff --git a/maap/maap.py b/maap/maap.py index 294321d..7c82c8b 100644 --- a/maap/maap.py +++ b/maap/maap.py @@ -818,16 +818,27 @@ def show(self, granule, display_config={}): viz.show() # OGC-compliant endpoint functions - def list_algorithms(self): + def list_algorithms(self, deployer=None, algorithm_name=None, algorithm_version=None): """ - Search all OGC processes - :return: Response object with all deployed processes + Search all OGC processes, can filter by the deployer, algorithm name, and algorithm version + :return: Response json with all deployed processes (filtered if requested) """ headers = self._get_api_header() logger.debug('GET request sent to {}'.format(self.config.processes_ogc)) + params = { + k: v + for k, v in ( + ("deployer", deployer), + ("algorithmName", algorithm_name), + ("algorithmVersion", algorithm_version), + ) + if v is not None + } + response = requests.get( url=self.config.processes_ogc, + params=params, headers=headers ) return response