Works with new repos. Still need to make it update existing repos. As of
right now, it will just fail because git will fail to clone into a non-empty directory.
This commit is contained in:
parent
8781e10f1a
commit
a248ae726d
1 changed files with 15 additions and 1 deletions
|
@ -1,12 +1,26 @@
|
|||
#!/usr/bin/env python3
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Author: Anthony Gargiulo (anthony@agargiulo.com)
|
||||
# Created Fri Jun 15 2012
|
||||
|
||||
from pygithub3 import Github
|
||||
from argparse import ArgumentParser
|
||||
import os
|
||||
|
||||
# A sane way to handle command line args.
|
||||
parser = ArgumentParser(description="makes a local backup copy of all of a github user's repositories")
|
||||
parser.add_argument("username", help="A Github username")
|
||||
parser.add_argument("backupdir", help="The folder where you want your backups to go", default="./backups")
|
||||
parser.add_argument("-v","--verbose", help="Produces more output", action="store_true")
|
||||
|
||||
# Now actually store the args
|
||||
args = parser.parse_args()
|
||||
|
||||
# Make the connection to Github here.
|
||||
gh = Github()
|
||||
|
||||
# Get all of the given user's repos
|
||||
user_repos = gh.repos.list(args.username).all()
|
||||
print user_repos[0].__dict__
|
||||
for repo in user_repos:
|
||||
os.system('git clone {} {}/{}'.format(repo.git_url, args.backupdir, repo.name))
|
||||
|
|
Loading…
Add table
Reference in a new issue