mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 10:51:14 +00:00
Merge Label type stub back to source (#2652)
This commit is contained in:
+18
-42
@@ -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"])
|
||||
|
||||
@@ -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: ...
|
||||
Reference in New Issue
Block a user