Permalink
Browse files

Repository.get_readme and Repository.get_contents (issue #65)

  • Loading branch information...
1 parent 7a19732 commit f963e6ac91e1a5faa9aa5efc705aaae672ea9050 @jacquev6 jacquev6 committed Sep 8, 2012
@@ -310,6 +310,18 @@
]
},
{
+ "name": "ContentFile",
+ "attributes": [
+ { "name": "type", "type": "string" },
+ { "name": "encoding", "type": "string" },
+ { "name": "size", "type": "integer" },
+ { "name": "name", "type": "string" },
+ { "name": "path", "type": "string" },
+ { "name": "content", "type": "string" },
+ { "name": "sha", "type": "string" }
+ ]
+ },
+ {
"name": "File",
"attributes": [
{ "name": "additions", "type": "integer" },
@@ -1825,6 +1837,34 @@
}
},
{
+ "name": [ "get", "readme" ],
+ "type": "ContentFile",
+ "group": "contents",
+ "request": {
+ "verb": "GET",
+ "url": [
+ { "type": "attribute", "value": [ "url" ] },
+ { "type": "constant", "value": "/readme" }
+ ]
+ }
+ },
+ {
+ "name": [ "get", "contents" ],
+ "type": "ContentFile",
+ "group": "contents",
+ "mandatoryParameters": [
+ { "name": "path", "type": "string" }
+ ],
+ "request": {
+ "verb": "GET",
+ "url": [
+ { "type": "attribute", "value": [ "url" ] },
+ { "type": "constant", "value": "/contents" },
+ { "type": "argument", "value": [ "path" ] }
+ ]
+ }
+ },
+ {
"name": [ "compare" ],
"type": "Comparison",
"group": "Comparison",
@@ -2405,6 +2405,69 @@
"cardinality": "scalar",
"name": "string"
},
+ "name": "content"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "encoding"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "name"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "path"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "sha"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "integer"
+ },
+ "name": "size"
+ },
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "type"
+ }
+ ],
+ "isCompletable": false,
+ "name": "ContentFile",
+ "methods": []
+ },
+ {
+ "attributes": [
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
"name": "accesskeyid"
},
{
@@ -10697,6 +10760,81 @@
}
},
{
+ "group": "contents",
+ "name": [
+ "get",
+ "readme"
+ ],
+ "mandatoryParameters": [],
+ "request": {
+ "url": [
+ {
+ "type": "attribute",
+ "value": [
+ "url"
+ ]
+ },
+ {
+ "type": "constant",
+ "value": "/readme"
+ }
+ ],
+ "verb": "GET"
+ },
+ "isMutation": false,
+ "optionalParameters": [],
+ "type": {
+ "simple": false,
+ "cardinality": "scalar",
+ "name": "ContentFile"
+ }
+ },
+ {
+ "group": "contents",
+ "name": [
+ "get",
+ "contents"
+ ],
+ "mandatoryParameters": [
+ {
+ "type": {
+ "simple": true,
+ "cardinality": "scalar",
+ "name": "string"
+ },
+ "name": "path"
+ }
+ ],
+ "request": {
+ "url": [
+ {
+ "type": "attribute",
+ "value": [
+ "url"
+ ]
+ },
+ {
+ "type": "constant",
+ "value": "/contents"
+ },
+ {
+ "type": "argument",
+ "value": [
+ "path"
+ ]
+ }
+ ],
+ "verb": "GET"
+ },
+ "isMutation": false,
+ "optionalParameters": [],
+ "type": {
+ "simple": false,
+ "cardinality": "scalar",
+ "name": "ContentFile"
+ }
+ },
+ {
"group": "Comparison",
"name": [
"compare"
View
@@ -192,7 +192,7 @@ API `/repos/:user/:repo/compare/:base...:head`
API `/repos/:user/:repo/contents/:path`
=======================================
-* GET: (TODO)
+* GET: `Repository.get_contents`
API `/repos/:user/:repo/contributors`
=====================================
@@ -400,7 +400,7 @@ API `/repos/:user/:repo/pulls/comments/:number`
API `/repos/:user/:repo/readme`
===============================
-* GET: (TODO)
+* GET: `Repository.get_readme`
API `/repos/:user/:repo/stargazers`
===================================
View
@@ -330,6 +330,19 @@ Attributes
* `total_commits`: integer
* `url`: string
+Class `ContentFile`
+===================
+
+Attributes
+----------
+* `content`: string
+* `encoding`: string
+* `name`: string
+* `path`: string
+* `sha`: string
+* `size`: integer
+* `type`: string
+
Class `Download`
================
@@ -1145,6 +1158,12 @@ Commits
* `sha`: string
* `path`: string
+Contents
+--------
+* `get_readme()`: `ContentFile`
+* `get_contents( path )`: `ContentFile`
+ * `path`: string
+
Contributors
------------
* `get_contributors()`: iterator of `NamedUser`
View
@@ -0,0 +1,78 @@
+# WARNING: this file is generated automaticaly.
+# Do not modify it manually, your work would be lost.
+
+# Copyright 2012 Vincent Jacques
+# vincent@vincent-jacques.net
+
+# This file is part of PyGithub. http://vincent-jacques.net/PyGithub
+
+# PyGithub is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public License along with PyGithub. If not, see <http://www.gnu.org/licenses/>.
+
+import GithubObject
+
+class ContentFile( GithubObject.BasicGithubObject ):
+ @property
+ def content( self ):
+ return self._NoneIfNotSet( self._content )
+
+ @property
+ def encoding( self ):
+ return self._NoneIfNotSet( self._encoding )
+
+ @property
+ def name( self ):
+ return self._NoneIfNotSet( self._name )
+
+ @property
+ def path( self ):
+ return self._NoneIfNotSet( self._path )
+
+ @property
+ def sha( self ):
+ return self._NoneIfNotSet( self._sha )
+
+ @property
+ def size( self ):
+ return self._NoneIfNotSet( self._size )
+
+ @property
+ def type( self ):
+ return self._NoneIfNotSet( self._type )
+
+ def _initAttributes( self ):
+ self._content = GithubObject.NotSet
+ self._encoding = GithubObject.NotSet
+ self._name = GithubObject.NotSet
+ self._path = GithubObject.NotSet
+ self._sha = GithubObject.NotSet
+ self._size = GithubObject.NotSet
+ self._type = GithubObject.NotSet
+
+ def _useAttributes( self, attributes ):
+ if "content" in attributes: # pragma no branch
+ assert attributes[ "content" ] is None or isinstance( attributes[ "content" ], ( str, unicode ) ), attributes[ "content" ]
+ self._content = attributes[ "content" ]
+ if "encoding" in attributes: # pragma no branch
+ assert attributes[ "encoding" ] is None or isinstance( attributes[ "encoding" ], ( str, unicode ) ), attributes[ "encoding" ]
+ self._encoding = attributes[ "encoding" ]
+ if "name" in attributes: # pragma no branch
+ assert attributes[ "name" ] is None or isinstance( attributes[ "name" ], ( str, unicode ) ), attributes[ "name" ]
+ self._name = attributes[ "name" ]
+ if "path" in attributes: # pragma no branch
+ assert attributes[ "path" ] is None or isinstance( attributes[ "path" ], ( str, unicode ) ), attributes[ "path" ]
+ self._path = attributes[ "path" ]
+ if "sha" in attributes: # pragma no branch
+ assert attributes[ "sha" ] is None or isinstance( attributes[ "sha" ], ( str, unicode ) ), attributes[ "sha" ]
+ self._sha = attributes[ "sha" ]
+ if "size" in attributes: # pragma no branch
+ assert attributes[ "size" ] is None or isinstance( attributes[ "size" ], int ), attributes[ "size" ]
+ self._size = attributes[ "size" ]
+ if "type" in attributes: # pragma no branch
+ assert attributes[ "type" ] is None or isinstance( attributes[ "type" ], ( str, unicode ) ), attributes[ "type" ]
+ self._type = attributes[ "type" ]
View
@@ -22,6 +22,7 @@
import Branch
import IssueEvent
+import ContentFile
import Label
import InputGitAuthor
import GitBlob
@@ -594,6 +595,16 @@ def get_commits( self, sha = GithubObject.NotSet, path = GithubObject.NotSet ):
data
)
+ def get_contents( self, path ):
+ assert isinstance( path, ( str, unicode ) ), path
+ headers, data = self._requester.requestAndCheck(
+ "GET",
+ self.url + "/contents" + path,
+ None,
+ None
+ )
+ return ContentFile.ContentFile( self._requester, data, completed = True )
+
def get_contributors( self ):
headers, data = self._requester.requestAndCheck(
"GET",
@@ -964,6 +975,15 @@ def get_pulls( self, state = GithubObject.NotSet ):
data
)
+ def get_readme( self ):
+ headers, data = self._requester.requestAndCheck(
+ "GET",
+ self.url + "/readme",
+ None,
+ None
+ )
+ return ContentFile.ContentFile( self._requester, data, completed = True )
+
def get_stargazers( self ):
headers, data = self._requester.requestAndCheck(
"GET",
Oops, something went wrong.

0 comments on commit f963e6a

Please sign in to comment.