Merge Label type stub back to source (#2652)

This commit is contained in:
Trim21
2023-08-18 07:57:36 +02:00
committed by GitHub
parent 99fb022124
commit d7b02f9d02
2 changed files with 18 additions and 62 deletions
+18 -42
View File
@@ -28,79 +28,61 @@
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
import urllib.parse
from typing import Any, Dict
import github.GithubObject
from . import Consts
from github import Consts
from github.GithubObject import Attribute, CompletableGithubObject, NotSet, Opt, is_optional
class Label(github.GithubObject.CompletableGithubObject):
class Label(CompletableGithubObject):
"""
This class represents Labels. The reference can be found here https://docs.github.com/en/rest/reference/issues#labels
"""
def _initAttributes(self) -> None:
self._color: Attribute[str] = NotSet
self._description: Attribute[str] = NotSet
self._name: Attribute[str] = NotSet
self._url: Attribute[str] = NotSet
def __repr__(self) -> str:
return self.get__repr__({"name": self._name.value})
@property
def color(self):
"""
:type: string
"""
def color(self) -> str:
self._completeIfNotSet(self._color)
return self._color.value
@property
def description(self):
"""
:type: string
"""
def description(self) -> str:
self._completeIfNotSet(self._description)
return self._description.value
@property
def name(self):
"""
:type: string
"""
def name(self) -> str:
self._completeIfNotSet(self._name)
return self._name.value
@property
def url(self):
"""
:type: string
"""
def url(self) -> str:
self._completeIfNotSet(self._url)
return self._url.value
def delete(self):
def delete(self) -> None:
"""
:calls: `DELETE /repos/{owner}/{repo}/labels/{name} <https://docs.github.com/en/rest/reference/issues#labels>`_
:rtype: None
"""
headers, data = self._requester.requestJsonAndCheck("DELETE", self.url)
def edit(self, name, color, description=github.GithubObject.NotSet):
def edit(self, name: str, color: str, description: Opt[str] = NotSet) -> None:
"""
:calls: `PATCH /repos/{owner}/{repo}/labels/{name} <https://docs.github.com/en/rest/reference/issues#labels>`_
:param name: string
:param color: string
:param description: string
:rtype: None
"""
assert isinstance(name, str), name
assert isinstance(color, str), color
assert description is github.GithubObject.NotSet or isinstance(description, str), description
post_parameters = {
"new_name": name,
"color": color,
}
if description is not github.GithubObject.NotSet:
post_parameters["description"] = description
assert is_optional(description, str), description
post_parameters = NotSet.remove_unset_items({"new_name": name, "color": color, "description": description})
headers, data = self._requester.requestJsonAndCheck(
"PATCH",
self.url,
@@ -110,15 +92,9 @@ class Label(github.GithubObject.CompletableGithubObject):
self._useAttributes(data)
@property
def _identity(self):
def _identity(self) -> str:
return urllib.parse.quote(self.name)
def _initAttributes(self) -> None:
self._color = github.GithubObject.NotSet
self._description = github.GithubObject.NotSet
self._name = github.GithubObject.NotSet
self._url = github.GithubObject.NotSet
def _useAttributes(self, attributes: Dict[str, Any]) -> None:
if "color" in attributes: # pragma no branch
self._color = self._makeStringAttribute(attributes["color"])
-20
View File
@@ -1,20 +0,0 @@
from typing import Any, Dict, Optional, Union
from github.GithubObject import CompletableGithubObject, _NotSetType
class Label(CompletableGithubObject):
def __repr__(self) -> str: ...
@property
def _identity(self) -> str: ...
def _initAttributes(self) -> None: ...
def _useAttributes(self, attributes: Dict[str, Any]) -> None: ...
@property
def color(self) -> str: ...
def delete(self) -> None: ...
@property
def description(self) -> Optional[str]: ...
def edit(self, name: str, color: str, description: Union[str, _NotSetType] = ...) -> None: ...
@property
def name(self) -> str: ...
@property
def url(self) -> str: ...