aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/requests
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-04-04 00:07:50 +0200
committerDavid Medina <davidmedina9@gmail.com>2012-04-04 00:07:50 +0200
commit3e551e6801a0031f1482ad5d9f30af9df78e9471 (patch)
tree9d28cc75691279ff75f079cd4e085e77241517af /pygithub3/requests
parent:sparkles: Relase 0.2 :sparkles: (diff)
parentFix bug (diff)
downloadpython-github3-3e551e6801a0031f1482ad5d9f30af9df78e9471.tar.xz
python-github3-3e551e6801a0031f1482ad5d9f30af9df78e9471.zip
Gists service done
Diffstat (limited to 'pygithub3/requests')
-rw-r--r--pygithub3/requests/base.py2
-rw-r--r--pygithub3/requests/gists/__init__.py77
-rw-r--r--pygithub3/requests/gists/comments.py40
3 files changed, 118 insertions, 1 deletions
diff --git a/pygithub3/requests/base.py b/pygithub3/requests/base.py
index 65bc558..03b0f8a 100644
--- a/pygithub3/requests/base.py
+++ b/pygithub3/requests/base.py
@@ -37,7 +37,7 @@ class Body(object):
if attr_required not in parsed:
raise ValidationError("'%s' attribute is required" %
attr_required)
- if not parsed[attr_required]:
+ if parsed[attr_required] is None:
raise ValidationError("'%s' attribute can't be empty" %
attr_required)
return parsed
diff --git a/pygithub3/requests/gists/__init__.py b/pygithub3/requests/gists/__init__.py
new file mode 100644
index 0000000..4dbc6e6
--- /dev/null
+++ b/pygithub3/requests/gists/__init__.py
@@ -0,0 +1,77 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request, ValidationError
+from pygithub3.resources.gists import Gist
+
+class List(Request):
+
+ uri = 'users/{user}/gists'
+ resource = Gist
+
+ def clean_uri(self):
+ if not self.user:
+ return 'gists'
+
+
+class Public(Request):
+
+ uri = 'gists/public'
+ resource = Gist
+
+
+class Starred(Request):
+
+ uri = 'gists/starred'
+ resource = Gist
+
+
+class Get(Request):
+
+ uri = 'gists/{id}'
+ resource = Gist
+
+
+class Create(Request):
+
+ uri = 'gists'
+ resource = Gist
+ body_schema = {
+ 'schema': ('description', 'public', 'files'),
+ 'required': ('public', 'files')
+ }
+
+
+class Update(Request):
+
+ uri = 'gists/{id}'
+ resource = Gist
+ body_schema = {
+ 'schema': ('description', 'public', 'files'),
+ 'required': (),
+ }
+
+
+class Star(Request):
+
+ uri = 'gists/{id}/star'
+
+
+class Unstar(Request):
+
+ uri = 'gists/{id}/star'
+
+
+class Is_starred(Request):
+
+ uri = 'gists/{id}/star'
+
+
+class Fork(Request):
+
+ uri = 'gists/{id}/fork'
+ resource = Gist
+
+
+class Delete(Request):
+
+ uri = 'gists/{id}'
diff --git a/pygithub3/requests/gists/comments.py b/pygithub3/requests/gists/comments.py
new file mode 100644
index 0000000..8e5af15
--- /dev/null
+++ b/pygithub3/requests/gists/comments.py
@@ -0,0 +1,40 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request
+from pygithub3.resources.gists import Comment
+
+class List(Request):
+
+ uri = 'gists/{gist_id}/comments'
+ resource = Comment
+
+
+class Get(Request):
+
+ uri = 'gists/comments/{id}'
+ resource = Comment
+
+
+class Create(Request):
+
+ uri = 'gists/{gist_id}/comments'
+ resource = Comment
+ body_schema = {
+ 'schema': ('body', ),
+ 'required': ('body', )
+ }
+
+
+class Update(Request):
+
+ uri = 'gists/comments/{id}'
+ resource = Comment
+ body_schema = {
+ 'schema': ('body', ),
+ 'required': ('body', )
+ }
+
+
+class Delete(Request):
+
+ uri = 'gists/comments/{id}'