This scripts worked perfect.
Thank You

/Jan


2013/9/16 Stephen Michael Kellat <[email protected]>

> On Sun, 15 Sep 2013 10:19:50 +0200
> Jan Friberg <[email protected]> wrote:
>
> > Hello
> > Can I in any way find out how many of our Locos member has the status
> > Ubuntu Member, and who they are.
> >
> > And also, how to find out who in the team has or has not signed CoC?
> >
> > /Jan
>
> There are two different scripts for this that require python-launchpadlib
> to be installed.
>
> Both of these code examples are written with Ubuntu Ohio in mind.  To
> adapt them for your community, swap in your group's name on Launchpad for
> instances of "ubuntu-us-ohio" below.  Both scripts output Launchpad
> usernames, mind you.  Neither script is quick so you may want to dump the
> output via a pipe to pastebinit and come back later to see what the result
> is.
>
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * *
>
> To check Code of Conduct status:
>
> #!/usr/bin/python
> # -*- Encoding: UTF-8 -*-
>
> import os
> import urllib2
> import json
>
> from launchpadlib.launchpad import Launchpad
>
> cachedir = os.path.expanduser('~/.launchpadlib/cache')
> lp = Launchpad.login_anonymously('skellat.loco-user-coc', 'production',
> cachedir)
>
> loco = lp.people['ubuntu-us-ohio']
>
> signed = 'SIGNED '
> not_signed = 'NOT SIGNED'
>
> for member_resource in loco.members:
>   req = urllib2.urlopen(str(member_resource))
>   member = json.loads(req.read())
>   print '%s %s (%s)' % (signed if member['is_ubuntu_coc_signer'] else
> not_signed,
>                         member['display_name'], member['web_link'])
>
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * *
>
> To determine who are members of both the Ubuntu Members group on Launchpad
> and members of your community:
>
> #!/usr/bin/python
> # -*- Encoding: UTF-8 -*-
> from launchpadlib.launchpad import Launchpad
>
> _get_team_members_done = [] # Cache of already fetched Launchpad teams
>
> def get_coc(team, user):
>     team = launchpad.people[team]
>     members = team.members_details
>     for member in members:
>         if member.member.name == user:
>             return is_ubuntu_coc_signer
>     return None
>
> def get_team_members(lp, team):
>     '''Get all members of a team and all sub-teams.
>     Returns a set of Person names
>     '''
>
>     if team in _get_team_members_done: # Don't fetch team members multiple
> times
>         return set()
>
>     _get_team_members_done.append(team)
>     team = lp.people[team]
>     members = set()
>
>     for member in team.members:
>         if not member.is_team:
>             members.add(member.name)
>         else: # Recurs into sub-teams
>             members.update(get_team_members(lp, member.name))
>
>     return members
>
>
> lp = Launchpad.login_anonymously('Membership COIN CHECK',
>     service_root='production', version='1.0')
>
> cloaks = get_team_members(lp, u'ubuntu-us-ohio')
> _get_team_members_done = [] # Clear the cache of retrieved teams
> members = get_team_members(lp, u'ubuntumembers')
>
> # The members printed are those who are no longer members of ~ubuntumembers
> print u'\n'.join(_ for _ in cloaks if _ in members)
>
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * *
>
> Special thanks go to Marco Ceppi and Unit193 for making those scripts
> available.
>
> Stephen Michael Kellat, MSLS
> Point of Contact/Leader, Ubuntu Ohio
>
>
> --
> loco-contacts mailing list
> [email protected]
> https://lists.ubuntu.com/mailman/listinfo/loco-contacts
>
-- 
loco-contacts mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/loco-contacts

Reply via email to