diff options
| author | 2012-06-16 13:56:29 +0200 | |
|---|---|---|
| committer | 2012-06-16 13:58:12 +0200 | |
| commit | 107b12b3b48040488ff6ddd54cb1300200dc8b37 (patch) | |
| tree | f35c57bb8b5c5cd85511aaad1c0df0e4f97c0c25 /pygithub3/requests/issues/labels.py | |
| parent | Merge #5 'services/orgs' (diff) | |
| parent | Tests on services.issues working (diff) | |
| download | python-github3-107b12b3b48040488ff6ddd54cb1300200dc8b37.tar.xz python-github3-107b12b3b48040488ff6ddd54cb1300200dc8b37.zip | |
Merge #12 'services/issues'
Diffstat (limited to 'pygithub3/requests/issues/labels.py')
| -rw-r--r-- | pygithub3/requests/issues/labels.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/pygithub3/requests/issues/labels.py b/pygithub3/requests/issues/labels.py new file mode 100644 index 0000000..9ae6025 --- /dev/null +++ b/pygithub3/requests/issues/labels.py @@ -0,0 +1,77 @@ +# -*- encoding: utf-8 -*- + +from pygithub3.requests.base import Request, ValidationError +from pygithub3.resources.issues import Label + + +class List(Request): + + uri = 'repos/{user}/{repo}/labels' + resource = Label + + +class Get(Request): + uri = 'repos/{user}/{repo}/labels/{name}' + resource = Label + + +class Create(Request): + uri = 'repos/{user}/{repo}/labels' + resource = Label + body_schema = { + 'schema': ('name', 'color'), + 'required': ('name', 'color' ) + } + + def clean_body(self): + color = self.body.get('color', '') + if not Label.is_valid_color(color): + raise ValidationError('colors must have 6 hexadecimal characters, ' + 'without # in the beggining') + else: + return self.body + + +class Update(Create): + + uri = 'repos/{user}/{repo}/labels/{name}' + resource = Label + body_schema = { + 'schema': ('name', 'color'), + 'required': ('name', 'color' ) + } + + +class Delete(Request): + uri = 'repos/{user}/{repo}/labels/{name}' + resource = Label + + +class List_by_issue(Request): + uri = 'repos/{user}/{repo}/issues/{number}/labels' + resource = Label + + +class Add_to_issue(Request): + uri = 'repos/{user}/{repo}/issues/{number}/labels' + resource = Label + + +class Remove_from_issue(Request): + uri = 'repos/{user}/{repo}/issues/{number}/labels/{name}' + resource = Label + + +class Replace_all(Request): + uri = 'repos/{user}/{repo}/issues/{number}/labels' + resource = Label + + +class Remove_all(Request): + uri = 'repos/{user}/{repo}/issues/{number}/labels' + resource = Label + + +class List_by_milestone(Request): + uri = 'repos/{user}/{repo}/milestones/{number}/labels' + resource = Label |
