mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 10:51:14 +00:00
Labels
This commit is contained in:
@@ -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
@@ -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`
|
||||
==================================
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 } ),
|
||||
|
||||
Reference in New Issue
Block a user