aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/requests/git_data
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-04-17 18:45:46 +0200
committerDavid Medina <davidmedina9@gmail.com>2012-04-17 18:45:46 +0200
commit8430f64e6f0025b3d3d088ffd13c50b7123972f6 (patch)
tree214726395e1f0108e757a47d2c0de0ec36a3aeb5 /pygithub3/requests/git_data
parent:sparkles: Release 0.3 :sparkles: (diff)
parentadd myself to AUTHORS and some other docs tweaks (diff)
downloadpython-github3-8430f64e6f0025b3d3d088ffd13c50b7123972f6.tar.xz
python-github3-8430f64e6f0025b3d3d088ffd13c50b7123972f6.zip
Merged pull request #3 from natw/git_data
Diffstat (limited to 'pygithub3/requests/git_data')
-rw-r--r--pygithub3/requests/git_data/__init__.py0
-rw-r--r--pygithub3/requests/git_data/blobs.py18
-rw-r--r--pygithub3/requests/git_data/commits.py18
-rw-r--r--pygithub3/requests/git_data/references.py33
-rw-r--r--pygithub3/requests/git_data/tags.py15
-rw-r--r--pygithub3/requests/git_data/trees.py20
6 files changed, 104 insertions, 0 deletions
diff --git a/pygithub3/requests/git_data/__init__.py b/pygithub3/requests/git_data/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/pygithub3/requests/git_data/__init__.py
diff --git a/pygithub3/requests/git_data/blobs.py b/pygithub3/requests/git_data/blobs.py
new file mode 100644
index 0000000..a4bddd6
--- /dev/null
+++ b/pygithub3/requests/git_data/blobs.py
@@ -0,0 +1,18 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request
+from pygithub3.resources.git_data import Blob
+
+
+class Get(Request):
+ uri = 'repos/{user}/{repo}/git/blobs/{sha}'
+ resource = Blob
+
+
+class Create(Request):
+ uri = 'repos/{user}/{repo}/git/blobs'
+ resource = Blob
+ body_schema = {
+ 'schema': ('content', 'encoding'),
+ 'required': ('content', 'encoding'), # TODO: is enc really required?
+ }
diff --git a/pygithub3/requests/git_data/commits.py b/pygithub3/requests/git_data/commits.py
new file mode 100644
index 0000000..caf1e7d
--- /dev/null
+++ b/pygithub3/requests/git_data/commits.py
@@ -0,0 +1,18 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request
+from pygithub3.resources.git_data import Commit
+
+
+class Get(Request):
+ uri = 'repos/{user}/{repo}/git/commits/{sha}'
+ resource = Commit
+
+
+class Create(Request):
+ uri = 'repos/{user}/{repo}/git/commits'
+ resource = Commit
+ body_schema = {
+ 'schema': ('message', 'tree', 'parents', 'author', 'committer'),
+ 'required': ('message', 'tree', 'parents'),
+ }
diff --git a/pygithub3/requests/git_data/references.py b/pygithub3/requests/git_data/references.py
new file mode 100644
index 0000000..99cf41a
--- /dev/null
+++ b/pygithub3/requests/git_data/references.py
@@ -0,0 +1,33 @@
+from pygithub3.requests.base import Request
+from pygithub3.resources.git_data import Reference
+
+
+class Get(Request):
+ uri = 'repos/{user}/{repo}/git/refs/{ref}'
+ resource = Reference
+
+
+class List(Request):
+ uri = 'repos/{user}/{repo}/git/refs'
+ resource = Reference
+
+
+class Create(Request):
+ uri = 'repos/{user}/{repo}/git/refs'
+ resource = Reference
+ body_schema = {
+ 'schema': ('ref', 'sha'),
+ 'required': ('ref', 'sha'),
+ }
+
+class Update(Request):
+ uri = 'repos/{user}/{repo}/git/refs/{ref}'
+ resource = Reference
+ body_schema = {
+ 'schema': ('sha', 'force'),
+ 'required': ('sha',),
+ }
+
+
+class Delete(Request):
+ uri = 'repos/{user}/{repo}/git/refs/{ref}'
diff --git a/pygithub3/requests/git_data/tags.py b/pygithub3/requests/git_data/tags.py
new file mode 100644
index 0000000..dbc8da4
--- /dev/null
+++ b/pygithub3/requests/git_data/tags.py
@@ -0,0 +1,15 @@
+from pygithub3.requests.base import Request
+from pygithub3.resources.git_data import Tag
+
+
+class Get(Request):
+ uri = 'repos/{user}/{repo}/git/tags/{sha}'
+ resource = Tag
+
+class Create(Request):
+ uri = 'repos/{user}/{repo}/git/tags'
+ resource = Tag
+ body_schema = {
+ 'schema': ('tag', 'message', 'object', 'type', 'tagger'),
+ 'required': ('type',),
+ }
diff --git a/pygithub3/requests/git_data/trees.py b/pygithub3/requests/git_data/trees.py
new file mode 100644
index 0000000..bd1593f
--- /dev/null
+++ b/pygithub3/requests/git_data/trees.py
@@ -0,0 +1,20 @@
+from pygithub3.requests.base import Request
+from pygithub3.resources.git_data import Tree
+
+
+class Get(Request):
+ uri = 'repos/{user}/{repo}/git/trees/{sha}'
+ resource = Tree
+
+ def clean_uri(self):
+ if self.recursive:
+ return self.uri + '?recursive=1'
+
+
+class Create(Request):
+ uri = 'repos/{user}/{repo}/git/trees'
+ resource = Tree
+ body_schema = {
+ 'schema': ('tree',),
+ 'required': ('tree',),
+ }