Как я могу найти все публичные репозитории в 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
(только публичные репо)