diff --git a/IntegrationTest.py b/IntegrationTest.py index 81f07020..12c302a9 100644 --- a/IntegrationTest.py +++ b/IntegrationTest.py @@ -32,12 +32,15 @@ def dumpRepository( r ): print " Contributors:", ", ".join( u.login for u in r.get_contributors() ) print " Watchers:", ", ".join( u.login for u in r.get_watchers() ) print " Forks:", ", ".join( f.owner.login + "/" + f.name for f in r.get_forks() ) + print dumpUser( g.get_user() ) dumpUser( g.get_user( "nvie" ) ) dumpOrganization( g.get_organization( "github" ) ) dumpOrganization( g.get_organization( "BeaverSoftware" ) ) -dumpRepository( g.get_user( "nvie" ).get_repos()[ 0 ] ) +dumpRepository( g.get_user().get_repo( "C4Planner" ) ) +dumpRepository( g.get_user( "nvie" ).get_repo( "gitflow" ) ) +dumpRepository( g.get_organization( "BeaverSoftware" ).get_repo( "FatherBeaver" ) ) u = g.get_user() # print "Bio before:", u.bio diff --git a/Reference.md b/Reference.md index c70f46c9..affdf645 100644 --- a/Reference.md +++ b/Reference.md @@ -101,7 +101,7 @@ /repos/:user/:repo ================== - - GET: `` (TODO SOON) + - GET: `AuthenticatedUser.get_repo( name )`, `NamedUser.get_repo( name )` or `Organization.get_repo( name )`: `Repository` - PATCH: `Repository.edit( ... )` /repos/:user/:repo/branches diff --git a/github/GithubObjects.py b/github/GithubObjects.py index a4a84ccd..3bb3c247 100644 --- a/github/GithubObjects.py +++ b/github/GithubObjects.py @@ -81,5 +81,11 @@ AuthenticatedUser._addAttributePolicy( ListOfReferences( "repos", Repository ) ) NamedUser._addAttributePolicy( ListOfReferences( "repos", Repository ) ) Organization._addAttributePolicy( ListOfReferences( "repos", Repository ) ) +def __repoFromUser( user, name ): + return Repository( user._github, { "name": name, "owner": { "login": user.login } }, lazy = False ) +AuthenticatedUser._addAttributePolicy( MethodFromCallable( "get_repo", __repoFromUser ) ) +NamedUser._addAttributePolicy( MethodFromCallable( "get_repo", __repoFromUser ) ) +Organization._addAttributePolicy( MethodFromCallable( "get_repo", __repoFromUser ) ) + AuthenticatedUser._addAttributePolicy( ListOfReferences( "watched", Repository, addable = True, removable = True, hasable = True ) ) NamedUser._addAttributePolicy( ListOfReferences( "watched", Repository ) )