mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
Add 4 (failing) tests for legacy search API (issue #49)
Naïve implementation done in this commit will not work: - pagination is managed another way - users, repositories and issues do not have the standard format
This commit is contained in:
+35
-3
@@ -17,6 +17,7 @@ import NamedUser
|
||||
import Organization
|
||||
import Gist
|
||||
import PaginatedList
|
||||
import Repository
|
||||
|
||||
class Github( object ):
|
||||
def __init__( self, login_or_token = None, password = None ):
|
||||
@@ -66,10 +67,41 @@ class Github( object ):
|
||||
)
|
||||
|
||||
def search_repos( self, keyword ):
|
||||
pass
|
||||
assert isinstance( keyword, ( str, unicode ) ), keyword
|
||||
headers, data = self.__requester.requestAndCheck(
|
||||
"GET",
|
||||
"https://api.github.com/legacy/repos/search/" + keyword,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Repository.Repository,
|
||||
self.__requester,
|
||||
headers,
|
||||
data[ "repositories" ]
|
||||
)
|
||||
|
||||
def search_users( self, keyword ):
|
||||
pass
|
||||
assert isinstance( keyword, ( str, unicode ) ), keyword
|
||||
headers, data = self.__requester.requestAndCheck(
|
||||
"GET",
|
||||
"https://api.github.com/legacy/user/search/" + keyword,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
NamedUser.NamedUser,
|
||||
self.__requester,
|
||||
headers,
|
||||
data[ "users" ]
|
||||
)
|
||||
|
||||
def search_user_by_email( self, email ):
|
||||
pass
|
||||
assert isinstance( email, ( str, unicode ) ), email
|
||||
headers, data = self.__requester.requestAndCheck(
|
||||
"GET",
|
||||
"https://api.github.com/legacy/user/email/" + email,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return NamedUser.NamedUser( self.__requester, data[ "user" ], completed = False )
|
||||
|
||||
+14
-1
@@ -1003,7 +1003,20 @@ class Repository( GithubObject.GithubObject ):
|
||||
)
|
||||
|
||||
def search_issues( self, state, keyword ):
|
||||
pass
|
||||
assert state in [ "open", "closed" ], state
|
||||
assert isinstance( keyword, ( str, unicode ) ), keyword
|
||||
headers, data = self._requester.requestAndCheck(
|
||||
"GET",
|
||||
"https://api.github.com/legacy/issues/search/" + self.owner.login + "/" + self.name + "/" + state + "/" + keyword,
|
||||
None,
|
||||
None
|
||||
)
|
||||
return PaginatedList.PaginatedList(
|
||||
Issue.Issue,
|
||||
self._requester,
|
||||
headers,
|
||||
data[ "issues" ]
|
||||
)
|
||||
|
||||
@property
|
||||
def _identity( self ):
|
||||
|
||||
Reference in New Issue
Block a user