Mercurial > repos > bcclaywell > argo_navis
comparison venv/lib/python2.7/site-packages/github/Team.py @ 0:d67268158946 draft
planemo upload commit a3f181f5f126803c654b3a66dd4e83a48f7e203b
| author | bcclaywell |
|---|---|
| date | Mon, 12 Oct 2015 17:43:33 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:d67268158946 |
|---|---|
| 1 # -*- coding: utf-8 -*- | |
| 2 | |
| 3 # ########################## Copyrights and license ############################ | |
| 4 # # | |
| 5 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> # | |
| 6 # Copyright 2012 Zearin <zearin@gonk.net> # | |
| 7 # Copyright 2013 AKFish <akfish@gmail.com> # | |
| 8 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> # | |
| 9 # Copyright 2013 martinqt <m.ki2@laposte.net> # | |
| 10 # # | |
| 11 # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ # | |
| 12 # # | |
| 13 # PyGithub is free software: you can redistribute it and/or modify it under # | |
| 14 # the terms of the GNU Lesser General Public License as published by the Free # | |
| 15 # Software Foundation, either version 3 of the License, or (at your option) # | |
| 16 # any later version. # | |
| 17 # # | |
| 18 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # | |
| 19 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # | |
| 20 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # | |
| 21 # details. # | |
| 22 # # | |
| 23 # You should have received a copy of the GNU Lesser General Public License # | |
| 24 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>. # | |
| 25 # # | |
| 26 # ############################################################################## | |
| 27 | |
| 28 import github.GithubObject | |
| 29 import github.PaginatedList | |
| 30 | |
| 31 import github.Repository | |
| 32 import github.NamedUser | |
| 33 | |
| 34 | |
| 35 class Team(github.GithubObject.CompletableGithubObject): | |
| 36 """ | |
| 37 This class represents Teams. The reference can be found here http://developer.github.com/v3/orgs/teams/ | |
| 38 """ | |
| 39 | |
| 40 @property | |
| 41 def id(self): | |
| 42 """ | |
| 43 :type: integer | |
| 44 """ | |
| 45 self._completeIfNotSet(self._id) | |
| 46 return self._id.value | |
| 47 | |
| 48 @property | |
| 49 def members_count(self): | |
| 50 """ | |
| 51 :type: integer | |
| 52 """ | |
| 53 self._completeIfNotSet(self._members_count) | |
| 54 return self._members_count.value | |
| 55 | |
| 56 @property | |
| 57 def members_url(self): | |
| 58 """ | |
| 59 :type: string | |
| 60 """ | |
| 61 self._completeIfNotSet(self._members_url) | |
| 62 return self._members_url.value | |
| 63 | |
| 64 @property | |
| 65 def name(self): | |
| 66 """ | |
| 67 :type: string | |
| 68 """ | |
| 69 self._completeIfNotSet(self._name) | |
| 70 return self._name.value | |
| 71 | |
| 72 @property | |
| 73 def permission(self): | |
| 74 """ | |
| 75 :type: string | |
| 76 """ | |
| 77 self._completeIfNotSet(self._permission) | |
| 78 return self._permission.value | |
| 79 | |
| 80 @property | |
| 81 def repos_count(self): | |
| 82 """ | |
| 83 :type: integer | |
| 84 """ | |
| 85 self._completeIfNotSet(self._repos_count) | |
| 86 return self._repos_count.value | |
| 87 | |
| 88 @property | |
| 89 def repositories_url(self): | |
| 90 """ | |
| 91 :type: string | |
| 92 """ | |
| 93 self._completeIfNotSet(self._repositories_url) | |
| 94 return self._repositories_url.value | |
| 95 | |
| 96 @property | |
| 97 def slug(self): | |
| 98 """ | |
| 99 :type: string | |
| 100 """ | |
| 101 self._completeIfNotSet(self._slug) | |
| 102 return self._slug.value | |
| 103 | |
| 104 @property | |
| 105 def url(self): | |
| 106 """ | |
| 107 :type: string | |
| 108 """ | |
| 109 self._completeIfNotSet(self._url) | |
| 110 return self._url.value | |
| 111 | |
| 112 def add_to_members(self, member): | |
| 113 """ | |
| 114 :calls: `PUT /teams/:id/members/:user <http://developer.github.com/v3/orgs/teams>`_ | |
| 115 :param member: :class:`github.NamedUser.NamedUser` | |
| 116 :rtype: None | |
| 117 """ | |
| 118 assert isinstance(member, github.NamedUser.NamedUser), member | |
| 119 headers, data = self._requester.requestJsonAndCheck( | |
| 120 "PUT", | |
| 121 self.url + "/members/" + member._identity | |
| 122 ) | |
| 123 | |
| 124 def add_to_repos(self, repo): | |
| 125 """ | |
| 126 :calls: `PUT /teams/:id/repos/:org/:repo <http://developer.github.com/v3/orgs/teams>`_ | |
| 127 :param repo: :class:`github.Repository.Repository` | |
| 128 :rtype: None | |
| 129 """ | |
| 130 assert isinstance(repo, github.Repository.Repository), repo | |
| 131 headers, data = self._requester.requestJsonAndCheck( | |
| 132 "PUT", | |
| 133 self.url + "/repos/" + repo._identity | |
| 134 ) | |
| 135 | |
| 136 def delete(self): | |
| 137 """ | |
| 138 :calls: `DELETE /teams/:id <http://developer.github.com/v3/orgs/teams>`_ | |
| 139 :rtype: None | |
| 140 """ | |
| 141 headers, data = self._requester.requestJsonAndCheck( | |
| 142 "DELETE", | |
| 143 self.url | |
| 144 ) | |
| 145 | |
| 146 def edit(self, name, permission=github.GithubObject.NotSet): | |
| 147 """ | |
| 148 :calls: `PATCH /teams/:id <http://developer.github.com/v3/orgs/teams>`_ | |
| 149 :param name: string | |
| 150 :param permission: string | |
| 151 :rtype: None | |
| 152 """ | |
| 153 assert isinstance(name, (str, unicode)), name | |
| 154 assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission | |
| 155 post_parameters = { | |
| 156 "name": name, | |
| 157 } | |
| 158 if permission is not github.GithubObject.NotSet: | |
| 159 post_parameters["permission"] = permission | |
| 160 headers, data = self._requester.requestJsonAndCheck( | |
| 161 "PATCH", | |
| 162 self.url, | |
| 163 input=post_parameters | |
| 164 ) | |
| 165 self._useAttributes(data) | |
| 166 | |
| 167 def get_members(self): | |
| 168 """ | |
| 169 :calls: `GET /teams/:id/members <http://developer.github.com/v3/orgs/teams>`_ | |
| 170 :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` | |
| 171 """ | |
| 172 return github.PaginatedList.PaginatedList( | |
| 173 github.NamedUser.NamedUser, | |
| 174 self._requester, | |
| 175 self.url + "/members", | |
| 176 None | |
| 177 ) | |
| 178 | |
| 179 def get_repos(self): | |
| 180 """ | |
| 181 :calls: `GET /teams/:id/repos <http://developer.github.com/v3/orgs/teams>`_ | |
| 182 :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` | |
| 183 """ | |
| 184 return github.PaginatedList.PaginatedList( | |
| 185 github.Repository.Repository, | |
| 186 self._requester, | |
| 187 self.url + "/repos", | |
| 188 None | |
| 189 ) | |
| 190 | |
| 191 def has_in_members(self, member): | |
| 192 """ | |
| 193 :calls: `GET /teams/:id/members/:user <http://developer.github.com/v3/orgs/teams>`_ | |
| 194 :param member: :class:`github.NamedUser.NamedUser` | |
| 195 :rtype: bool | |
| 196 """ | |
| 197 assert isinstance(member, github.NamedUser.NamedUser), member | |
| 198 status, headers, data = self._requester.requestJson( | |
| 199 "GET", | |
| 200 self.url + "/members/" + member._identity | |
| 201 ) | |
| 202 return status == 204 | |
| 203 | |
| 204 def has_in_repos(self, repo): | |
| 205 """ | |
| 206 :calls: `GET /teams/:id/repos/:owner/:repo <http://developer.github.com/v3/orgs/teams>`_ | |
| 207 :param repo: :class:`github.Repository.Repository` | |
| 208 :rtype: bool | |
| 209 """ | |
| 210 assert isinstance(repo, github.Repository.Repository), repo | |
| 211 status, headers, data = self._requester.requestJson( | |
| 212 "GET", | |
| 213 self.url + "/repos/" + repo._identity | |
| 214 ) | |
| 215 return status == 204 | |
| 216 | |
| 217 def remove_from_members(self, member): | |
| 218 """ | |
| 219 :calls: `DELETE /teams/:id/members/:user <http://developer.github.com/v3/orgs/teams>`_ | |
| 220 :param member: :class:`github.NamedUser.NamedUser` | |
| 221 :rtype: None | |
| 222 """ | |
| 223 assert isinstance(member, github.NamedUser.NamedUser), member | |
| 224 headers, data = self._requester.requestJsonAndCheck( | |
| 225 "DELETE", | |
| 226 self.url + "/members/" + member._identity | |
| 227 ) | |
| 228 | |
| 229 def remove_from_repos(self, repo): | |
| 230 """ | |
| 231 :calls: `DELETE /teams/:id/repos/:owner/:repo <http://developer.github.com/v3/orgs/teams>`_ | |
| 232 :param repo: :class:`github.Repository.Repository` | |
| 233 :rtype: None | |
| 234 """ | |
| 235 assert isinstance(repo, github.Repository.Repository), repo | |
| 236 headers, data = self._requester.requestJsonAndCheck( | |
| 237 "DELETE", | |
| 238 self.url + "/repos/" + repo._identity | |
| 239 ) | |
| 240 | |
| 241 @property | |
| 242 def _identity(self): | |
| 243 return self.id | |
| 244 | |
| 245 def _initAttributes(self): | |
| 246 self._id = github.GithubObject.NotSet | |
| 247 self._members_count = github.GithubObject.NotSet | |
| 248 self._members_url = github.GithubObject.NotSet | |
| 249 self._name = github.GithubObject.NotSet | |
| 250 self._permission = github.GithubObject.NotSet | |
| 251 self._repos_count = github.GithubObject.NotSet | |
| 252 self._repositories_url = github.GithubObject.NotSet | |
| 253 self._slug = github.GithubObject.NotSet | |
| 254 self._url = github.GithubObject.NotSet | |
| 255 | |
| 256 def _useAttributes(self, attributes): | |
| 257 if "id" in attributes: # pragma no branch | |
| 258 self._id = self._makeIntAttribute(attributes["id"]) | |
| 259 if "members_count" in attributes: # pragma no branch | |
| 260 self._members_count = self._makeIntAttribute(attributes["members_count"]) | |
| 261 if "members_url" in attributes: # pragma no branch | |
| 262 self._members_url = self._makeStringAttribute(attributes["members_url"]) | |
| 263 if "name" in attributes: # pragma no branch | |
| 264 self._name = self._makeStringAttribute(attributes["name"]) | |
| 265 if "permission" in attributes: # pragma no branch | |
| 266 self._permission = self._makeStringAttribute(attributes["permission"]) | |
| 267 if "repos_count" in attributes: # pragma no branch | |
| 268 self._repos_count = self._makeIntAttribute(attributes["repos_count"]) | |
| 269 if "repositories_url" in attributes: # pragma no branch | |
| 270 self._repositories_url = self._makeStringAttribute(attributes["repositories_url"]) | |
| 271 if "slug" in attributes: # pragma no branch | |
| 272 self._slug = self._makeStringAttribute(attributes["slug"]) | |
| 273 if "url" in attributes: # pragma no branch | |
| 274 self._url = self._makeStringAttribute(attributes["url"]) |
