Source code for gerrit.changes.messages

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Jialiang Shi

from gerrit.utils.models import BaseModel


[docs] class GerritChangeMessage(BaseModel): def __init__(self, **kwargs): super().__init__(**kwargs) self.endpoint = f"/changes/{self.change}/messages/{self.id}"
[docs] def delete(self, input_=None): """ Deletes a change message. Note that only users with the Administrate Server global capability are permitted to delete a change message. .. code-block:: python input_ = { "reason": "spam" } change = client.changes.get('Project~stable~I10394472cbd17dd12454f229e4f6de00b143a444') message = change.messages.get("babf4c5dd53d7a11080696efa78830d0a07762e6") result = message.delete(input_) # or result = message.delete() :param input_: the DeleteChangeMessageInput entity, https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-change-message-input :return: """ if input_ is None: self.gerrit.delete(self.endpoint) else: result = self.gerrit.post( self.endpoint + "/delete", json=input_, headers=self.gerrit.default_headers, ) change = self.gerrit.changes.get(self.change) return change.messages.get(result.get("id"))
[docs] class GerritChangeMessages(object): def __init__(self, change, gerrit): self.change = change self.gerrit = gerrit self.endpoint = f"/changes/{self.change}/messages"
[docs] def list(self): """ Lists all the messages of a change including detailed account information. :return: """ result = self.gerrit.get(self.endpoint) return GerritChangeMessage.parse_list( result, change=self.change, gerrit=self.gerrit )
[docs] def get(self, id_): """ Retrieves a change message including detailed account information. :param id_: change message id :return: """ result = self.gerrit.get(self.endpoint + f"/{id_}") return GerritChangeMessage(json=result, change=self.change, gerrit=self.gerrit)