Source code for copr.v3.proxies.monitor

"""
APIv3 /monitor Python client code
"""

from copr.v3 import proxies
from copr.v3.requests import munchify
from copr.v3.helpers import for_all_methods, bind_proxy


[docs] @for_all_methods(bind_proxy) class MonitorProxy(proxies.BaseProxy): """ Proxy to process /api_3/monitor requests. """
[docs] def monitor(self, ownername, projectname, project_dirname=None, additional_fields=None): """ Return a list of project packages, and corresponding info for the latest chroot builds. :param str ownername: :param str projectname: :param str project_dirname: :param list additional_fields: List of additional fields to return in the dictionary. Possible values: ``url_build_log``, ``url_backend_log``, ``build_url``. Note that additional fields may significantly prolong the server response time. :return: Munch a list of dictionaries, formatted like:: { "name": package_name, "chroots": { "fedora-rawhide-x86_64": { "build_id": 843616, "status": "succeeded", ... fields ..., } }, } """ endpoint = "/monitor" params = { "ownername": ownername, "projectname": projectname, "project_dirname": project_dirname, "additional_fields[]": additional_fields, } response = self.request.send(endpoint=endpoint, params=params) return munchify(response)