public
Last active — forked from joneskoo/gist-backup.py

Clone or update a user's gists locally

  • Download Gist
gist-backup.py
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#!/usr/bin/env python
# Clone or update all a user's gists
# curl -ks https://raw.github.com/gist/1622504/gist-backup.py | python
# curl -ks https://raw.github.com/gist/1622504/gist-backup.py | USER=nicerobot python
 
import json
import urllib
from subprocess import call
from urllib import urlopen
import os
USER = os.environ['USER']
 
u = urlopen('https://gist.github.com/api/v1/json/gists/' + USER)
gists = json.load(u)['gists']
startd = os.getcwd()
 
for gist in gists:
gistd = gist['repo']
if os.path.isdir(gistd):
os.chdir(gistd)
call(['git', 'pull', 'git://gist.github.com/' + gistd + '.git'])
os.chdir(startd)
else:
call(['git', 'clone', 'git://gist.github.com/' + gistd + '.git'])

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.