De-hard-code repository in RepositoryKey.

Why is RepositoryKey the *only* class where PATCH and DELETE do not work on self.url?
This commit is contained in:
Vincent Jacques
2012-05-27 13:59:17 +01:00
parent b419859573
commit e1f32e233f
2 changed files with 11 additions and 6 deletions
+3 -3
View File
@@ -344,7 +344,7 @@ class Repository( object ):
None,
post_parameters
)
return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )
return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion, repoUrl = self.url )
def create_label( self, name, color ):
post_parameters = {
@@ -697,7 +697,7 @@ class Repository( object ):
None,
None
)
return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )
return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion, repoUrl = self.url )
def get_keys( self ):
status, headers, data = self.__requester.request(
@@ -707,7 +707,7 @@ class Repository( object ):
None
)
return PaginatedList.PaginatedList(
RepositoryKey.RepositoryKey,
lambda r, d, completion: RepositoryKey.RepositoryKey( r, d, completion, repoUrl = self.url ),
self.__requester,
headers,
data
+8 -3
View File
@@ -5,13 +5,18 @@ import PaginatedList
from GithubObject import *
class RepositoryKey( object ):
def __init__( self, requester, attributes, completion ):
def __init__( self, requester, attributes, completion, repoUrl ):
self.__requester = requester
self.__initAttributes()
self.__useAttributes( attributes )
self.__completed = completion != LazyCompletion
if completion == ImmediateCompletion:
self.__complete() # pragma: no cover
self.__repoUrl = repoUrl
@property
def __customUrl( self ):
return self.__repoUrl + "/keys/" + str( self.id )
@property
def id( self ):
@@ -41,7 +46,7 @@ class RepositoryKey( object ):
def delete( self ):
status, headers, data = self.__requester.request(
"DELETE",
"https://api.github.com/repos/jacquev6/PyGithub/keys/2626761",
self.__customUrl,
None,
None
)
@@ -55,7 +60,7 @@ class RepositoryKey( object ):
post_parameters[ "key" ] = key
status, headers, data = self.__requester.request(
"PATCH",
"https://api.github.com/repos/jacquev6/PyGithub/keys/2626761",
self.__customUrl,
None,
post_parameters
)