Skip to content

Instantly share code, notes, and snippets.

@shouro shouro/README.md
Last active May 24, 2019

Embed
What would you like to do?
This python script will list your public and private gist.

List git gist

This script will print the output in HTML format on stdout.

Console command

$ python list_your_gitgist.py > out.html

#!/usr/bin/env python
#Filename: list_your_gitgist.py
# List git gist | get git gist
# Lisence Under GPL2
# Author: Shouro Chowdhury and S.Mahbub-Uz-Zaman
import sys, traceback
import urllib2
import json
userName = 'your_user_name'
passWord = '******'
userData = ''
# No Authentication needed just call this method
def getPublicGist():
ghUrl = 'https://api.github.com/users/'+userName+'/gists' # GitHub API
handler = urllib2.urlopen(ghUrl).read() # type str
jData = json.loads(handler) # type list, contains dictionary
noOfGist = len(jData) # number of gist
printGists(noOfGist, jData)
# Authentication needed, call login() method before calling this method
def getPrivateGist(userData):
try:
request = urllib2.Request('https://api.github.com/gists') # create a new Urllib2 Request object
request.add_header('Authorization', userData)
handler = urllib2.urlopen(request).read()
jData = json.loads(handler) # type list, contains dictionary
noOfGist = len(jData) # number of gist
printGists(noOfGist, jData)
except Exception, err:
print 'Something BAD happend: ', err
#print traceback.format_exc()
sys.exit(0)
def login():
userData = "Basic " + (userName + ":" + passWord).encode("base64").rstrip() # encode username and password
return userData
def printGists(noOfGist, jData):
print '<html> <body> <h1>', userName,' </h1>'
for i in range (0, noOfGist):
print '<a '+'href=',jData[i][u'html_url'],' target="_blank" >'
temp = jData[i][u'files'].keys()
print 'Title: ',jData[i][u'files'][temp[0]][u'filename']
print '<br/>'
des = jData[i][u'description']
if (des == ('')):
print 'Description: '+'No description is available'
else:
print 'Description: ',des
print '</a>'
print '<br/>'
print '<br/>'
print '</body> </html>'
def main():
#userData = login()
#getPrivateGist(userData)
getPublicGist()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.