aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/requests/git_data
diff options
context:
space:
mode:
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',),
+ }