Как я могу найти все публичные репозитории в github, в которые пользователь вносит свой вклад?

Я использую библиотеку github3 python и пытаюсь найти все публичные репозитории, в которые пользователи нашей организации внесли свой вклад (чтобы вознаградить поддержку открытого исходного кода!).
У меня есть список пользователей для организации, но что теперь?
Могу ли я использовать итератор публичных событий для поиска репозиториев?

#!/usr/bin/env python
import argparse
import github3


def get_organization(github, name):
    for organization in github.iter_orgs():
        if organization.login == name:
            return organization


def main(args):
    github = github3.login(args.github_username, password=args.github_password)
    organization = get_organization(github, args.organization)

    # Get a list of all current organization contributors
    orgMembers = [member.login for member in organization.iter_members()]

# now what?  

1 ответ

Решение

Вы можете взять пример test_github.py:

def test_iter_user_repos(self):
    self.response('repo', _iter=True)
    self.get('https://api.github.com/users/sigmavirus24/repos')
    self.conf.update(params={'type': 'all', 'direction': 'desc'})

    next(self.g.iter_user_repos('sigmavirus24', 'all', direction='desc'))
    self.mock_assertions()

    self.conf.update(params={"sort": "created"})
    self.get('https://api.github.com/users/sigmavirus24/repos')

    assert isinstance(next(self.g.iter_user_repos('sigmavirus24', sort="created")),
                      github3.repos.Repository)
    self.mock_assertions()

Он основан на GitHub API, упомянутом в разделе " Как получить список всех репозиториев github человека?":

/users/:user/repos

(только публичные репо)

Другие вопросы по тегам