Heavy refactoring of integration tests

This commit is contained in:
Vincent Jacques
2012-05-26 18:13:32 +01:00
parent 36574ded89
commit 60fb7a8ef5
122 changed files with 791 additions and 912 deletions
+22 -5
View File
@@ -87,17 +87,17 @@ class AuthenticatedUser( Framework.TestCase ):
def testFollowing( self ):
nvie = self.g.get_user( "nvie" )
self.assertEqual( self.user.get_following()[ 0 ].login, "schacon" )
self.assertListKeyEqual( self.user.get_following(), lambda u: u.login, [ "schacon", "jamis", "chad", "unclebob", "dabrahams", "jnorthrup", "brugidou", "regisb", "walidk", "tanzilli", "fjardon", "r3c", "sdanzan", "vineus", "cjuniet", "gturri", "ant9000", "asquini", "claudyus", "jardon-u", "s-bernard", "kamaradclimber", "Lyloa", "nvie" ] )
self.assertEqual( self.user.has_in_following( nvie ), True )
self.user.remove_from_following( nvie )
self.assertEqual( self.user.has_in_following( nvie ), False )
self.user.add_to_following( nvie )
self.assertEqual( self.user.has_in_following( nvie ), True )
self.assertEqual( self.user.get_followers()[ 0 ].login, "jnorthrup" )
self.assertListKeyEqual( self.user.get_followers(), lambda u: u.login, [ "jnorthrup", "brugidou", "regisb", "walidk", "afzalkhan", "sdanzan", "vineus", "gturri", "fjardon", "cjuniet", "jardon-u", "kamaradclimber", "L42y" ] )
def testWatching( self ):
gitflow = self.g.get_user( "nvie" ).get_repo( "gitflow" )
self.assertEqual( self.user.get_watched()[ 0 ].name, "git" )
self.assertListKeyEqual( self.user.get_watched(), lambda r: r.name, [ "git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub" ] )
self.assertEqual( self.user.has_in_watched( gitflow ), True )
self.user.remove_from_watched( gitflow )
self.assertEqual( self.user.has_in_watched( gitflow ), False )
@@ -105,8 +105,7 @@ class AuthenticatedUser( Framework.TestCase ):
self.assertEqual( self.user.has_in_watched( gitflow ), True )
def testGetAuthorizations( self ):
authorization = self.user.get_authorizations()[ 0 ]
self.assertEqual( authorization.id, 372294 )
self.assertListKeyEqual( self.user.get_authorizations(), lambda a: a.id, [ 372294 ] )
def testCreateRepository( self ):
repo = self.user.create_repo( "TestPyGithub" )
@@ -115,3 +114,21 @@ class AuthenticatedUser( Framework.TestCase ):
def testCreateRepositoryWithAllArguments( self ):
repo = self.user.create_repo( "TestPyGithub", "Repo created by PyGithub", "http://foobar.com", private = False, has_issues = False, has_wiki = False, has_downloads = False )
self.assertEqual( repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub" )
def testCreateAuthorizationWithoutArguments( self ):
authorization = self.user.create_authorization()
self.assertEqual( authorization.id, 372259 )
def testCreateAuthorizationWithAllArguments( self ):
authorization = self.user.create_authorization( [ "repo" ], "Note created by PyGithub", "http://vincent-jacques.net/PyGithub" )
self.assertEqual( authorization.id, 372294 )
def testCreateGist( self ):
gist = self.user.create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } }, "Gist created by PyGithub" )
self.assertEquals( gist.description, "Gist created by PyGithub" )
self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo
def testCreateGistWithoutDescription( self ):
gist = self.user.create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } } )
self.assertEquals( gist.description, None )
self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo
+26 -33
View File
@@ -1,42 +1,35 @@
import Framework
class Authorization( Framework.TestCase ):
def testCreateWithoutArguments( self ):
authorization = self.g.get_user().create_authorization()
self.assertEqual( authorization.id, 372259 )
def testCreateWithAllArguments( self ):
authorization = self.g.get_user().create_authorization( [ "repo" ], "Note created by PyGithub", "http://vincent-jacques.net/PyGithub" )
self.assertEqual( authorization.id, 372294 )
def setUp( self ):
Framework.TestCase.setUp( self )
self.authorization = self.g.get_user().get_authorization( 372259 )
def testAttributes( self ):
authorization = self.g.get_user().get_authorization( 372259 )
self.assertEqual( authorization.app, {u'url': u'http://developer.github.com/v3/oauth/#oauth-authorizations-api', u'name': u'GitHub API'} ) ### @todo
self.assertEqual( authorization.created_at, "2012-05-22T18:03:17Z" )
self.assertEqual( authorization.id, 372259 )
self.assertEqual( authorization.note, None )
self.assertEqual( authorization.note_url, None )
self.assertEqual( authorization.scopes, [] )
self.assertEqual( authorization.token, "82459c4500086f8f0cc67d2936c17d1e27ad1c33" )
self.assertEqual( authorization.updated_at, "2012-05-22T18:03:17Z" )
self.assertEqual( authorization.url, "https://api.github.com/authorizations/372259" )
self.assertEqual( self.authorization.app, {u'url': u'http://developer.github.com/v3/oauth/#oauth-authorizations-api', u'name': u'GitHub API'} ) ### @todo
self.assertEqual( self.authorization.created_at, "2012-05-22T18:03:17Z" )
self.assertEqual( self.authorization.id, 372259 )
self.assertEqual( self.authorization.note, None )
self.assertEqual( self.authorization.note_url, None )
self.assertEqual( self.authorization.scopes, [] )
self.assertEqual( self.authorization.token, "82459c4500086f8f0cc67d2936c17d1e27ad1c33" )
self.assertEqual( self.authorization.updated_at, "2012-05-22T18:03:17Z" )
self.assertEqual( self.authorization.url, "https://api.github.com/authorizations/372259" )
def testEdit( self ):
authorization = self.g.get_user().get_authorization( 372259 )
authorization.edit()
self.assertEqual( authorization.scopes, [] )
authorization.edit( scopes = [ "user" ] )
self.assertEqual( authorization.scopes, [ "user" ] )
authorization.edit( add_scopes = [ "repo" ] )
self.assertEqual( authorization.scopes, [ "user", "repo" ] )
authorization.edit( remove_scopes = [ "repo" ] )
self.assertEqual( authorization.scopes, [ "user" ] )
self.assertEqual( authorization.note, None )
self.assertEqual( authorization.note_url, None )
authorization.edit( note = "Note created by PyGithub", note_url = "http://vincent-jacques.net/PyGithub" )
self.assertEqual( authorization.note, "Note created by PyGithub" )
self.assertEqual( authorization.note_url, "http://vincent-jacques.net/PyGithub" )
self.authorization.edit()
self.assertEqual( self.authorization.scopes, [] )
self.authorization.edit( scopes = [ "user" ] )
self.assertEqual( self.authorization.scopes, [ "user" ] )
self.authorization.edit( add_scopes = [ "repo" ] )
self.assertEqual( self.authorization.scopes, [ "user", "repo" ] )
self.authorization.edit( remove_scopes = [ "repo" ] )
self.assertEqual( self.authorization.scopes, [ "user" ] )
self.assertEqual( self.authorization.note, None )
self.assertEqual( self.authorization.note_url, None )
self.authorization.edit( note = "Note created by PyGithub", note_url = "http://vincent-jacques.net/PyGithub" )
self.assertEqual( self.authorization.note, "Note created by PyGithub" )
self.assertEqual( self.authorization.note_url, "http://vincent-jacques.net/PyGithub" )
def testDelete( self ):
authorization = self.g.get_user().get_authorization( 372259 )
authorization.delete()
self.authorization.delete()
+10
View File
@@ -0,0 +1,10 @@
import Framework
class Branch( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.branch = self.g.get_user().get_repo( "PyGithub" ).get_branches()[ 0 ]
def testAttributes( self ):
self.assertEqual( self.branch.name, "topic/RewriteWithGeneratedCode" )
self.assertEqual( self.branch.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
+53
View File
@@ -0,0 +1,53 @@
import Framework
class Commit( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.commit = self.g.get_user().get_repo( "PyGithub" ).get_branches()[ 0 ].commit
self.commit.author.login # to force lazy completion
def testAttributes( self ):
self.assertEqual( self.commit.author.login, "jacquev6" )
self.assertEqual( self.commit.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( self.commit.committer.login, "jacquev6" )
self.assertEqual( len( self.commit.files ), 1 )
self.assertEqual( self.commit.files[ 0 ].additions, 0 )
self.assertEqual( self.commit.files[ 0 ].blob_url, "https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" )
self.assertEqual( self.commit.files[ 0 ].changes, 20 )
self.assertEqual( self.commit.files[ 0 ].deletions, 20 )
self.assertEqual( self.commit.files[ 0 ].filename, "github/GithubObjects/GitAuthor.py" )
self.assertTrue( isinstance( self.commit.files[ 0 ].patch, ( str, unicode ) ) )
self.assertEqual( self.commit.files[ 0 ].raw_url, "https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" )
self.assertEqual( self.commit.files[ 0 ].sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( self.commit.files[ 0 ].status, "modified" )
self.assertEqual( len( self.commit.parents ), 1 )
self.assertEqual( self.commit.parents[ 0 ].sha, "b46ed0dfde5ad02d3b91eb54a41c5ed960710eae" )
self.assertEqual( self.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( self.commit.stats.deletions, 20 )
self.assertEqual( self.commit.stats.additions, 0 )
self.assertEqual( self.commit.stats.total, 20 )
self.assertEqual( self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
def testGetComments( self ):
self.assertListKeyEqual( self.commit.get_comments(), lambda c: c.id, [ 1347033, 1347083, 1347397, 1349654 ] )
def testCreateComment( self ):
comment = self.commit.create_comment( "Comment created by PyGithub" )
self.assertEqual( comment.id, 1361949 )
self.assertEqual( comment.line, None )
self.assertEqual( comment.path, None )
self.assertEqual( comment.position, None )
def testCreateCommentOnFileLine( self ):
comment = self.commit.create_comment( "Comment created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", line = 26 )
self.assertEqual( comment.id, 1362000 )
self.assertEqual( comment.line, 26 )
self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" )
self.assertEqual( comment.position, None )
def testCreateCommentOnFilePosition( self ):
comment = self.commit.create_comment( "Comment also created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", position = 3 )
self.assertEqual( comment.id, 1362001 )
self.assertEqual( comment.line, None )
self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" )
self.assertEqual( comment.position, 3 )
+25
View File
@@ -0,0 +1,25 @@
import Framework
class CommitComment( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.comment = self.g.get_user().get_repo( "PyGithub" ).get_comment( 1361949 )
def testAttributes( self ):
self.assertEqual( self.comment.body, "Comment created by PyGithub" )
self.assertEqual( self.comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" )
self.assertEqual( self.comment.created_at, "2012-05-22T18:40:18Z" )
self.assertEqual( self.comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949" )
self.assertEqual( self.comment.id, 1361949 )
self.assertEqual( self.comment.line, None )
self.assertEqual( self.comment.path, None )
self.assertEqual( self.comment.position, None )
self.assertEqual( self.comment.updated_at, "2012-05-22T18:40:18Z" )
self.assertEqual( self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1361949" )
self.assertEqual( self.comment.user.login, "jacquev6" )
def testEdit( self ):
self.comment.edit( "Comment edited by PyGithub" )
def testDelete( self ):
self.comment.delete()
+25 -50
View File
@@ -1,56 +1,31 @@
import Framework
class Download( Framework.TestCaseWithRepo ):
def testCreateWithMinimalArguments( self ):
download = self.repo.create_download( "Foobar.txt", 1024 )
self.assertEqual( download.id, 242562 )
def testCreateWithAllArguments( self ):
download = self.repo.create_download( "Foobar.txt", 1024, "Download created by PyGithub", "text/richtext" )
self.assertEqual( download.accesskeyid, "1DWESVTPGHQVTX38V182" )
self.assertEqual( download.acl, "public-read" )
self.assertEqual( download.bucket, "github" )
self.assertEqual( download.content_type, "text/richtext" )
self.assertEqual( download.created_at, "2012-05-22T19:11:49Z" )
self.assertEqual( download.description, "Download created by PyGithub" )
self.assertEqual( download.download_count, 0 )
self.assertEqual( download.expirationdate, "2112-05-22T19:11:49.000Z" )
self.assertEqual( download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" )
self.assertEqual( download.id, 242556 )
self.assertEqual( download.mime_type, "text/richtext" )
self.assertEqual( download.name, "Foobar.txt" )
self.assertEqual( download.path, "downloads/jacquev6/PyGithub/Foobar.txt" )
self.assertEqual( download.policy, "ewogICAgJ2V4cGlyYXRpb24nOiAnMjExMi0wNS0yMlQxOToxMTo0OS4wMDBaJywKICAgICdjb25kaXRpb25zJzogWwogICAgICAgIHsnYnVja2V0JzogJ2dpdGh1Yid9LAogICAgICAgIHsna2V5JzogJ2Rvd25sb2Fkcy9qYWNxdWV2Ni9QeUdpdGh1Yi9Gb29iYXIudHh0J30sCiAgICAgICAgeydhY2wnOiAncHVibGljLXJlYWQnfSwKICAgICAgICB7J3N1Y2Nlc3NfYWN0aW9uX3N0YXR1cyc6ICcyMDEnfSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRGaWxlbmFtZScsICcnXSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRDb250ZW50LVR5cGUnLCAnJ10KICAgIF0KfQ==" )
self.assertEqual( download.prefix, "downloads/jacquev6/PyGithub" )
self.assertEqual( download.redirect, False )
self.assertEqual( download.s3_url, "https://github.s3.amazonaws.com/" )
self.assertEqual( download.signature, "8FCU/4rgT3ohXfE9N6HO7JgbuK4=" )
self.assertEqual( download.size, 1024 )
self.assertEqual( download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242556" )
class Download( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.download = self.g.get_user().get_repo( "PyGithub" ).get_download( 242550 )
def testAttributes( self ):
download = self.repo.get_download( 242550 )
self.assertEqual( download.accesskeyid, None )
self.assertEqual( download.acl, None )
self.assertEqual( download.bucket, None )
self.assertEqual( download.content_type, "text/plain" )
self.assertEqual( download.created_at, "2012-05-22T18:58:32Z" )
self.assertEqual( download.description, None )
self.assertEqual( download.download_count, 0 )
self.assertEqual( download.expirationdate, None )
self.assertEqual( download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" )
self.assertEqual( download.id, 242550 )
self.assertEqual( download.mime_type, None )
self.assertEqual( download.name, "Foobar.txt" )
self.assertEqual( download.path, None )
self.assertEqual( download.policy, None )
self.assertEqual( download.prefix, None )
self.assertEqual( download.redirect, None )
self.assertEqual( download.s3_url, None )
self.assertEqual( download.signature, None )
self.assertEqual( download.size, 1024 )
self.assertEqual( download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242550" )
self.assertEqual( self.download.accesskeyid, None )
self.assertEqual( self.download.acl, None )
self.assertEqual( self.download.bucket, None )
self.assertEqual( self.download.content_type, "text/plain" )
self.assertEqual( self.download.created_at, "2012-05-22T18:58:32Z" )
self.assertEqual( self.download.description, None )
self.assertEqual( self.download.download_count, 0 )
self.assertEqual( self.download.expirationdate, None )
self.assertEqual( self.download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" )
self.assertEqual( self.download.id, 242550 )
self.assertEqual( self.download.mime_type, None )
self.assertEqual( self.download.name, "Foobar.txt" )
self.assertEqual( self.download.path, None )
self.assertEqual( self.download.policy, None )
self.assertEqual( self.download.prefix, None )
self.assertEqual( self.download.redirect, None )
self.assertEqual( self.download.s3_url, None )
self.assertEqual( self.download.signature, None )
self.assertEqual( self.download.size, 1024 )
self.assertEqual( self.download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242550" )
def testDelete( self ):
download = self.repo.get_download( 242562 )
download.delete()
self.download.delete()
-5
View File
@@ -132,11 +132,6 @@ class TestCase( BasicTestCase ):
BasicTestCase.setUp( self )
self.g = github.Github( self.login, self.password )
class TestCaseWithRepo( TestCase ):
def setUp( self ):
TestCase.setUp( self )
self.repo = self.g.get_user().get_repo( "PyGithub" )
def main():
if "--record" in sys.argv:
BasicTestCase.recordMode = True
+40 -82
View File
@@ -1,99 +1,58 @@
import Framework
class Gist( Framework.TestCase ):
def testGetAll( self ):
ids = [ "2729695", "2729656", "2729597", "2729584", "2729569", "2729554", "2729543", "2729537", "2729536", "2729533", "2729525", "2729522", "2729519", "2729515", "2729506", "2729487", "2729484", "2729482", "2729441", "2729432", "2729420", "2729398", "2729372", "2729371", "2729351", "2729346", "2729316", "2729304", "2729296", "2729276", "2729272", "2729265", "2729195", "2729160", "2729143", "2729127", "2729119", "2729113", "2729103", "2729069", "2729059", "2729051", "2729029", "2729027", "2729026", "2729022", "2729002", "2728985", "2728979", "2728964", "2728937", "2728933", "2728884", "2728869", "2728866", "2728855", "2728854", "2728853", "2728846", "2728825", "2728814", "2728813", "2728812", "2728805", "2728802", "2728800", "2728798", "2728797", "2728796", "2728793", "2728758", "2728754", "2728751", "2728748", "2728721", "2728716", "2728715", "2728705", "2728701", "2728699", "2728697", "2728688", "2728683", "2728677", "2728649", "2728640", "2728625", "2728620", "2728615", "2728614", "2728565", "2728564", "2728554", "2728523", "2728519", "2728511", "2728497", "2728496", "2728495", "2728487" ]
gists = self.g.get_gists()
i = 0
for gist in gists:
self.assertEquals( gist.id, ids[ i ] )
i += 1
if i == 100:
break
def setUp( self ):
Framework.TestCase.setUp( self )
self.gist = self.g.get_gist( "2729810" )
def testAttributes( self ):
gist = self.g.get_gist( "1942384" )
self.assertEquals( gist.comments, 0 )
self.assertEquals( gist.created_at, "2012-02-29T16:47:12Z" )
self.assertEquals( gist.description, "How to error 500 Github API v3, as requested by Rick (GitHub Staff)" )
self.assertEquals( gist.files, {u'fail_github.py': {u'raw_url': u'https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py', u'language': u'Python', u'filename': u'fail_github.py', u'content': u'import httplib\nimport base64\nimport json\n\nlogin = ""\npassword = ""\norgName = ""\nrepoName = "FailGithubApi"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( "api.github.com", strict = True )\n cnx.request( verb, url, input, { "Authorization" : "Basic " + base64.b64encode( login + ":" + password ).replace( \'\\n\', \'\' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, "=>", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( "POST", "/user/repos", { "name": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( login, repoName ),\n { "content": "Content of the blob", "encoding": "latin1" }\n)\nt = doRequest(\n "POST", "/repos/%s/%s/git/trees" % ( login, repoName ),\n { "tree" : [ { "path": "foo.bar", "type": "blob", "mode": "100644", "sha": b["sha"] } ] }\n)\nc = doRequest(\n "POST", "/repos/%s/%s/git/commits" % ( login, repoName ),\n { "parents": [], "message": "Message of the commit", "tree": t["sha"] }\n)\ndoRequest(\n "POST", "/repos/%s/%s/git/refs" % ( login, repoName ),\n { "ref": "refs/heads/master", "sha": c["sha"] }\n)\n\n# Fork the repo\ndoRequest( "POST", "/repos/%s/%s/forks?org=%s" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( orgName, repoName ),\n { "content": "Content of the new blob", "encoding": "latin1" }\n)\n', u'type': u'application/python', u'size': 1636}} ) ### @todo
self.assertEquals( gist.forks, [] )
self.assertEquals( gist.git_pull_url, "git://gist.github.com/1942384.git" )
self.assertEquals( gist.git_push_url, "git@gist.github.com:1942384.git" )
self.assertEquals( len( gist.history ), 1 )
self.assertEquals( gist.history[ 0 ].change_status.additions, 52 )
self.assertEquals( gist.history[ 0 ].change_status.deletions, 0 )
self.assertEquals( gist.history[ 0 ].change_status.total, 52 )
self.assertEquals( gist.history[ 0 ].committed_at, "2012-02-29T16:47:12Z" )
self.assertEquals( gist.history[ 0 ].url, "https://api.github.com/gists/1942384/a40de483e42ba33bda308371c0ef8383db73be9e" )
self.assertEquals( gist.history[ 0 ].user.login, "jacquev6" )
self.assertEquals( gist.history[ 0 ].version, "a40de483e42ba33bda308371c0ef8383db73be9e" )
self.assertEquals( gist.html_url, "https://gist.github.com/1942384" )
self.assertEquals( gist.id, "1942384" )
self.assertEquals( gist.public, True )
self.assertEquals( gist.updated_at, "2012-02-29T16:47:12Z" )
self.assertEquals( gist.url, "https://api.github.com/gists/1942384" )
self.assertEquals( gist.user.login, "jacquev6" )
def testCreate( self ):
gist = self.g.get_user().create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } }, "Gist created by PyGithub" )
self.assertEquals( gist.description, "Gist created by PyGithub" )
self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo
def testCreateWithoutDescription( self ):
gist = self.g.get_user().create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } } )
self.assertEquals( gist.description, None )
self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo
self.assertEquals( self.gist.comments, 0 )
self.assertEquals( self.gist.created_at, "2012-02-29T16:47:12Z" )
self.assertEquals( self.gist.description, "How to error 500 Github API v3, as requested by Rick (GitHub Staff)" )
self.assertEquals( self.gist.files, {u'fail_github.py': {u'raw_url': u'https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py', u'language': u'Python', u'filename': u'fail_github.py', u'content': u'import httplib\nimport base64\nimport json\n\nlogin = ""\npassword = ""\norgName = ""\nrepoName = "FailGithubApi"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( "api.github.com", strict = True )\n cnx.request( verb, url, input, { "Authorization" : "Basic " + base64.b64encode( login + ":" + password ).replace( \'\\n\', \'\' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, "=>", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( "POST", "/user/repos", { "name": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( login, repoName ),\n { "content": "Content of the blob", "encoding": "latin1" }\n)\nt = doRequest(\n "POST", "/repos/%s/%s/git/trees" % ( login, repoName ),\n { "tree" : [ { "path": "foo.bar", "type": "blob", "mode": "100644", "sha": b["sha"] } ] }\n)\nc = doRequest(\n "POST", "/repos/%s/%s/git/commits" % ( login, repoName ),\n { "parents": [], "message": "Message of the commit", "tree": t["sha"] }\n)\ndoRequest(\n "POST", "/repos/%s/%s/git/refs" % ( login, repoName ),\n { "ref": "refs/heads/master", "sha": c["sha"] }\n)\n\n# Fork the repo\ndoRequest( "POST", "/repos/%s/%s/forks?org=%s" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( orgName, repoName ),\n { "content": "Content of the new blob", "encoding": "latin1" }\n)\n', u'type': u'application/python', u'size': 1636}} ) ### @todo
self.assertEquals( self.gist.forks, [] )
self.assertEquals( self.gist.git_pull_url, "git://gist.github.com/2729810.git" )
self.assertEquals( self.gist.git_push_url, "git@gist.github.com:2729810.git" )
self.assertEquals( len( self.gist.history ), 1 )
self.assertEquals( self.gist.history[ 0 ].change_status.additions, 52 )
self.assertEquals( self.gist.history[ 0 ].change_status.deletions, 0 )
self.assertEquals( self.gist.history[ 0 ].change_status.total, 52 )
self.assertEquals( self.gist.history[ 0 ].committed_at, "2012-02-29T16:47:12Z" )
self.assertEquals( self.gist.history[ 0 ].url, "https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e" )
self.assertEquals( self.gist.history[ 0 ].user.login, "jacquev6" )
self.assertEquals( self.gist.history[ 0 ].version, "a40de483e42ba33bda308371c0ef8383db73be9e" )
self.assertEquals( self.gist.html_url, "https://gist.github.com/2729810" )
self.assertEquals( self.gist.id, "2729810" )
self.assertEquals( self.gist.public, True )
self.assertEquals( self.gist.updated_at, "2012-02-29T16:47:12Z" )
self.assertEquals( self.gist.url, "https://api.github.com/gists/2729810" )
self.assertEquals( self.gist.user.login, "jacquev6" )
def testEditWithoutParameters( self ):
gist = self.g.get_gist( "2729810" )
gist.edit()
self.assertEquals( gist.description, "Gist created by PyGithub" )
self.assertEquals( gist.updated_at, "2012-05-19T07:00:58Z" )
self.gist.edit()
self.assertEquals( self.gist.description, "Gist created by PyGithub" )
self.assertEquals( self.gist.updated_at, "2012-05-19T07:00:58Z" )
def testEditWithAllParameters( self ):
gist = self.g.get_gist( "2729810" )
gist.edit( "Description edited by PyGithub", { "barbaz.txt": { "content": "File also created by PyGithub" } } )
self.assertEquals( gist.description, "Description edited by PyGithub" )
self.assertEquals( gist.updated_at, "2012-05-19T07:06:10Z" )
self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}, u'barbaz.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt', u'language': u'Text', u'filename': u'barbaz.txt', u'content': u'File also created by PyGithub', u'type': u'text/plain', u'size': 29}} ) # Notice that the file is added, not replacing ### @todo
self.gist.edit( "Description edited by PyGithub", { "barbaz.txt": { "content": "File also created by PyGithub" } } )
self.assertEquals( self.gist.description, "Description edited by PyGithub" )
self.assertEquals( self.gist.updated_at, "2012-05-19T07:06:10Z" )
self.assertEquals( self.gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}, u'barbaz.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt', u'language': u'Text', u'filename': u'barbaz.txt', u'content': u'File also created by PyGithub', u'type': u'text/plain', u'size': 29}} ) # Notice that the file is added, not replacing ### @todo
def testCreateComment( self ):
gist = self.g.get_gist( "2729810" )
comment = gist.create_comment( "Comment created by PyGithub" )
comment = self.gist.create_comment( "Comment created by PyGithub" )
self.assertEquals( comment.id, 323629 )
def testCommentAttributes( self ):
comment = self.g.get_gist( "2729810" ).get_comment( 323629 )
self.assertEquals( comment.body, "Comment created by PyGithub" )
self.assertEquals( comment.created_at, "2012-05-19T07:07:57Z" )
self.assertEquals( comment.id, 323629 )
self.assertEquals( comment.updated_at, "2012-05-19T07:07:57Z" )
self.assertEquals( comment.url, "https://api.github.com/gists/comments/323629" )
self.assertEquals( comment.user.login, "jacquev6" )
def testEditComment( self ):
comment = self.g.get_gist( "2729810" ).get_comment( 323629 )
comment.edit( "Comment edited by PyGithub" )
self.assertEquals( comment.body, "Comment edited by PyGithub" )
self.assertEquals( comment.updated_at, "2012-05-19T07:12:32Z" )
def testDeleteComment( self ):
comment = self.g.get_gist( "2729810" ).get_comment( 323629 )
comment.delete()
def testGetComments( self ):
gist = self.g.get_gist( "2729810" )
for comment in gist.get_comments(): # There is only one comment
self.assertEquals( comment.id, 323637 )
for comment in self.gist.get_comments(): # There is only one comment
self.assertEquals( comment.id, 323637 ) ### @todo use assertListKeyEqual
def testStarring( self ):
gist = self.g.get_gist( "2729810" )
self.assertFalse( gist.is_starred() )
gist.set_starred()
self.assertTrue( gist.is_starred() )
gist.reset_starred()
self.assertFalse( gist.is_starred() )
self.assertFalse( self.gist.is_starred() )
self.gist.set_starred()
self.assertTrue( self.gist.is_starred() )
self.gist.reset_starred()
self.assertFalse( self.gist.is_starred() )
def testFork( self ):
gist = self.g.get_gist( "2729818" ) # Random gist
@@ -104,5 +63,4 @@ class Gist( Framework.TestCase ):
self.assertEquals( sameGist.fork_of.id, "2729818" )
def testDelete( self ):
gist = self.g.get_gist( "2729865" )
gist.delete()
self.gist.delete()
+22
View File
@@ -0,0 +1,22 @@
import Framework
class GistComment( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.comment = self.g.get_gist( "2729810" ).get_comment( 323629 )
def testAttributes( self ): ### @todo Move
self.assertEquals( self.comment.body, "Comment created by PyGithub" )
self.assertEquals( self.comment.created_at, "2012-05-19T07:07:57Z" )
self.assertEquals( self.comment.id, 323629 )
self.assertEquals( self.comment.updated_at, "2012-05-19T07:07:57Z" )
self.assertEquals( self.comment.url, "https://api.github.com/gists/comments/323629" )
self.assertEquals( self.comment.user.login, "jacquev6" )
def testEdit( self ): ### @todo Move
self.comment.edit( "Comment edited by PyGithub" )
self.assertEquals( self.comment.body, "Comment edited by PyGithub" )
self.assertEquals( self.comment.updated_at, "2012-05-19T07:12:32Z" )
def testDelete( self ):
self.comment.delete()
+15
View File
@@ -0,0 +1,15 @@
import Framework
class GitBlob( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.blob = self.g.get_user().get_repo( "PyGithub" ).get_git_blob( "53bce9fa919b4544e67275089b3ec5b44be20667" )
def testAttributes( self ):
self.assertTrue( self.blob.content.startswith( "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\n" ) )
self.assertTrue( self.blob.content.endswith( "Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n" ) )
self.assertEqual( len( self.blob.content ), 1757 )
self.assertEqual( self.blob.encoding, "base64" )
self.assertEqual( self.blob.size, 1295 )
self.assertEqual( self.blob.sha, "53bce9fa919b4544e67275089b3ec5b44be20667" )
self.assertEqual( self.blob.url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667" )
+21
View File
@@ -0,0 +1,21 @@
import Framework
class GitCommit( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.commit = self.g.get_user().get_repo( "PyGithub" ).get_git_commit( "4303c5b90e2216d927155e9609436ccb8984c495" )
def testAttributes( self ):
self.assertEqual( self.commit.author.name, "Vincent Jacques" )
self.assertEqual( self.commit.author.email, "vincent@vincent-jacques.net" )
self.assertEqual( self.commit.author.date, "2012-04-17T10:55:16-07:00" )
self.assertEqual( self.commit.committer.name, "Vincent Jacques" )
self.assertEqual( self.commit.committer.email, "vincent@vincent-jacques.net" )
self.assertEqual( self.commit.committer.date, "2012-04-17T10:55:16-07:00" )
self.assertEqual( self.commit.message, "Merge branch 'develop'\n" )
self.assertEqual( len( self.commit.parents ), 2 )
self.assertEqual( self.commit.parents[ 0 ].sha, "936f4a97f1a86392637ec002bbf89ff036a5062d" )
self.assertEqual( self.commit.parents[ 1 ].sha, "2a7e80e6421c5d4d201d60619068dea6bae612cb" )
self.assertEqual( self.commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( self.commit.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" )
self.assertEqual( self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" )
-177
View File
@@ -1,177 +0,0 @@
import Framework
class Branch( Framework.TestCaseWithRepo ):
def testAttributes( self ):
branch = self.repo.get_branches()[ 0 ]
self.assertEqual( branch.name, "topic/RewriteWithGeneratedCode" )
self.assertEqual( branch.commit.author.login, "jacquev6" )
self.assertEqual( branch.commit.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( branch.commit.committer.login, "jacquev6" )
self.assertEqual( len( branch.commit.files ), 1 )
self.assertEqual( branch.commit.files[ 0 ].additions, 0 )
self.assertEqual( branch.commit.files[ 0 ].blob_url, "https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" )
self.assertEqual( branch.commit.files[ 0 ].changes, 20 )
self.assertEqual( branch.commit.files[ 0 ].deletions, 20 )
self.assertEqual( branch.commit.files[ 0 ].filename, "github/GithubObjects/GitAuthor.py" )
self.assertTrue( isinstance( branch.commit.files[ 0 ].patch, ( str, unicode ) ) )
self.assertEqual( branch.commit.files[ 0 ].raw_url, "https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" )
self.assertEqual( branch.commit.files[ 0 ].sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( branch.commit.files[ 0 ].status, "modified" )
self.assertEqual( len( branch.commit.parents ), 1 )
self.assertEqual( branch.commit.parents[ 0 ].sha, "b46ed0dfde5ad02d3b91eb54a41c5ed960710eae" )
self.assertEqual( branch.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( branch.commit.stats.deletions, 20 )
self.assertEqual( branch.commit.stats.additions, 0 )
self.assertEqual( branch.commit.stats.total, 20 )
self.assertEqual( branch.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
def testCommitComments( self ):
commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" )
comments = list( commit.get_comments() )
self.assertEqual( len( comments ), 4 )
comment = comments[ 0 ]
self.assertEqual( len( comment.body ), 492 )
self.assertEqual( comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" )
self.assertEqual( comment.created_at, "2012-05-18T08:46:09Z" )
self.assertEqual( comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033" )
self.assertEqual( comment.id, 1347033 )
self.assertEqual( comment.line, None )
self.assertEqual( comment.path, None )
self.assertEqual( comment.position, None )
self.assertEqual( comment.updated_at, "2012-05-18T08:46:09Z" )
self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1347033" )
self.assertEqual( comment.user.login, "bilderbuchi" )
def testCreateCommitComment( self ):
commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" )
comment = commit.create_comment( "Comment created by PyGithub" )
self.assertEqual( comment.id, 1361949 )
def testCreateCommitCommentOnFileLine( self ):
commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" )
comment = commit.create_comment( "Comment created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", line = 26 )
self.assertEqual( comment.id, 1362000 )
self.assertEqual( comment.line, 26 )
self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" )
self.assertEqual( comment.position, None )
def testCreateCommitCommentOnFilePosition( self ):
commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" )
comment = commit.create_comment( "Comment also created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", position = 3 )
self.assertEqual( comment.id, 1362001 )
self.assertEqual( comment.line, None )
self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" )
self.assertEqual( comment.position, 3 )
def testEditCommitComment( self ):
comment = self.repo.get_comment( 1361949 )
comment.edit( "Comment edited by PyGithub" )
def testDeleteCommitComment( self ):
comment = self.repo.get_comment( 1361949 )
comment.delete()
def testCommitCommentsOnLine( self ):
commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" )
comments = list( commit.get_comments() )
self.assertEqual( len( comments ), 4 )
comment = comments[ 3 ]
self.assertEqual( comment.body, "This comment is here only to test PyGithub..." )
self.assertEqual( comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" )
self.assertEqual( comment.created_at, "2012-05-18T20:11:17Z" )
self.assertEqual( comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1349654" )
self.assertEqual( comment.id, 1349654 )
self.assertEqual( comment.line, 25 )
self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" )
self.assertEqual( comment.position, 3 )
self.assertEqual( comment.updated_at, "2012-05-18T20:11:17Z" )
self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1349654" )
self.assertEqual( comment.user.login, "jacquev6" )
class Tag( Framework.TestCaseWithRepo ):
def testAttributes( self ):
tag = self.repo.get_tags()[ 0 ]
self.assertEqual( tag.commit.sha, "636e6112deb72277b3bffcc3303cd7e8a7431a5d" )
self.assertEqual( tag.name, "v0.3" )
self.assertEqual( tag.tarball_url, "https://github.com/jacquev6/PyGithub/tarball/v0.3" )
self.assertEqual( tag.zipball_url, "https://github.com/jacquev6/PyGithub/zipball/v0.3" )
class GitBlob( Framework.TestCaseWithRepo ):
def testAttributes( self ):
blob = self.repo.get_git_blob( "53bce9fa919b4544e67275089b3ec5b44be20667" )
self.assertTrue( blob.content.startswith( "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\n" ) )
self.assertTrue( blob.content.endswith( "Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n" ) )
self.assertEqual( len( blob.content ), 1757 )
self.assertEqual( blob.encoding, "base64" )
self.assertEqual( blob.size, 1295 )
self.assertEqual( blob.sha, "53bce9fa919b4544e67275089b3ec5b44be20667" )
self.assertEqual( blob.url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667" )
def testCreate( self ):
blob = self.repo.create_git_blob( "Blob created by PyGithub", "latin1" )
self.assertEqual( blob.sha, "5dd930f591cd5188e9ea7200e308ad355182a1d8" )
class GitCommit( Framework.TestCaseWithRepo ):
def testAttributes( self ):
commit = self.repo.get_git_commit( "4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( commit.author.name, "Vincent Jacques" )
self.assertEqual( commit.author.email, "vincent@vincent-jacques.net" )
self.assertEqual( commit.author.date, "2012-04-17T10:55:16-07:00" )
self.assertEqual( commit.committer.name, "Vincent Jacques" )
self.assertEqual( commit.committer.email, "vincent@vincent-jacques.net" )
self.assertEqual( commit.committer.date, "2012-04-17T10:55:16-07:00" )
self.assertEqual( commit.message, "Merge branch 'develop'\n" )
self.assertEqual( len( commit.parents ), 2 )
self.assertEqual( commit.parents[ 0 ].sha, "936f4a97f1a86392637ec002bbf89ff036a5062d" )
self.assertEqual( commit.parents[ 1 ].sha, "2a7e80e6421c5d4d201d60619068dea6bae612cb" )
self.assertEqual( commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( commit.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" )
self.assertEqual( commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" )
class GitRef( Framework.TestCaseWithRepo ):
def testAttributes( self ):
ref = self.repo.get_git_ref( "refs/heads/topic/RewriteWithGeneratedCode" )
self.assertEqual( ref.object.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( ref.object.type, "commit" )
self.assertEqual( ref.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( ref.ref, "refs/heads/topic/RewriteWithGeneratedCode" )
self.assertEqual( ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode" )
def testCreateEditDelete( self ):
ref = self.repo.create_git_ref( "refs/heads/BranchCreatedByPyGithub", "4303c5b90e2216d927155e9609436ccb8984c495" )
ref.edit( "04cde900a0775b51f762735637bd30de392a2793" )
ref.edit( "4303c5b90e2216d927155e9609436ccb8984c495", force = True )
ref.delete()
class GitTag( Framework.TestCaseWithRepo ):
def testAttributes( self ):
tag = self.repo.get_git_tag( "f5f37322407b02a80de4526ad88d5f188977bc3c" )
self.assertEqual( tag.message, "Version 0.6\n" )
self.assertEqual( tag.object.sha, "4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( tag.object.type, "commit" )
self.assertEqual( tag.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( tag.sha, "f5f37322407b02a80de4526ad88d5f188977bc3c" )
self.assertEqual( tag.tag, "v0.6" )
self.assertEqual( tag.tagger.date, "2012-05-10T11:14:15-07:00" )
self.assertEqual( tag.tagger.email, "vincent@vincent-jacques.net" )
self.assertEqual( tag.tagger.name, "Vincent Jacques" )
self.assertEqual( tag.url, "https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c" )
class GitTree( Framework.TestCaseWithRepo ):
def testAttributes( self ):
tree = self.repo.get_git_tree( "f492784d8ca837779650d1fb406a1a3587a764ad" )
self.assertEqual( tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" )
self.assertEqual( len( tree.tree ), 11 )
self.assertEqual( tree.tree[ 0 ].mode, "100644" )
self.assertEqual( tree.tree[ 0 ].path, ".gitignore" )
self.assertEqual( tree.tree[ 0 ].sha, "8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" )
self.assertEqual( tree.tree[ 0 ].size, 53 )
self.assertEqual( tree.tree[ 0 ].type, "blob" )
self.assertEqual( tree.tree[ 0 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" )
self.assertEqual( tree.tree[ 6 ].mode, "040000" )
self.assertEqual( tree.tree[ 6 ].path, "ReplayDataForIntegrationTest" )
self.assertEqual( tree.tree[ 6 ].sha, "60b4602b2c2070246c5df078fb7a5150b45815eb" )
# self.assertEqual( tree.tree[ 6 ].size, None ) ### @todo This test tries to __complete the GitTreeElement. (Lazy-)Complete-ability should be specified in the json description, not deduced from the presence of a url attribute.
self.assertEqual( tree.tree[ 6 ].type, "tree" )
self.assertEqual( tree.tree[ 6 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb" )
self.assertEqual( tree.url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad" )
+22
View File
@@ -0,0 +1,22 @@
import Framework
class GitRef( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.ref = self.g.get_user().get_repo( "PyGithub" ).get_git_ref( "refs/heads/BranchCreatedByPyGithub" )
def testAttributes( self ):
self.assertEqual( self.ref.object.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( self.ref.object.type, "commit" )
self.assertEqual( self.ref.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
self.assertEqual( self.ref.ref, "refs/heads/BranchCreatedByPyGithub" )
self.assertEqual( self.ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub" )
def testEdit( self ):
self.ref.edit( "04cde900a0775b51f762735637bd30de392a2793" )
def testEditWithForce( self ):
self.ref.edit( "4303c5b90e2216d927155e9609436ccb8984c495", force = True )
def testDelete( self ):
self.ref.delete()
+18
View File
@@ -0,0 +1,18 @@
import Framework
class GitTag( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.tag = self.g.get_user().get_repo( "PyGithub" ).get_git_tag( "f5f37322407b02a80de4526ad88d5f188977bc3c" )
def testAttributes( self ):
self.assertEqual( self.tag.message, "Version 0.6\n" )
self.assertEqual( self.tag.object.sha, "4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( self.tag.object.type, "commit" )
self.assertEqual( self.tag.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" )
self.assertEqual( self.tag.sha, "f5f37322407b02a80de4526ad88d5f188977bc3c" )
self.assertEqual( self.tag.tag, "v0.6" )
self.assertEqual( self.tag.tagger.date, "2012-05-10T11:14:15-07:00" )
self.assertEqual( self.tag.tagger.email, "vincent@vincent-jacques.net" )
self.assertEqual( self.tag.tagger.name, "Vincent Jacques" )
self.assertEqual( self.tag.url, "https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c" )
+23
View File
@@ -0,0 +1,23 @@
import Framework
class GitTree( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.tree = self.g.get_user().get_repo( "PyGithub" ).get_git_tree( "f492784d8ca837779650d1fb406a1a3587a764ad" )
def testAttributes( self ):
self.assertEqual( self.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" )
self.assertEqual( len( self.tree.tree ), 11 )
self.assertEqual( self.tree.tree[ 0 ].mode, "100644" )
self.assertEqual( self.tree.tree[ 0 ].path, ".gitignore" )
self.assertEqual( self.tree.tree[ 0 ].sha, "8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" )
self.assertEqual( self.tree.tree[ 0 ].size, 53 )
self.assertEqual( self.tree.tree[ 0 ].type, "blob" )
self.assertEqual( self.tree.tree[ 0 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" )
self.assertEqual( self.tree.tree[ 6 ].mode, "040000" )
self.assertEqual( self.tree.tree[ 6 ].path, "ReplayDataForIntegrationTest" )
self.assertEqual( self.tree.tree[ 6 ].sha, "60b4602b2c2070246c5df078fb7a5150b45815eb" )
self.assertEqual( self.tree.tree[ 6 ].size, None )
self.assertEqual( self.tree.tree[ 6 ].type, "tree" )
self.assertEqual( self.tree.tree[ 6 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb" )
self.assertEqual( self.tree.url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad" )
+5
View File
@@ -0,0 +1,5 @@
import Framework
class Github( Framework.TestCase ):
def testGetGists( self ):
self.assertListKeyBegin( self.g.get_gists(), lambda g: g.id, [ "2729695", "2729656", "2729597", "2729584", "2729569", "2729554", "2729543", "2729537", "2729536", "2729533", "2729525", "2729522", "2729519", "2729515", "2729506", "2729487", "2729484", "2729482", "2729441", "2729432", "2729420", "2729398", "2729372", "2729371", "2729351", "2729346", "2729316", "2729304", "2729296", "2729276", "2729272", "2729265", "2729195", "2729160", "2729143", "2729127", "2729119", "2729113", "2729103", "2729069", "2729059", "2729051", "2729029", "2729027", "2729026", "2729022", "2729002", "2728985", "2728979", "2728964", "2728937", "2728933", "2728884", "2728869", "2728866", "2728855", "2728854", "2728853", "2728846", "2728825", "2728814", "2728813", "2728812", "2728805", "2728802", "2728800", "2728798", "2728797", "2728796", "2728793", "2728758", "2728754", "2728751", "2728748", "2728721", "2728716", "2728715", "2728705", "2728701", "2728699", "2728697", "2728688", "2728683", "2728677", "2728649", "2728640", "2728625", "2728620", "2728615", "2728614", "2728565", "2728564", "2728554", "2728523", "2728519", "2728511", "2728497", "2728496", "2728495", "2728487" ] )
+17 -42
View File
@@ -1,52 +1,27 @@
import Framework
class Hook( Framework.TestCaseWithRepo ):
def testCreateWithMinimalParameters( self ):
### @todo Implement https://api.github.com/hooks, which is not described, but refered by http://developer.github.com/v3/repos/hooks/#create-a-hook
hook = self.repo.create_hook( "web", { "url": "http://foobar.com" } )
self.assertEqual( hook.active, True )
self.assertEqual( hook.config, { "url": "http://foobar.com" } )
self.assertEqual( hook.created_at, "2012-05-19T05:03:14Z" )
self.assertEqual( hook.events, [ "push" ] )
self.assertEqual( hook.id, 257967 )
self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } )
self.assertEqual( hook.name, "web" )
self.assertEqual( hook.updated_at, "2012-05-19T05:03:14Z" )
self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257967" )
class Hook( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.hook = self.g.get_user().get_repo( "PyGithub" ).get_hook( 257993 )
def testEditWithMinimalParameters( self ):
hook = self.repo.get_hook( 257967 )
hook.edit( "web", { "url": "http://foobar.com/hook" } )
self.assertEqual( hook.config, { "url": "http://foobar.com/hook" } )
self.assertEqual( hook.updated_at, "2012-05-19T05:08:16Z" )
self.hook.edit( "web", { "url": "http://foobar.com/hook" } )
self.assertEqual( self.hook.config, { "url": "http://foobar.com/hook" } )
self.assertEqual( self.hook.updated_at, "2012-05-19T05:08:16Z" )
def testDelete( self ):
hook = self.repo.get_hook( 257967 )
hook.delete()
def testCreateWithAllParameters( self ):
hook = self.repo.create_hook( "web", { "url": "http://foobar.com" }, [ "fork" ], False )
self.assertEqual( hook.active, True ) # WTF
self.assertEqual( hook.config, { "url": "http://foobar.com" } )
self.assertEqual( hook.created_at, "2012-05-19T06:01:45Z" )
self.assertEqual( hook.events, [ "fork" ] )
self.assertEqual( hook.id, 257993 )
self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } )
self.assertEqual( hook.name, "web" )
self.assertEqual( hook.updated_at, "2012-05-19T06:01:45Z" )
self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257993" )
self.hook.delete()
def testTest( self ):
hook = self.repo.get_hook( 257993 )
hook.test() # This does not update attributes of hook
self.hook.test() # This does not update attributes of hook
def testEditWithAllParameters( self ):
hook = self.repo.get_hook( 257993 )
hook.edit( "web", { "url": "http://foobar.com" }, events = [ "fork", "push" ] )
self.assertEqual( hook.events, [ "fork", "push" ] )
hook.edit( "web", { "url": "http://foobar.com" }, add_events = [ "push" ] )
self.assertEqual( hook.events, [ "fork", "push" ] )
hook.edit( "web", { "url": "http://foobar.com" }, remove_events = [ "fork" ] )
self.assertEqual( hook.events, [ "push" ] )
hook.edit( "web", { "url": "http://foobar.com" }, active = True )
self.assertEqual( hook.active, True )
self.hook.edit( "web", { "url": "http://foobar.com" }, events = [ "fork", "push" ] )
self.assertEqual( self.hook.events, [ "fork", "push" ] )
self.hook.edit( "web", { "url": "http://foobar.com" }, add_events = [ "push" ] )
self.assertEqual( self.hook.events, [ "fork", "push" ] )
self.hook.edit( "web", { "url": "http://foobar.com" }, remove_events = [ "fork" ] )
self.assertEqual( self.hook.events, [ "push" ] )
self.hook.edit( "web", { "url": "http://foobar.com" }, active = True )
self.assertEqual( self.hook.active, True )
+15 -2
View File
@@ -3,17 +3,30 @@
import Framework
from AuthenticatedUser import *
from GitObjects import *
from Branch import *
from Commit import *
from CommitComment import *
from GitBlob import *
from GitCommit import *
from GitRef import *
from GitTag import *
from GitTree import *
from Tag import *
from Repository import *
from Organization import *
from MilestonesAndIssues import *
from Milestone import *
from Issue import *
from IssueComment import *
from Label import *
from NamedUser import *
from Hook import *
from Gist import *
from GistComment import *
from Authorization import *
from RateLimiting import *
from Download import *
from Authentication import *
from Event import *
from Github import *
Framework.main()
+49
View File
@@ -0,0 +1,49 @@
import Framework
class Issue( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.issue = self.g.get_user().get_repo( "PyGithub" ).get_issue( 28 )
def testAttributes( self ):
self.assertEqual( self.issue.assignee.login, "jacquev6" )
self.assertEqual( self.issue.body, "Body edited by PyGithub" )
self.assertEqual( self.issue.closed_at, "2012-05-26T14:59:33Z" )
self.assertEqual( self.issue.closed_by.login, "jacquev6" )
self.assertEqual( self.issue.comments, 0 )
self.assertEqual( self.issue.created_at, "2012-05-19T10:38:23Z" )
self.assertEqual( self.issue.html_url, "https://github.com/jacquev6/PyGithub/issues/28" )
self.assertEqual( self.issue.id, 4653757 )
self.assertListKeyEqual( self.issue.labels, lambda l: l.name, [ "Bug", "Project management", "Question" ] )
self.assertEqual( self.issue.milestone.title, "Version 0.4" )
self.assertEqual( self.issue.number, 28 )
self.assertEqual( self.issue.pull_request, {u'diff_url': None, u'patch_url': None, u'html_url': None} ) ### @todo
self.assertEqual( self.issue.state, "closed" )
self.assertEqual( self.issue.title, "Issue created by PyGithub" )
self.assertEqual( self.issue.updated_at, "2012-05-26T14:59:33Z" )
self.assertEqual( self.issue.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/28" )
self.assertEqual( self.issue.user.login, "jacquev6" )
def testEditWithoutParameters( self ):
self.issue.edit()
def testEditWithAllParameters( self ):
### @todo Variadic argument for labels?
### @todo NamedUser instead of string for assignee
self.issue.edit( "Title edited by PyGithub", "Body edited by PyGithub", "jacquev6", "open", 2, [ "Bug" ] )
self.assertEqual( self.issue.assignee.login, "jacquev6" )
self.assertEqual( self.issue.body, "Body edited by PyGithub" )
self.assertEqual( self.issue.state, "open" )
self.assertEqual( self.issue.title, "Title edited by PyGithub" )
self.assertEqual( len( self.issue.labels ), 1 )
self.assertEqual( self.issue.labels[ 0 ].name, "Bug" )
def testCreateComment( self ):
comment = self.issue.create_comment( "Comment created by PyGithub" )
self.assertEqual( comment.id, 5808311 )
def testGetComments( self ):
self.assertListKeyEqual( self.issue.get_comments(), lambda c: c.user.login, [ "jacquev6", "roskakori" ] )
def testGetEvents( self ):
self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] )
+22
View File
@@ -0,0 +1,22 @@
import Framework
class IssueComment( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.comment = self.g.get_user().get_repo( "PyGithub" ).get_issue( 28 ).get_comment( 5808311 )
def testAttributes( self ):
self.assertEqual( self.comment.body, "Comment created by PyGithub" )
self.assertEqual( self.comment.created_at, "2012-05-20T11:46:42Z" )
self.assertEqual( self.comment.id, 5808311 )
self.assertEqual( self.comment.updated_at, "2012-05-20T11:46:42Z" )
self.assertEqual( self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311" )
self.assertEqual( self.comment.user.login, "jacquev6" )
def testEdit( self ):
self.comment.edit( "Comment edited by PyGithub" )
self.assertEqual( self.comment.body, "Comment edited by PyGithub" )
self.assertEqual( self.comment.updated_at, "2012-05-20T11:53:59Z" )
def testDelete( self ):
self.comment.delete()
+20
View File
@@ -0,0 +1,20 @@
import Framework
class Label( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.label = self.g.get_user().get_repo( "PyGithub" ).get_label( "Bug" )
def testAttributes( self ):
self.assertEqual( self.label.color, "e10c02" )
self.assertEqual( self.label.name, "Bug" )
self.assertEqual( self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Bug" )
def testEdit( self ):
self.label.edit( "LabelEditedByPyGithub", "0000ff" )
self.assertEqual( self.label.color, "0000ff" )
self.assertEqual( self.label.name, "LabelEditedByPyGithub" )
self.assertEqual( self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub" )
def testDelete( self ):
self.label.delete()
+36
View File
@@ -0,0 +1,36 @@
import Framework
class Milestone( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.milestone = self.g.get_user().get_repo( "PyGithub" ).get_milestone( 1 )
def testAttributes( self ):
self.assertEqual( self.milestone.closed_issues, 2 )
self.assertEqual( self.milestone.created_at, "2012-03-08T12:22:10Z" )
self.assertEqual( self.milestone.description, "" )
self.assertEqual( self.milestone.due_on, "2012-03-13T07:00:00Z" )
self.assertEqual( self.milestone.id, 93546 )
self.assertEqual( self.milestone.number, 1 )
self.assertEqual( self.milestone.open_issues, 0 )
self.assertEqual( self.milestone.state, "closed" )
self.assertEqual( self.milestone.title, "Version 0.4" )
self.assertEqual( self.milestone.url, "https://api.github.com/repos/jacquev6/PyGithub/milestones/1" )
self.assertEqual( self.milestone.creator.login, "jacquev6" )
def testEditWithMinimalParameters( self ):
self.milestone.edit( "Title edited by PyGithub" )
self.assertEqual( self.milestone.title, "Title edited by PyGithub" )
def testEditWithAllParameters( self ):
self.milestone.edit( "Title edited twice by PyGithub", "closed", "Description edited by PyGithub", due_on = "2012-06-16" )
self.assertEqual( self.milestone.title, "Title edited twice by PyGithub" )
self.assertEqual( self.milestone.state, "closed" )
self.assertEqual( self.milestone.description, "Description edited by PyGithub" )
self.assertEqual( self.milestone.due_on, "2012-06-16T07:00:00Z" )
def testGetLabels( self ):
self.assertListKeyEqual( self.milestone.get_labels(), lambda l: l.name, [ "Public interface", "Project management" ] )
def testDelete( self ):
self.milestone.delete()
-152
View File
@@ -1,152 +0,0 @@
import Framework
class Milestone( Framework.TestCaseWithRepo ):
def testAttributes( self ):
milestone = self.repo.get_milestone( 1 )
self.assertEqual( milestone.closed_issues, 2 )
self.assertEqual( milestone.created_at, "2012-03-08T12:22:10Z" )
self.assertEqual( milestone.description, "" )
self.assertEqual( milestone.due_on, "2012-03-13T07:00:00Z" )
self.assertEqual( milestone.id, 93546 )
self.assertEqual( milestone.number, 1 )
self.assertEqual( milestone.open_issues, 0 )
self.assertEqual( milestone.state, "closed" )
self.assertEqual( milestone.title, "Version 0.4" )
self.assertEqual( milestone.url, "https://api.github.com/repos/jacquev6/PyGithub/milestones/1" )
self.assertEqual( milestone.creator.login, "jacquev6" )
def testCreate( self ):
milestone = self.repo.create_milestone( "Milestone created by PyGithub", state = "open", description = "Description created by PyGithub", due_on = "2012-06-15" )
self.assertEqual( milestone.number, 5 )
def testEditWithMinimalParameters( self ):
milestone = self.repo.get_milestone( 5 )
milestone.edit( "Title edited by PyGithub" )
self.assertEqual( milestone.title, "Title edited by PyGithub" )
def testEditWithAllParameters( self ):
milestone = self.repo.get_milestone( 5 )
milestone.edit( "Title edited twice by PyGithub", "closed", "Description edited by PyGithub", due_on = "2012-06-16" )
self.assertEqual( milestone.title, "Title edited twice by PyGithub" )
self.assertEqual( milestone.state, "closed" )
self.assertEqual( milestone.description, "Description edited by PyGithub" )
self.assertEqual( milestone.due_on, "2012-06-16T07:00:00Z" )
def testGetLabels( self ):
milestone = self.repo.get_milestone( 2 )
labels = milestone.get_labels()
self.assertEqual( labels[ 0 ].name, "Public interface" )
def testDelete( self ):
milestone = self.repo.get_milestone( 5 )
milestone.delete()
class Issue( Framework.TestCaseWithRepo ):
def testAttributes( self ):
issue = self.repo.get_issue( 1 )
self.assertEqual( issue.assignee.login, "jacquev6" )
self.assertEqual( issue.body, "" )
self.assertEqual( issue.closed_at, "2012-03-12T20:46:35Z" )
self.assertEqual( issue.closed_by.login, "jacquev6" )
self.assertEqual( issue.comments, 0 )
self.assertEqual( issue.created_at, "2012-02-27T09:11:14Z" )
self.assertEqual( issue.html_url, "https://github.com/jacquev6/PyGithub/issues/1" )
self.assertEqual( issue.id, 3397707 )
self.assertEqual( len( issue.labels ), 1 )
self.assertEqual( issue.labels[ 0 ].name, "Bug" )
self.assertEqual( issue.milestone.title, "Version 0.4" )
self.assertEqual( issue.number, 1 )
# self.assertEqual( issue.pull_request, "" )
self.assertEqual( issue.state, "closed" )
self.assertEqual( issue.title, "Gitub -> Github everywhere" )
self.assertEqual( issue.updated_at, "2012-03-12T20:46:35Z" )
self.assertEqual( issue.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/1" )
self.assertEqual( issue.user.login, "jacquev6" )
def testCreate( self ):
issue = self.repo.create_issue( "Issue created by PyGithub" )
self.assertEqual( issue.number, 28 )
def testEditWithoutParameters( self ):
issue = self.repo.get_issue( 28 )
issue.edit()
def testEditWithAllParameters( self ):
issue = self.repo.get_issue( 28 )
### @todo Variadic argument for labels?
### @todo NamedUser instead of string for assignee
issue.edit( "Title edited by PyGithub", "Body edited by PyGithub", "jacquev6", "open", 2, [ "Bug" ] )
self.assertEqual( issue.assignee.login, "jacquev6" )
self.assertEqual( issue.body, "Body edited by PyGithub" )
self.assertEqual( issue.state, "open" )
self.assertEqual( issue.title, "Title edited by PyGithub" )
self.assertEqual( len( issue.labels ), 1 )
self.assertEqual( issue.labels[ 0 ].name, "Bug" )
def testCreateComment( self ):
issue = self.repo.get_issue( 28 )
comment = issue.create_comment( "Comment created by PyGithub" )
self.assertEqual( comment.id, 5808311 )
def testCommentAttributes( self ):
comment = self.repo.get_issue( 28 ).get_comment( 5808311 )
self.assertEqual( comment.body, "Comment created by PyGithub" )
self.assertEqual( comment.created_at, "2012-05-20T11:46:42Z" )
self.assertEqual( comment.id, 5808311 )
self.assertEqual( comment.updated_at, "2012-05-20T11:46:42Z" )
self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311" )
self.assertEqual( comment.user.login, "jacquev6" )
def testEditComment( self ):
comment = self.repo.get_issue( 28 ).get_comment( 5808311 )
comment.edit( "Comment edited by PyGithub" )
self.assertEqual( comment.body, "Comment edited by PyGithub" )
self.assertEqual( comment.updated_at, "2012-05-20T11:53:59Z" )
def testDeleteComment( self ):
comment = self.repo.get_issue( 28 ).get_comment( 5808311 )
comment.delete()
def testComments( self ):
comment = self.repo.get_issue( 24 ).get_comments()[ 0 ]
self.assertEqual( comment.user.login, "jacquev6" )
def testEvents( self ):
event = self.repo.get_issue( 28 ).get_events()[ 0 ]
self.assertEqual( event.actor.login, "jacquev6" )
self.assertEqual( event.commit_id, None )
self.assertEqual( event.created_at, "2012-05-19T10:38:23Z" )
self.assertEqual( event.event, "subscribed" )
self.assertEqual( event.id, 15819975 )
self.assertEqual( event.issue.number, 28 )
self.assertEqual( event.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975" )
class Label( Framework.TestCaseWithRepo ):
def testAttributes( self ):
label = self.repo.get_label( "Bug" )
self.assertEqual( label.color, "e10c02" )
self.assertEqual( label.name, "Bug" )
self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Bug" )
def testCreate( self ):
label = self.repo.create_label( "Label with silly name % * + created by PyGithub", "00ff00" )
self.assertEqual( label.color, "00ff00" )
self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" )
self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" )
def testGetLabelWithSillyName( self ):
label = self.repo.get_label( "Label with silly name % * + created by PyGithub" )
self.assertEqual( label.color, "00ff00" )
self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" )
self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" )
def testEdit( self ):
label = self.repo.get_label( "Label with silly name % * + created by PyGithub" )
label.edit( "LabelEditedByPyGithub", "0000ff" )
self.assertEqual( label.color, "0000ff" )
self.assertEqual( label.name, "LabelEditedByPyGithub" )
self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub" )
def testDelete( self ):
label = self.repo.get_label( "LabelEditedByPyGithub" )
label.delete()
File diff suppressed because one or more lines are too long
@@ -1,8 +1,3 @@
GET /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b8bb361ff6ba9494c7048b49cfb8a936"'), ('date', 'Tue, 22 May 2012 18:25:51 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"scopes":["user"],"updated_at":"2012-05-22T18:24:11Z","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"url":"https://api.github.com/authorizations/372259","note_url":"http://vincent-jacques.net/PyGithub","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":"Note created by PyGithub","created_at":"2012-05-22T18:03:17Z","id":372259}
DELETE /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:25:53 GMT')]
@@ -1,8 +1,3 @@
GET /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ffd2e8e65bd915f786ed4b9f9e8aff50"'), ('date', 'Tue, 22 May 2012 18:24:08 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"scopes":[],"updated_at":"2012-05-22T18:03:17Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"note_url":null,"created_at":"2012-05-22T18:03:17Z","id":372259}
PATCH /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} {}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"39fec03a7cbd97abde96cccbd1921277"'), ('date', 'Tue, 22 May 2012 18:24:09 GMT'), ('content-type', 'application/json; charset=utf-8')]
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
GET /repos/jacquev6/PyGithub/branches {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2dada6dafd332016bcdf06e42487e520"'), ('date', 'Thu, 10 May 2012 13:56:55 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"name":"topic/RewriteWithGeneratedCode","commit":{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a"}},{"name":"master","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}},{"name":"topic/DependencyGraph","commit":{"sha":"05157f11f29a3ac057e35d2487880c5d08bd69af","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/05157f11f29a3ac057e35d2487880c5d08bd69af"}},{"name":"develop","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}}]
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,10 +0,0 @@
GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('content-length', '714'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eebb2ebe0274fc6672c9e7bad74e5f39"'), ('date', 'Tue, 22 May 2012 18:43:13 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","path":null,"body":"Comment created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","created_at":"2012-05-22T18:40:18Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":null,"updated_at":"2012-05-22T18:40:18Z","id":1361949,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}
PATCH /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:43:17 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-22T18:43:17Z","position":null,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"}
@@ -1,3 +1,13 @@
GET /user {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24}
GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
GET /repos/jacquev6/PyGithub/branches {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2dada6dafd332016bcdf06e42487e520"'), ('date', 'Thu, 10 May 2012 13:56:55 GMT'), ('content-type', 'application/json; charset=utf-8')]
@@ -0,0 +1,5 @@
POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4982'), ('content-length', '714'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd72e3550c9b90814f0be2b54ab2cc8e"'), ('date', 'Tue, 22 May 2012 18:40:18 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1361949')]
{"updated_at":"2012-05-22T18:40:18Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1361949"}
@@ -0,0 +1,5 @@
POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "line": 26}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4970'), ('content-length', '764'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d2cb361ce6c53a0fc986e74f8547088f"'), ('date', 'Tue, 22 May 2012 18:49:34 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362000')]
{"updated_at":"2012-05-22T18:49:34Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:49:34Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":26,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1362000,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362000"}
@@ -0,0 +1,5 @@
POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment also created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "position": 3}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4966'), ('content-length', '768'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b3d062ed01b92c31d072c7177113c0b1"'), ('date', 'Tue, 22 May 2012 18:50:02 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362001')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","body":"Comment also created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362001","created_at":"2012-05-22T18:50:02Z","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","position":3,"updated_at":"2012-05-22T18:50:02Z","id":1362001,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}
@@ -0,0 +1,5 @@
GET /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '4322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9000a379c4d5eba3527a002d2bbc2e0c"'), ('date', 'Fri, 18 May 2012 20:12:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347033},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347083","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1347083},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347397","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347397},{"updated_at":"2012-05-18T20:11:17Z","position":3,"body":"This comment is here only to test PyGithub...","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1349654","created_at":"2012-05-18T20:11:17Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":25,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1349654}]
+15
View File
@@ -0,0 +1,15 @@
GET /user {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24}
GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('content-length', '714'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eebb2ebe0274fc6672c9e7bad74e5f39"'), ('date', 'Tue, 22 May 2012 18:43:13 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","path":null,"body":"Comment created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","created_at":"2012-05-22T18:40:18Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":null,"updated_at":"2012-05-22T18:40:18Z","id":1361949,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}
@@ -0,0 +1,5 @@
DELETE /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT')]
@@ -1,10 +1,5 @@
GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null
PATCH /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT'), ('content-type', 'application/json; charset=utf-8')]
[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:43:17 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-22T18:43:17Z","position":null,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"}
DELETE /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT')]
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c26fc3fce8f52d05f1adf2025bfe34ab"'), ('date', 'Tue, 22 May 2012 19:15:58 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"pushed_at":"2012-05-21T13:48:43Z","updated_at":"2012-05-22T19:15:29Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"pull":true,"admin":true,"push":true},"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"size":181,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","clone_url":"https://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","created_at":"2012-02-25T12:53:47Z","id":3544490,"open_issues":17,"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git"}
GET /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6d8a8b9509b1686543a96ec3c58b0293"'), ('date', 'Tue, 22 May 2012 19:03:36 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242550}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6d8a8b9509b1686543a96ec3c58b0293"'), ('date', 'Tue, 22 May 2012 19:03:36 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242550}
+1 -6
View File
@@ -1,9 +1,4 @@
GET /repos/jacquev6/PyGithub/downloads/242562 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4951'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dcabb0edb27a952d13d734c70e92c4f7"'), ('date', 'Tue, 22 May 2012 19:15:59 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T19:15:29Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242562}
DELETE /repos/jacquev6/PyGithub/downloads/242562 {'Authorization': 'Basic login_and_password_removed'} null
DELETE /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4950'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 19:16:03 GMT')]
@@ -1,5 +1,5 @@
GET /gists/1942384 {'Authorization': 'Basic login_and_password_removed'} null
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/1942384","comments":0,"public":true,"git_pull_url":"git://gist.github.com/1942384.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/1942384","git_push_url":"git@gist.github.com:1942384.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"1942384","history":[{"url":"https://api.github.com/gists/1942384/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]}
{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]}
@@ -1,10 +0,0 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b4e6600dfa740ccc7f7b9d5ee524cfef"'), ('date', 'Sat, 19 May 2012 07:09:41 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"git_pull_url":"git://gist.github.com/2729810.git","updated_at":"2012-05-19T07:06:10Z","forks":[],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","comments":1,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]}
GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '479'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"71e33af16286b8d531f8d8175ed6a8d1"'), ('date', 'Sat, 19 May 2012 07:09:42 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T07:07:57Z","body":"Comment created by PyGithub","url":"https://api.github.com/gists/comments/323629","created_at":"2012-05-19T07:07:57Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":323629}
@@ -1,8 +1,3 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9e3b50f6c9ead4cffcdbe8edb198fdc7"'), ('date', 'Sat, 19 May 2012 07:07:57 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"git_pull_url":"git://gist.github.com/2729810.git","updated_at":"2012-05-19T07:06:10Z","forks":[],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]}
POST /gists/2729810/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4992'), ('content-length', '479'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"77456eabf6ebaafc2808cfbd4dfa5904"'), ('date', 'Sat, 19 May 2012 07:07:57 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/comments/323629')]
+1 -6
View File
@@ -1,9 +1,4 @@
GET /gists/2729865 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '3460'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e829012f18db493a69740de762186eb5"'), ('date', 'Sat, 19 May 2012 07:26:54 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"RoR setup in AWS EC2(Ubuntu 12.04 LTS)","comments":0,"updated_at":"2012-05-19T07:25:30Z","public":true,"git_pull_url":"git://gist.github.com/2729865.git","history":[{"user":{"url":"https://api.github.com/users/Kechol","avatar_url":"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f2a6400b393749ccd9ad3f24d4995f77","login":"Kechol","id":625489},"change_status":{"total":57,"deletions":0,"additions":57},"committed_at":"2012-05-19T07:06:08Z","version":"a655d19a12233e5e5615deb714eae95c433eed57","url":"https://api.github.com/gists/2729865/a655d19a12233e5e5615deb714eae95c433eed57"}],"git_push_url":"git@gist.github.com:2729865.git","url":"https://api.github.com/gists/2729865","fork_of":{"user":{"url":"https://api.github.com/users/Kechol","avatar_url":"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f2a6400b393749ccd9ad3f24d4995f77","login":"Kechol","id":625489},"description":"RoR setup in AWS EC2(Ubuntu 12.04 LTS)","comments":0,"updated_at":"2012-05-19T07:06:08Z","public":true,"git_pull_url":"git://gist.github.com/2729818.git","git_push_url":"git@gist.github.com:2729818.git","url":"https://api.github.com/gists/2729818","html_url":"https://gist.github.com/2729818","id":"2729818","created_at":"2012-05-19T07:06:08Z","files":{"ror.markdown":{"type":"text/plain","size":1076,"filename":"ror.markdown","raw_url":"https://gist.github.com/raw/2729818/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown","language":"Markdown"}}},"html_url":"https://gist.github.com/2729865","id":"2729865","forks":[],"created_at":"2012-05-19T07:25:30Z","files":{"ror.markdown":{"content":"## create user\n\nsudo useradd -m username\nvisudo\n\n## delete default user\n\nsudo userdel ubuntu\nsudo rm -Rf ubuntu\n\n## setup ssh\n\nmkdir ~/.ssh\nvi /etc/ssh/authorized_keys\nsudo vi /etc/ssh/sshd_config\n\n\n## install packages\n\nsudo apt-get update\n\nsudo apt-get install sysv-rc-init git-core apache2-utils wget vim\nsudo apt-get install mysql-client mysql-server libmysqld-dev\nsudo apt-get install g++ openssl zlib1g readline-common libyaml-dev libssl-dev zlib1g-dev libxml2-dev libxslt1-dev libjson0-dev libgcc1 libreadline-dev\n\n\n## install nginx\n\nwget http://nginx.org/keys/nginx_signing.key\nsudo apt-key add nginx_signing.key\n\n### add /etc/sources.list\n> \"deb http://nginx.org/packages/ubuntu/ lucid nginx\ndeb-src http://nginx.org/packages/ubuntu/ lucid nginx\"\n\napt-get update\napt-get install nginx\n\n\n## setup system\n\nsudo sysv-rc-init\n\n\n## install ruby\n\ncd /usr/local/src\nsudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz\nsudo tar zxvf ruby-1.9.3-p194.tar.gz\ncd ruby-1.9.3-p194\nsudo ./configure\nsudo make && make install\n\n\n## install RoR\n\nsudo gem install rails","type":"text/plain","size":1076,"filename":"ror.markdown","raw_url":"https://gist.github.com/raw/2729865/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown","language":"Markdown"}}}
DELETE /gists/2729865 {'Authorization': 'Basic login_and_password_removed'} null
DELETE /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4965'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:26:55 GMT')]
@@ -1,15 +0,0 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a636b99e979073297d6ca94ce1a8d1ce"'), ('date', 'Sat, 19 May 2012 07:14:32 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Description edited by PyGithub","comments":1,"updated_at":"2012-05-19T07:06:10Z","public":true,"git_pull_url":"git://gist.github.com/2729810.git","history":[{"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"change_status":{"total":0,"deletions":0,"additions":0},"committed_at":"2012-05-19T07:06:10Z","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472"},{"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:04:31Z","version":"e730170a9599696a9d776f8bb5028b35f937b6de","url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de"},{"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c"}],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","html_url":"https://gist.github.com/2729810","id":"2729810","forks":[],"created_at":"2012-05-19T07:00:58Z","files":{"barbaz.txt":{"content":"File also created by PyGithub","type":"text/plain","size":29,"filename":"barbaz.txt","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","language":"Text"},"foobar.txt":{"content":"File created by PyGithub","type":"text/plain","size":24,"filename":"foobar.txt","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","language":"Text"}}}
GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '478'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"32df971f7c0bdddde4a69a2a56144729"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T07:12:32Z","body":"Comment edited by PyGithub","url":"https://api.github.com/gists/comments/323629","created_at":"2012-05-19T07:07:57Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":323629}
DELETE /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT')]
-15
View File
@@ -1,15 +0,0 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"81f7a620c437614be12eae5458bb7cfc"'), ('date', 'Sat, 19 May 2012 07:12:30 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T07:06:10Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","version":"e730170a9599696a9d776f8bb5028b35f937b6de","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]}
GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('content-length', '479'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"c2581153865c9b18a576589587e1fb98"'), ('date', 'Sat, 19 May 2012 07:12:31 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/gists/comments/323629","body":"Comment created by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:07:57Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}
PATCH /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('content-length', '478'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"cea8090368993f1fb95c32cdcf4245d3"'), ('date', 'Sat, 19 May 2012 07:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/gists/comments/323629","body":"Comment edited by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:12:32Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}
@@ -1,8 +1,3 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '2220'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c27a9e46dabeeafd7f009cc95ed995ad"'), ('date', 'Sat, 19 May 2012 07:06:09 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"git_push_url":"git@gist.github.com:2729810.git","updated_at":"2012-05-19T07:04:31Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGitHub","created_at":"2012-05-19T07:00:58Z","git_pull_url":"git://gist.github.com/2729810.git","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]}
PATCH /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} {"files": {"barbaz.txt": {"content": "File also created by PyGithub"}}, "description": "Description edited by PyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"14d4466c0580c6f8e9be17f81eb1c3b0"'), ('date', 'Sat, 19 May 2012 07:06:10 GMT'), ('content-type', 'application/json; charset=utf-8')]
@@ -1,8 +1,3 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9d90688efdf43c600be9c6c068f007dd"'), ('date', 'Sat, 19 May 2012 07:03:54 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T07:00:58Z","git_push_url":"git@gist.github.com:2729810.git","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}],"git_pull_url":"git://gist.github.com/2729810.git"}
PATCH /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} {}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9d90688efdf43c600be9c6c068f007dd"'), ('date', 'Sat, 19 May 2012 07:03:55 GMT'), ('content-type', 'application/json; charset=utf-8')]
-5
View File
@@ -1,8 +1,3 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('content-length', '2759'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"de29b22b323aa9d2a9a8befbac2342e3"'), ('date', 'Sat, 19 May 2012 07:20:32 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"git_pull_url":"git://gist.github.com/2729810.git","url":"https://api.github.com/gists/2729810","git_push_url":"git@gist.github.com:2729810.git","created_at":"2012-05-19T07:00:58Z","public":true,"history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"total":0,"deletions":0,"additions":0},"committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}],"files":{"foobar.txt":{"type":"text/plain","filename":"foobar.txt","content":"File created by PyGithub","size":24,"raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","language":"Text"},"barbaz.txt":{"type":"text/plain","filename":"barbaz.txt","content":"File also created by PyGithub","size":29,"raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","language":"Text"}},"forks":[],"comments":1,"description":"Description edited by PyGithub","updated_at":"2012-05-19T07:06:10Z","html_url":"https://gist.github.com/2729810","id":"2729810","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}
GET /gists/2729810/comments {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '473'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ed0bedf32cc0d6f8dfe93e85ffa951cc"'), ('date', 'Sat, 19 May 2012 07:20:33 GMT'), ('content-type', 'application/json; charset=utf-8')]
-5
View File
@@ -1,8 +1,3 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4f8e6261b538d0fc14d571775f76d923"'), ('date', 'Sat, 19 May 2012 07:22:28 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T07:06:10Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"barbaz.txt":{"raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","type":"text/plain","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","type":"text/plain","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","git_push_url":"git@gist.github.com:2729810.git","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"version":"e730170a9599696a9d776f8bb5028b35f937b6de","committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}}]}
GET /gists/2729810/star {'Authorization': 'Basic login_and_password_removed'} null
404
[('status', '404 Not Found'), ('x-ratelimit-remaining', '4975'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99914b932bd37a50b983c5e7c90ae93b"'), ('date', 'Sat, 19 May 2012 07:22:29 GMT'), ('content-type', 'application/json; charset=utf-8')]
+10
View File
@@ -0,0 +1,10 @@
GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]}
GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('content-length', '479'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"c2581153865c9b18a576589587e1fb98"'), ('date', 'Sat, 19 May 2012 07:12:31 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/gists/comments/323629","body":"Comment created by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:07:57Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}
@@ -0,0 +1,5 @@
DELETE /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT')]
+5
View File
@@ -0,0 +1,5 @@
PATCH /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('content-length', '478'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"cea8090368993f1fb95c32cdcf4245d3"'), ('date', 'Sat, 19 May 2012 07:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/gists/comments/323629","body":"Comment edited by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:12:32Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"156b4bd24ab7a88fd5e1c851f71eea20"'), ('date', 'Thu, 10 May 2012 19:05:13 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"mirror_url":null,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"}
GET /repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '1987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4b96ab346d46fbc2a409711500d54f42"'), ('date', 'Thu, 10 May 2012 19:05:16 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","encoding":"base64","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\nICdQeUdpdGh1YicsCiAgICB2ZXJzaW9uID0gJzAuNicsCiAgICBkZXNjcmlw\ndGlvbiA9ICdVc2UgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MycsCiAgICBhdXRo\nb3IgPSAnVmluY2VudCBKYWNxdWVzJywKICAgIGF1dGhvcl9lbWFpbCA9ICd2\naW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQnLAogICAgdXJsID0gJ2h0dHA6\nLy92aW5jZW50LWphY3F1ZXMubmV0L1B5R2l0aHViJywKICAgIGxvbmdfZGVz\nY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoICIiIlwKICAgICAgICBUdXRv\ncmlhbAogICAgICAgID09PT09PT09CgogICAgICAgIEZpcnN0IGNyZWF0ZSBh\nIEdpaHViIGluc3RhbmNlOjoKCiAgICAgICAgICAgIGZyb20gZ2l0aHViIGlt\ncG9ydCBHaXRodWIKCiAgICAgICAgICAgIGcgPSBHaXRodWIoICJ1c2VyIiwg\nInBhc3N3b3JkIiApCgogICAgICAgIFRoZW4gcGxheSB3aXRoIHlvdXIgR2l0\naHViIG9iamVjdHM6OgoKICAgICAgICAgICAgZm9yIHJlcG8gaW4gZy5nZXRf\ndXNlcigpLmdldF9yZXBvcygpOgogICAgICAgICAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgICAgICAgICByZXBvLmVkaXQoIGhhc193aWtpID0g\nRmFsc2UgKQoKICAgICAgICBSZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgogICAg\nICAgID09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFNlZSBodHRw\nOi8vdmluY2VudC1qYWNxdWVzLm5ldC9QeUdpdGh1YiIiIiApLAogICAgcGFj\na2FnZXMgPSBbCiAgICAgICAgJ2dpdGh1YicsCiAgICAgICAgJ2dpdGh1Yi5H\naXRodWJPYmplY3RzJywKICAgICAgICAnZ2l0aHViLkdpdGh1Yk9iamVjdHMu\nR2l0aHViT2JqZWN0JywKICAgIF0sCiAgICBjbGFzc2lmaWVycz1bCiAgICAg\nICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCiAgICAgICAg\nIkVudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCIsCiAgICAgICAgIklu\ndGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAogICAgICAgICJMaWNl\nbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgTGlicmFyeSBvciBMZXNzZXIg\nR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCkiLAogICAgICAgICJPcGVy\nYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKICAgICAgICAiUHJv\nZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667"}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '1987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4b96ab346d46fbc2a409711500d54f42"'), ('date', 'Thu, 10 May 2012 19:05:16 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","encoding":"base64","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\nICdQeUdpdGh1YicsCiAgICB2ZXJzaW9uID0gJzAuNicsCiAgICBkZXNjcmlw\ndGlvbiA9ICdVc2UgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MycsCiAgICBhdXRo\nb3IgPSAnVmluY2VudCBKYWNxdWVzJywKICAgIGF1dGhvcl9lbWFpbCA9ICd2\naW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQnLAogICAgdXJsID0gJ2h0dHA6\nLy92aW5jZW50LWphY3F1ZXMubmV0L1B5R2l0aHViJywKICAgIGxvbmdfZGVz\nY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoICIiIlwKICAgICAgICBUdXRv\ncmlhbAogICAgICAgID09PT09PT09CgogICAgICAgIEZpcnN0IGNyZWF0ZSBh\nIEdpaHViIGluc3RhbmNlOjoKCiAgICAgICAgICAgIGZyb20gZ2l0aHViIGlt\ncG9ydCBHaXRodWIKCiAgICAgICAgICAgIGcgPSBHaXRodWIoICJ1c2VyIiwg\nInBhc3N3b3JkIiApCgogICAgICAgIFRoZW4gcGxheSB3aXRoIHlvdXIgR2l0\naHViIG9iamVjdHM6OgoKICAgICAgICAgICAgZm9yIHJlcG8gaW4gZy5nZXRf\ndXNlcigpLmdldF9yZXBvcygpOgogICAgICAgICAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgICAgICAgICByZXBvLmVkaXQoIGhhc193aWtpID0g\nRmFsc2UgKQoKICAgICAgICBSZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgogICAg\nICAgID09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFNlZSBodHRw\nOi8vdmluY2VudC1qYWNxdWVzLm5ldC9QeUdpdGh1YiIiIiApLAogICAgcGFj\na2FnZXMgPSBbCiAgICAgICAgJ2dpdGh1YicsCiAgICAgICAgJ2dpdGh1Yi5H\naXRodWJPYmplY3RzJywKICAgICAgICAnZ2l0aHViLkdpdGh1Yk9iamVjdHMu\nR2l0aHViT2JqZWN0JywKICAgIF0sCiAgICBjbGFzc2lmaWVycz1bCiAgICAg\nICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCiAgICAgICAg\nIkVudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCIsCiAgICAgICAgIklu\ndGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAogICAgICAgICJMaWNl\nbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgTGlicmFyeSBvciBMZXNzZXIg\nR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCkiLAogICAgICAgICJPcGVy\nYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKICAgICAgICAiUHJv\nZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667"}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"72a84ed8ad0d83f6a4c09dcd388c20a1"'), ('date', 'Thu, 10 May 2012 19:05:27 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"}
GET /repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eabd190c639b57d447ea6d3463da7aae"'), ('date', 'Thu, 10 May 2012 19:05:28 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'\n","committer":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"}}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eabd190c639b57d447ea6d3463da7aae"'), ('date', 'Thu, 10 May 2012 19:05:28 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'\n","committer":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"}}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"82dfa2c767e249ed2a1703529101f0aa"'), ('date', 'Thu, 10 May 2012 18:49:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:14:23Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:14:23Z"}
GET /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '336'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ef55032f07a176e09c65b2ac524c2ecf"'), ('date', 'Thu, 10 May 2012 14:38:00 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","type":"commit","sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"ref":"refs/heads/BranchCreatedByPyGithub"}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '336'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ef55032f07a176e09c65b2ac524c2ecf"'), ('date', 'Thu, 10 May 2012 14:38:00 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","type":"commit","sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"ref":"refs/heads/topic/RewriteWithGeneratedCode"}
@@ -1,20 +0,0 @@
POST /repos/jacquev6/PyGithub/git/refs {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "ref": "refs/heads/BranchCreatedByPyGithub"}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4987'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0302e489fc6bd534afa44cdbec1227e7"'), ('date', 'Thu, 10 May 2012 18:49:19 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub')]
{"object":{"type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub"}
PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "04cde900a0775b51f762735637bd30de392a2793"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ced480ad69948233f6520f7cd945eb34"'), ('date', 'Thu, 10 May 2012 18:49:20 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/04cde900a0775b51f762735637bd30de392a2793","type":"commit","sha":"04cde900a0775b51f762735637bd30de392a2793"},"ref":"refs/heads/BranchCreatedByPyGithub"}
PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "force": true}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fb39f29de1defbab14def8a331d00c69"'), ('date', 'Thu, 10 May 2012 18:49:21 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub"}
DELETE /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Thu, 10 May 2012 18:49:22 GMT')]
+5
View File
@@ -0,0 +1,5 @@
DELETE /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Thu, 10 May 2012 18:49:22 GMT')]
+5
View File
@@ -0,0 +1,5 @@
PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "04cde900a0775b51f762735637bd30de392a2793"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ced480ad69948233f6520f7cd945eb34"'), ('date', 'Thu, 10 May 2012 18:49:20 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/04cde900a0775b51f762735637bd30de392a2793","type":"commit","sha":"04cde900a0775b51f762735637bd30de392a2793"},"ref":"refs/heads/BranchCreatedByPyGithub"}
@@ -0,0 +1,5 @@
PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "force": true}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fb39f29de1defbab14def8a331d00c69"'), ('date', 'Thu, 10 May 2012 18:49:21 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub"}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b297a1eb78f994e828d8b625dae93910"'), ('date', 'Thu, 10 May 2012 19:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"}
GET /repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1dd282b50e691f8f162ef9355dad8771"'), ('date', 'Thu, 10 May 2012 19:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","tag":"v0.6","message":"Version 0.6\n","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"tagger":{"email":"vincent@vincent-jacques.net","date":"2012-05-10T11:14:15-07:00","name":"Vincent Jacques"},"sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1dd282b50e691f8f162ef9355dad8771"'), ('date', 'Thu, 10 May 2012 19:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","tag":"v0.6","message":"Version 0.6\n","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"tagger":{"email":"vincent@vincent-jacques.net","date":"2012-05-10T11:14:15-07:00","name":"Vincent Jacques"},"sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"80c85d7120a6d887a451a951adbfbe8e"'), ('date', 'Thu, 10 May 2012 19:03:08 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-10T18:49:21Z","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"homepage":"http://vincent-jacques.net/PyGithub","forks":2,"git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","pushed_at":"2012-05-10T18:49:21Z","language":"Python","size":196,"private":false,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","mirror_url":null,"has_downloads":true,"watchers":13,"description":"Python library implementing the full Github API v3","id":3544490,"permissions":{"admin":true,"pull":true,"push":true}}
GET /repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '2588'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d37c2285c7bc31e9c29a9e36808b12bc"'), ('date', 'Thu, 10 May 2012 19:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","type":"blob","size":53,"sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","path":".gitignore","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","type":"blob","size":1832,"sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","path":"Design.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","type":"blob","size":28643,"sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","path":"IntegrationTest.py","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","type":"blob","size":3153,"sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","path":"ReadMe.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","type":"blob","size":12687,"sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","path":"ReferenceOfApis.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","type":"blob","size":15967,"sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","path":"ReferenceOfClasses.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","type":"tree","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","type":"blob","size":320,"sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","path":"RoadMap.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","type":"tree","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","type":"blob","size":673,"sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","path":"run_tests.sh","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","type":"blob","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667","path":"setup.py","mode":"100644"}]}
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '2588'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d37c2285c7bc31e9c29a9e36808b12bc"'), ('date', 'Thu, 10 May 2012 19:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","type":"blob","size":53,"sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","path":".gitignore","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","type":"blob","size":1832,"sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","path":"Design.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","type":"blob","size":28643,"sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","path":"IntegrationTest.py","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","type":"blob","size":3153,"sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","path":"ReadMe.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","type":"blob","size":12687,"sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","path":"ReferenceOfApis.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","type":"blob","size":15967,"sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","path":"ReferenceOfClasses.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","type":"tree","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","type":"blob","size":320,"sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","path":"RoadMap.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","type":"tree","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","type":"blob","size":673,"sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","path":"run_tests.sh","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","type":"blob","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667","path":"setup.py","mode":"100644"}]}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9980e3e204ce293ebdb8dc90ff290268"'), ('date', 'Sat, 19 May 2012 05:09:00 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73e795da2a2d325298007f3b78822b98"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T06:02:36Z","last_response":{"status":"unused","message":null,"code":null},"events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"}
+1 -6
View File
@@ -1,9 +1,4 @@
GET /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '303'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a686c4d4f706840e166ebafdfd05f41f"'), ('date', 'Sat, 19 May 2012 05:09:01 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com/hook"},"last_response":{"status":"unused","message":null,"code":null},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967}
DELETE /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null
DELETE /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4986'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 05:09:01 GMT')]
@@ -1,8 +1,3 @@
GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73e795da2a2d325298007f3b78822b98"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T06:02:36Z","last_response":{"status":"unused","message":null,"code":null},"events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"}
PATCH /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com"}, "name": "web", "events": ["fork", "push"]}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '305'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"43f8b86dbc2f5bbfde20abb9d9142206"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')]
@@ -1,10 +1,5 @@
GET /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7be10de17b101889781f9b1fde89d38f"'), ('date', 'Sat, 19 May 2012 05:08:16 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:03:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967}
PATCH /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com/hook"}, "name": "web"}
PATCH /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com/hook"}, "name": "web"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '303'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8628a600a78bd5171c9e8d23b1ec22de"'), ('date', 'Sat, 19 May 2012 05:08:16 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com/hook"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967}
{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com/hook"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257993}
-5
View File
@@ -1,8 +1,3 @@
GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f4a973ea4a9c930d4a89ea010190c734"'), ('date', 'Sat, 19 May 2012 06:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-19T06:03:20Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com"},"active":true,"last_response":{"status":"unused","message":null,"code":null},"events":["push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993}
POST /repos/jacquev6/PyGithub/hooks/257993/test {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4980'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 06:04:06 GMT')]
+9 -4
View File
@@ -1,10 +1,15 @@
GET /user {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f76b5cd2cfc8c74f78bd97418b642046"'), ('date', 'Fri, 18 May 2012 19:30:30 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"collaborators":0,"type":"User","bio":"","public_gists":1,"company":"Criteo","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"public_repos":11,"private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"followers":13,"owned_private_repos":5,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"following":24,"hireable":false}
[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"}
GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7c62781b2ce6aff41b69c602184160ba"'), ('date', 'Fri, 18 May 2012 19:30:34 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","mirror_url":null,"size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"}
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"}
-5
View File
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/1 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '1997'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b7e46583baa189706dc79bb9ad16b23b"'), ('date', 'Fri, 18 May 2012 19:30:34 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"closed_by":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"state":"closed","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Gitub -> Github everywhere","comments":0,"updated_at":"2012-03-12T20:46:35Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":"2012-03-12T20:46:35Z","body":"","number":1,"milestone":{"due_on":"2012-03-13T07:00:00Z","state":"closed","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"","title":"Version 0.4","open_issues":0,"closed_issues":2,"number":1,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","id":93546,"created_at":"2012-03-08T12:22:10Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/1","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"}],"id":3397707,"html_url":"https://github.com/jacquev6/PyGithub/issues/1","created_at":"2012-02-27T09:11:14Z"}
@@ -1,10 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e8b679df4af9d70072857162b3a62313"'), ('date', 'Sun, 20 May 2012 11:50:55 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"updated_at":"2012-05-20T11:46:43Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","closed_issues":1,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}}
GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311}
-10
View File
@@ -1,10 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/24 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '2945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd0bf26024bb20283dc017ee0099a60a"'), ('date', 'Sat, 26 May 2012 09:43:02 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"closed_issues":2,"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"closed_by":null,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"}
GET /repos/jacquev6/PyGithub/issues/24/comments {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}]
@@ -1,8 +1,3 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dd40e87b20ed69020848a364c77d6f32"'), ('date', 'Sun, 20 May 2012 11:46:42 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-19T10:42:25Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547,"closed_issues":1}}
POST /repos/jacquev6/PyGithub/issues/28/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4996'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"08cea7c821f6f3378e38921a9e7bc05e"'), ('date', 'Sun, 20 May 2012 11:46:43 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311')]
@@ -1,15 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"829071cb0599641d271fbe054ab8d4d6"'), ('date', 'Sun, 20 May 2012 11:57:10 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-20T11:53:59Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}}
GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4cfc67d3d0dfa8a089cf81f6e1c8a5d0"'), ('date', 'Sun, 20 May 2012 11:57:11 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":5808311}
DELETE /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 11:57:12 GMT')]
-15
View File
@@ -1,15 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99394deb49d92786c59729b2c9bafedc"'), ('date', 'Sun, 20 May 2012 11:53:58 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-20T11:46:43Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}}
GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5fbf9b4d629ac863b94c51970c289d1b"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":5808311}
PATCH /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1599061186ef7ca2dbf5bdee1711746a"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311}
@@ -1,8 +1,3 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c7997bf84a819e63740714551d52e876"'), ('date', 'Sat, 19 May 2012 10:42:25 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":null,"updated_at":"2012-05-19T10:38:23Z","body":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Issue created by PyGithub","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"labels":[],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4653757,"milestone":null}
PATCH /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} {"body": "Body edited by PyGithub", "title": "Title edited by PyGithub", "labels": ["Bug"], "assignee": "jacquev6", "state": "open", "milestone": 2}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '2034'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"98bbbf2b2187bf5cdd9aead53ecc2b97"'), ('date', 'Sat, 19 May 2012 10:42:26 GMT'), ('content-type', 'application/json; charset=utf-8')]
@@ -1,8 +1,3 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"771af112ee4f9ad5858f5c9b5141b319"'), ('date', 'Sat, 19 May 2012 10:41:02 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"assignee":null,"updated_at":"2012-05-19T10:38:23Z","body":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Issue created by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"closed_at":null,"labels":[],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"milestone":null}
PATCH /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} {}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"771af112ee4f9ad5858f5c9b5141b319"'), ('date', 'Sat, 19 May 2012 10:41:03 GMT'), ('content-type', 'application/json; charset=utf-8')]
-15
View File
@@ -1,15 +0,0 @@
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"988b0ac56d6c092dcd7bc9d9598e60c1"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"closed_by":null,"state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Title edited by PyGithub","comments":0,"updated_at":"2012-05-20T11:57:12Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"body":"Body edited by PyGithub","number":28,"milestone":{"due_on":null,"state":"open","creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","open_issues":11,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":1,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}],"id":4653757,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z"}
GET /repos/jacquev6/PyGithub/issues/28/events {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c22776de31a71795b5374ee3c61f51bd"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]
GET /repos/jacquev6/PyGithub/issues/events/15819975 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '2734'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a9cee253a596ccc2bbc8c12d425dff08"'), ('date', 'Sun, 20 May 2012 12:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"commit_id":null,"event":"subscribed","actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","issue":{"state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Title edited by PyGithub","comments":0,"updated_at":"2012-05-20T11:57:12Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"body":"Body edited by PyGithub","number":28,"milestone":{"due_on":null,"state":"open","creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","open_issues":11,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":1,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}],"id":4653757,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z"},"id":15819975,"created_at":"2012-05-19T10:38:23Z"}
@@ -0,0 +1,5 @@
GET /repos/jacquev6/PyGithub/issues/28/comments {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}]
+5
View File
@@ -0,0 +1,5 @@
GET /repos/jacquev6/PyGithub/issues/28/events {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c22776de31a71795b5374ee3c61f51bd"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]
+20
View File
@@ -0,0 +1,20 @@
GET /user {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"}
GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"}
GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"}
GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311}
@@ -0,0 +1,4 @@
DELETE /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 11:57:12 GMT')]
@@ -0,0 +1,5 @@
PATCH /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1599061186ef7ca2dbf5bdee1711746a"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311}
+5
View File
@@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed
[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1da4fc53170e51b749ed7930a5fe947c"'), ('date', 'Sat, 19 May 2012 10:17:52 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","mirror_url":null,"size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490}
GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sat, 19 May 2012 09:40:37 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"}
-5
View File
@@ -1,5 +0,0 @@
GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sat, 19 May 2012 09:40:37 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"}
+1 -6
View File
@@ -1,9 +1,4 @@
GET /repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '133'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57435796bd4f14b84ad92105669cfab1"'), ('date', 'Sat, 19 May 2012 10:17:53 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub","name":"LabelEditedByPyGithub","color":"0000ff"}
DELETE /repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null
DELETE /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null
204
[('status', '204 No Content'), ('x-ratelimit-remaining', '4961'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 10:17:53 GMT')]
+1 -6
View File
@@ -1,9 +1,4 @@
GET /repos/jacquev6/PyGithub/labels/Label%20with%20silly%20name%20%25%20%2A%20%2B%20created%20by%20PyGithub {'Authorization': 'Basic login_and_password_removed'} null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '191'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"92b623552b1bac3f019d03c920305acd"'), ('date', 'Sat, 19 May 2012 10:17:43 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub","name":"Label with silly name % * + created by PyGithub","color":"00ff00"}
PATCH /repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub {'Authorization': 'Basic login_and_password_removed'} {"color": "0000ff", "name": "LabelEditedByPyGithub"}
PATCH /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} {"color": "0000ff", "name": "LabelEditedByPyGithub"}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '133'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57435796bd4f14b84ad92105669cfab1"'), ('date', 'Sat, 19 May 2012 10:17:44 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub","name":"LabelEditedByPyGithub","color":"0000ff"}

Some files were not shown because too many files have changed in this diff Show More