From 5fa7037bf460d2936c935f19968239d694378f51 Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Tue, 24 Apr 2012 08:44:11 +0200 Subject: Add Orgs Members API --- pygithub3/services/orgs/__init__.py | 5 ++ pygithub3/services/orgs/members.py | 91 +++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 pygithub3/services/orgs/members.py (limited to 'pygithub3/services/orgs') diff --git a/pygithub3/services/orgs/__init__.py b/pygithub3/services/orgs/__init__.py index c222956..6a75081 100644 --- a/pygithub3/services/orgs/__init__.py +++ b/pygithub3/services/orgs/__init__.py @@ -1,11 +1,16 @@ # -*- encoding: utf-8 -*- from pygithub3.services.base import Service +from .members import Members class Org(Service): """ Consume `Orgs API `_ """ + def __init__(self, **config): + self.members = Members(**config) + super(Org, self).__init__(**config) + def list(self, user=None): """ Get user's orgs diff --git a/pygithub3/services/orgs/members.py b/pygithub3/services/orgs/members.py new file mode 100644 index 0000000..3df4dab --- /dev/null +++ b/pygithub3/services/orgs/members.py @@ -0,0 +1,91 @@ +# -*- encoding: utf-8 -*- + +from . import Service + + +class Members(Service): + """ Consume `Members API `_ + """ + + def list(self, org): + """ Get org's members + + :param str org: Organisation name + :returns: A :doc:`result` + + If you call it authenticated, and are a member of the org, public and + private members will be visible. + + If not, only public members will be visible. + """ + request = self.request_builder('orgs.members.list', org=org) + return self._get_result(request) + + def is_member(self, org, user): + """ Determine if user is a member of org + + :param str org: Organisation name + :param str user: User name + """ + request = self.request_builder('orgs.members.get', org=org, user=user) + return self._bool(request) + + def remove_member(self, org, user): + """ Remove user from all teams in org + + :param str org: Organisation name + :param str user: User name + + .. warning :: + You must be authenticated and an owner of org + + """ + request = self.request_builder('orgs.members.get', org=org, user=user) + return self._delete(request) + + def list_public(self, org): + """ Get org's public members + + :param str org: Organisation name + :returns: A :doc:`result` + """ + request = self.request_builder('orgs.members.listpublic', org=org) + return self._get_result(request) + + def is_public_member(self, org, user): + """ Determine if user is a public member of org + + :param str org: Organisation name + :param str user: User name + """ + request = self.request_builder('orgs.members.getpublic', + org=org, user=user) + return self._bool(request) + + def publicize_membership(self, org, user): + """ Publicize user's membership in org + + :param str org: Organisation name + :param str user: User name + + .. warning :: + You must be authenticated and the user, or an owner of the org + + """ + request = self.request_builder('orgs.members.publicize', + org=org, user=user) + return self._put(request) + + def conceal_membership(self, org, user): + """ Conceal user's membership in org + + :param str org: Organisation name + :param str user: User name + + .. warning :: + You must be authenticated and the user, or an owner of the org + + """ + request = self.request_builder('orgs.members.conceal', + org=org, user=user) + return self._delete(request) -- cgit v1.2.3-59-g8ed1b