1
0
Fork 0
mirror of https://github.com/clockfort/GitHub-Backup.git synced 2025-03-16 00:00:06 +01:00
GitHub-Backup/github-backup.py
2012-06-23 14:59:50 -04:00

31 lines
1,020 B
Python
Executable file

#!/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
def main():
# 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))
if __name__ == "__main__":
main()
print("foobar")