Mercurial > repos > bcclaywell > argo_navis
comparison venv/lib/python2.7/site-packages/github/Legacy.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 Steve English <steve.english@navetas.com> # | |
| 6 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> # | |
| 7 # Copyright 2012 Zearin <zearin@gonk.net> # | |
| 8 # Copyright 2013 AKFish <akfish@gmail.com> # | |
| 9 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.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 urlparse | |
| 29 | |
| 30 import github.PaginatedList | |
| 31 | |
| 32 | |
| 33 class PaginatedList(github.PaginatedList.PaginatedListBase): | |
| 34 def __init__(self, url, args, requester, key, convert, contentClass): | |
| 35 github.PaginatedList.PaginatedListBase.__init__(self) | |
| 36 self.__url = url | |
| 37 self.__args = args | |
| 38 self.__requester = requester | |
| 39 self.__key = key | |
| 40 self.__convert = convert | |
| 41 self.__contentClass = contentClass | |
| 42 self.__nextPage = 0 | |
| 43 self.__continue = True | |
| 44 | |
| 45 def _couldGrow(self): | |
| 46 return self.__continue | |
| 47 | |
| 48 def _fetchNextPage(self): | |
| 49 page = self.__nextPage | |
| 50 self.__nextPage += 1 | |
| 51 return self.get_page(page) | |
| 52 | |
| 53 def get_page(self, page): | |
| 54 assert isinstance(page, (int, long)), page | |
| 55 args = dict(self.__args) | |
| 56 if page != 0: | |
| 57 args["start_page"] = page + 1 | |
| 58 headers, data = self.__requester.requestJsonAndCheck( | |
| 59 "GET", | |
| 60 self.__url, | |
| 61 parameters=args | |
| 62 ) | |
| 63 self.__continue = len(data[self.__key]) > 0 | |
| 64 | |
| 65 return [ | |
| 66 self.__contentClass(self.__requester, headers, self.__convert(element), completed=False) | |
| 67 for element in data[self.__key] | |
| 68 ] | |
| 69 | |
| 70 | |
| 71 def convertUser(attributes): | |
| 72 convertedAttributes = { | |
| 73 "login": attributes["login"], | |
| 74 "url": "/users/" + attributes["login"], | |
| 75 } | |
| 76 if "gravatar_id" in attributes: # pragma no branch | |
| 77 convertedAttributes["gravatar_id"] = attributes["gravatar_id"] | |
| 78 if "followers" in attributes: # pragma no branch | |
| 79 convertedAttributes["followers"] = attributes["followers"] | |
| 80 if "repos" in attributes: # pragma no branch | |
| 81 convertedAttributes["public_repos"] = attributes["repos"] | |
| 82 if "name" in attributes: # pragma no branch | |
| 83 convertedAttributes["name"] = attributes["name"] | |
| 84 if "created_at" in attributes: # pragma no branch | |
| 85 convertedAttributes["created_at"] = attributes["created_at"] | |
| 86 if "location" in attributes: # pragma no branch | |
| 87 convertedAttributes["location"] = attributes["location"] | |
| 88 return convertedAttributes | |
| 89 | |
| 90 | |
| 91 def convertRepo(attributes): | |
| 92 convertedAttributes = { | |
| 93 "owner": {"login": attributes["owner"], "url": "/users/" + attributes["owner"]}, | |
| 94 "url": "/repos/" + attributes["owner"] + "/" + attributes["name"], | |
| 95 } | |
| 96 if "pushed_at" in attributes: # pragma no branch | |
| 97 convertedAttributes["pushed_at"] = attributes["pushed_at"] | |
| 98 if "homepage" in attributes: # pragma no branch | |
| 99 convertedAttributes["homepage"] = attributes["homepage"] | |
| 100 if "created_at" in attributes: # pragma no branch | |
| 101 convertedAttributes["created_at"] = attributes["created_at"] | |
| 102 if "watchers" in attributes: # pragma no branch | |
| 103 convertedAttributes["watchers"] = attributes["watchers"] | |
| 104 if "has_downloads" in attributes: # pragma no branch | |
| 105 convertedAttributes["has_downloads"] = attributes["has_downloads"] | |
| 106 if "fork" in attributes: # pragma no branch | |
| 107 convertedAttributes["fork"] = attributes["fork"] | |
| 108 if "has_issues" in attributes: # pragma no branch | |
| 109 convertedAttributes["has_issues"] = attributes["has_issues"] | |
| 110 if "has_wiki" in attributes: # pragma no branch | |
| 111 convertedAttributes["has_wiki"] = attributes["has_wiki"] | |
| 112 if "forks" in attributes: # pragma no branch | |
| 113 convertedAttributes["forks"] = attributes["forks"] | |
| 114 if "size" in attributes: # pragma no branch | |
| 115 convertedAttributes["size"] = attributes["size"] | |
| 116 if "private" in attributes: # pragma no branch | |
| 117 convertedAttributes["private"] = attributes["private"] | |
| 118 if "open_issues" in attributes: # pragma no branch | |
| 119 convertedAttributes["open_issues"] = attributes["open_issues"] | |
| 120 if "description" in attributes: # pragma no branch | |
| 121 convertedAttributes["description"] = attributes["description"] | |
| 122 if "language" in attributes: # pragma no branch | |
| 123 convertedAttributes["language"] = attributes["language"] | |
| 124 if "name" in attributes: # pragma no branch | |
| 125 convertedAttributes["name"] = attributes["name"] | |
| 126 return convertedAttributes | |
| 127 | |
| 128 | |
| 129 def convertIssue(attributes): | |
| 130 convertedAttributes = { | |
| 131 "number": attributes["number"], | |
| 132 "url": "/repos" + urlparse.urlparse(attributes["html_url"]).path, | |
| 133 "user": {"login": attributes["user"], "url": "/users/" + attributes["user"]}, | |
| 134 } | |
| 135 if "labels" in attributes: # pragma no branch | |
| 136 convertedAttributes["labels"] = [{"name": label} for label in attributes["labels"]] | |
| 137 if "title" in attributes: # pragma no branch | |
| 138 convertedAttributes["title"] = attributes["title"] | |
| 139 if "created_at" in attributes: # pragma no branch | |
| 140 convertedAttributes["created_at"] = attributes["created_at"] | |
| 141 if "comments" in attributes: # pragma no branch | |
| 142 convertedAttributes["comments"] = attributes["comments"] | |
| 143 if "body" in attributes: # pragma no branch | |
| 144 convertedAttributes["body"] = attributes["body"] | |
| 145 if "updated_at" in attributes: # pragma no branch | |
| 146 convertedAttributes["updated_at"] = attributes["updated_at"] | |
| 147 if "state" in attributes: # pragma no branch | |
| 148 convertedAttributes["state"] = attributes["state"] | |
| 149 return convertedAttributes |
