aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/requests/issues/labels.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-06-03 13:02:54 +0200
committerDavid Medina <davidmedina9@gmail.com>2012-06-03 13:02:54 +0200
commit897671db979e64754de2c53cbbe83fcbae37bb02 (patch)
tree11ac9ede303971d2bcaf270d833fd4112c923509 /pygithub3/requests/issues/labels.py
parentMerge 'services/orgs' (diff)
parentChange "Edit" to "Update" in docstring (diff)
downloadpython-github3-897671db979e64754de2c53cbbe83fcbae37bb02.tar.xz
python-github3-897671db979e64754de2c53cbbe83fcbae37bb02.zip
Merge branch 'services/issues' of https://github.com/alejandrogomez/python-github3 into services/issues
Conflicts: docs/services.rst pygithub3/github.py pygithub3/requests/repos/__init__.py
Diffstat (limited to 'pygithub3/requests/issues/labels.py')
-rw-r--r--pygithub3/requests/issues/labels.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/pygithub3/requests/issues/labels.py b/pygithub3/requests/issues/labels.py
new file mode 100644
index 0000000..75e11e4
--- /dev/null
+++ b/pygithub3/requests/issues/labels.py
@@ -0,0 +1,85 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request, ValidationError
+from pygithub3.resources.issues import 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(Request):
+
+ uri = 'repos/{user}/{repo}/labels/{name}'
+ 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 Delete(Request):
+ uri = 'repos/{user}/{repo}/labels/{name}'
+ resource = Label
+
+
+class List_by_repo(Request):
+ uri = 'repos/{user}/{repo}/labels'
+ 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