Created
November 29, 2018 03:34
-
-
Save byjg/375c3365c16e1f7598e195ec30cbd663 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
""" Print all of the clone-urls for a GitHub organization. | |
It requires the pygithub3 module, which you can install like this: | |
$ sudo yum -y install python-virtualenv | |
$ mkdir scratch | |
$ cd scratch | |
$ virtualenv my-virtualenv | |
$ source my-virtualenv/bin/activate | |
$ pip install pygithub3 | |
Usage example:: | |
$ python list-all-repos.py | |
Advanced usage. This will actually clone all the repos for a | |
GitHub organization or user:: | |
$ for url in $(python list-all-repos.py); do git clone $url; done | |
""" | |
import pygithub3 | |
gh = None | |
def gather_clone_urls(organization, no_forks=True): | |
all_repos = gh.repos.list(user=organization).all() | |
for repo in all_repos: | |
# Don't print the urls for repos that are forks. | |
if no_forks and repo.fork: | |
continue | |
yield repo | |
if __name__ == '__main__': | |
gh = pygithub3.Github() | |
repos = gather_clone_urls("byjg") | |
for repo in repos: | |
print repo.clone_url | |
print repo.description | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment