From b12b6ffdfa6f1cca89459438eff6d3420ed199e9 Mon Sep 17 00:00:00 2001 From: Vincent Jacques Date: Mon, 12 Mar 2012 21:48:27 +0100 Subject: [PATCH] AuthenticatedUser.get_organization_events --- IntegrationTest.py | 2 ++ ReferenceOfApis.md | 2 +- github/Github.UnitTest.py | 8 ++++++++ github/GithubObjects.py | 10 ++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/IntegrationTest.py b/IntegrationTest.py index 73675ce9..440593f5 100644 --- a/IntegrationTest.py +++ b/IntegrationTest.py @@ -320,6 +320,8 @@ class IntegrationTest: self.printList( "Organization events", self.g.get_organization( self.cobayeOrganization ).get_events(), lambda e: e.type ) self.printList( "User events", self.g.get_user().get_events(), lambda e: e.type ) + o = self.g.get_organization( self.cobayeOrganization ) + self.printList( "Organization events", self.g.get_user().get_organization_events( o ), lambda e: e.type ) self.printList( "Repo events", self.g.get_user().get_repo( "TestPyGithub" ).get_events(), lambda e: e.type ) self.printList( "Repo issues events", self.g.get_user().get_repo( "TestPyGithub" ).get_issues_events(), lambda e: e.event ) diff --git a/ReferenceOfApis.md b/ReferenceOfApis.md index 5aed45d0..242c91f7 100644 --- a/ReferenceOfApis.md +++ b/ReferenceOfApis.md @@ -455,7 +455,7 @@ API `/users/:user/events` API `/users/:user/events/orgs/:org` =================================== -* GET: (TODO SOON) +* GET: `AuthenticatedUser.get_organization_events` API `/users/:user/events/public` ================================ diff --git a/github/Github.UnitTest.py b/github/Github.UnitTest.py index a58a9d36..9a8bc589 100644 --- a/github/Github.UnitTest.py +++ b/github/Github.UnitTest.py @@ -83,4 +83,12 @@ class TestCase( unittest.TestCase ): r = self.g.get_user().get_repo( "yyy" ) r.get_network_events() + def testOrgEvents( self ): + self.requester.expect.dataRequest( "GET", "/orgs/ooo", None, None ).andReturn( { "login": "ooo" } ) + self.requester.expect.dataRequest( "GET", "/user", None, None ).andReturn( { "login": "xxx" } ) + self.requester.expect.dataRequest( "GET", "/users/xxx/events/orgs/ooo", None, None ).andReturn( [] ) + u = self.g.get_user() + o = self.g.get_organization( "ooo" ) + u.get_organization_events( o ) + unittest.main() diff --git a/github/GithubObjects.py b/github/GithubObjects.py index a1af0dc6..51deea5f 100644 --- a/github/GithubObjects.py +++ b/github/GithubObjects.py @@ -191,6 +191,16 @@ NamedUser._addAttributePolicy( ) ) +def __getOrganizationEvents( user, org ): + return [ + Event( user._github, attributes, lazy = True ) + for attributes + in user._github._dataRequest( "GET", "/users/" + user.login + "/events/orgs/" + org.login, None, None ) + ] +AuthenticatedUser._addAttributePolicy( + MethodFromCallable( "get_organization_events", [ "org" ], [], __getOrganizationEvents, SimpleTypePolicy( "list of `Event`" ) ) +) + GitRef = GithubObject( "GitRef", BaseUrl( lambda obj: obj._repo._baseUrl + "/git/" + obj.ref ),