This commit is contained in:
Vincent Jacques
2012-02-24 11:46:34 +00:00
parent eac514210e
commit d5202efc25
4 changed files with 34 additions and 5 deletions
+3
View File
@@ -157,6 +157,8 @@ class IntegrationTest:
r.create_git_ref( "refs/tags/a_tag", tag.sha )
# Issues and milestones
l = r.create_label( "Label created by PyGithub", "00FF00" )
l.edit( "Label created and modified by PyGithub", "FFFF00" )
m = r.create_milestone( title = "This milestone was created by PyGithub" )
m.edit( title = m.title, description = "And the description was modified by PyGithub as well" )
m = r.create_milestone( title = "This milestone was also created by PyGithub" )
@@ -212,6 +214,7 @@ class IntegrationTest:
if blob.encoding == "base64":
print base64.b64decode( blob.content ),
print
print " Labels:", ", ".join( l.name + " (" + l.color + ")" for l in r.get_labels() )
print " Milestones:", ", ".join( m.title + " (created by " + m.creator.login + ")" for m in r.get_milestones() )
print " Closed milestones:", ", ".join( m.title for m in r.get_milestones( state = "closed" ) )
print
+5 -5
View File
@@ -290,14 +290,14 @@ API `/repos/:user/:repo/keys/:id`
API `/repos/:user/:repo/labels`
===============================
* GET: (TODO SOON)
* POST: (TODO SOON)
* GET: `Repository.get_labels()`: list of `Label`
* POST: `Repository.create_label( ... )`: `Label`
API `/repos/:user/:repo/labels/:id`
===================================
* GET: (TODO SOON)
* PATCH: (TODO SOON)
* DELETE: (TODO SOON)
* GET: `Repository.get_label( id )`: `Label`
* PATCH: `Label.edit( ... )`
* DELETE: `Label.delete()`
API `/repos/:user/:repo/languages`
==================================
+9
View File
@@ -139,10 +139,19 @@ Teams
Issues and milestones
---------------------
* `get_labels()`: list of `Label`
* `create_label( ... )`: `Label`: see [API](http://developer.github.com/v3/issues/labels/#create-a-label) for parameters
* `get_label( id )`: `Label`
* `get_milestones( ... )`: list of `Milestone`: see [API](http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository) for parameters
* `create_milestone( ... )`: `Milestone`: see [API](http://developer.github.com/v3/issues/milestones/#create-a-milestone) for parameters
* `get_milestone( number )`: `Milestone`
Class `Label`
================
* Attributes: see [API](http://developer.github.com/v3/issues/labels/#get-a-single-label)
* `edit( ... )`: see [API](http://developer.github.com/v3/issues/labels/#update-a-label) for parameters
* `delete()`
Class `Milestone`
================
* Attributes: see [API](http://developer.github.com/v3/issues/milestones/#get-a-single-milestone)
+17
View File
@@ -1,4 +1,5 @@
import itertools
import urllib
from GithubObject import *
@@ -115,6 +116,17 @@ GitTag = GithubObject(
),
)
Label = GithubObject(
"Label",
BaseUrl( lambda obj: obj._repo._baseUrl + "/labels/" + urllib.quote( obj.name ) ),
BasicAttributes(
"url", "name", "color",
"_repo", ### Ugly hack
),
Editable( [ "name", "color" ], [] ),
Deletable(),
)
Milestone = GithubObject(
"Milestone",
BaseUrl( lambda obj: obj._repo._baseUrl + "/milestones/" + str( obj.number ) ),
@@ -168,6 +180,11 @@ Repository = GithubObject(
ElementGetable( "git_tag", lambda repo, sha: { "_repo": repo, "sha": sha } ),
ElementCreatable( "git_tag", [ "tag", "message", "object", "type" ], [ "tagger" ], __modifyAttributesForObjectsReferingRepo )
),
ListAttribute( "labels", Label,
ListGetable( [], [] ),
ElementGetable( "label", lambda repo, name: { "_repo": repo, "name": name } ),
ElementCreatable( "label", [ "name", "color" ], [], __modifyAttributesForObjectsReferingRepo ),
),
ListAttribute( "milestones", Milestone,
ListGetable( [], [ "state", "sort", "direction" ] ),
ElementGetable( "milestone", lambda repo, number: { "_repo": repo, "number": number } ),