Be explicit about argumentChecker object

This commit is contained in:
Vincent Jacques
2012-03-16 07:53:33 +01:00
parent 0909fec395
commit d24cf209dd
27 changed files with 146 additions and 145 deletions
+21 -21
View File
@@ -34,56 +34,56 @@ AuthenticatedUser = GithubObject(
"type", "total_private_repos", "owned_private_repos", "private_gists",
"disk_usage", "collaborators", "plan",
),
Editable( [], [ "name", "email", "blog", "company", "location", "hireable", "bio" ] ),
Editable( Parameters( [], [ "name", "email", "blog", "company", "location", "hireable", "bio" ] ) ),
ExternalListOfSimpleTypes( "emails", "email", "string",
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
SeveralElementsAddable(),
SeveralElementsRemovable()
),
ExternalListOfObjects( "authorizations", "authorization", Authorization,
ListGetable( [], [] ),
ElementGetable( [ "id" ], [] ),
ElementCreatable( [], [ "scopes", "note", "note_url" ] ),
ListGetable( Parameters( [], [] ) ),
ElementGetable( Parameters( [ "id" ], [] ) ),
ElementCreatable( Parameters( [], [ "scopes", "note", "note_url" ] ) ),
url = "/authorizations",
),
ExternalListOfObjects( "keys", "key", UserKey,
ListGetable( [], [] ),
ElementGetable( [ "id" ], [] ),
ElementCreatable( [ "title", "key" ], [] ),
ListGetable( Parameters( [], [] ) ),
ElementGetable( Parameters( [ "id" ], [] ) ),
ElementCreatable( Parameters( [ "title", "key" ], [] ) ),
),
ExternalListOfObjects( "events", "event", Event,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
url = "/events"
),
ExternalListOfObjects( "followers", "follower", NamedUser,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
ExternalListOfObjects( "following", "following", NamedUser,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
),
ExternalListOfObjects( "orgs", "org", Organization,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
MethodFromCallable( "get_organization_events", [ "org" ], [], __getOrganizationEvents, SimpleTypePolicy( "list of `Event`" ) ),
MethodFromCallable( "get_organization_events", Parameters( [ "org" ], [] ), __getOrganizationEvents, SimpleTypePolicy( "list of `Event`" ) ),
ExternalListOfObjects( "repos", "repo", Repository,
ListGetable( [], [ "type" ] ),
ElementGetable( [ "name" ], [], { "owner" : lambda user: { "login": user.login } } ),
ElementCreatable( [ "name" ], [ "description", "homepage", "private", "has_issues", "has_wiki", "has_downloads", "team_id", ] )
ListGetable( Parameters( [], [ "type" ] ) ),
ElementGetable( Parameters( [ "name" ], [] ), { "owner" : lambda user: { "login": user.login } } ),
ElementCreatable( Parameters( [ "name" ], [ "description", "homepage", "private", "has_issues", "has_wiki", "has_downloads", "team_id", ] ) )
),
ExternalListOfObjects( "watched", "watched", Repository,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
),
SeveralAttributePolicies( [ MethodFromCallable( "create_fork", [ "repo" ], [], __createFork, ObjectTypePolicy( Repository ) ) ], "Forking" ),
SeveralAttributePolicies( [ MethodFromCallable( "create_fork", Parameters( [ "repo" ], [] ), __createFork, ObjectTypePolicy( Repository ) ) ], "Forking" ),
ExternalListOfObjects( "gists", "gist", Gist,
ListGetable( [], [] ),
ElementCreatable( [ "public", "files", ], [ "description" ] ),
ListGetable( Parameters( [], [] ) ),
ElementCreatable( Parameters( [ "public", "files", ], [ "description" ] ) ),
url = "/gists",
),
MethodFromCallable( "get_starred_gists", [], [], __getStaredGists, SimpleTypePolicy( "list of `Gist`" ) ),
MethodFromCallable( "get_starred_gists", Parameters( [], [] ), __getStaredGists, SimpleTypePolicy( "list of `Gist`" ) ),
)
+1 -1
View File
@@ -7,6 +7,6 @@ Authorization = GithubObject(
"id", "url", "scopes", "token", "app", "note", "note_url", "updated_at",
"created_at",
),
Editable( [], [ "scopes", "add_scopes", "remove_scopes", "note", "note_url" ] ),
Editable( Parameters( [], [ "scopes", "add_scopes", "remove_scopes", "note", "note_url" ] ) ),
Deletable(),
)
+2 -2
View File
@@ -18,7 +18,7 @@ Commit = GithubObject(
InternalObjectAttribute( "author", NamedUser ),
InternalObjectAttribute( "committer", NamedUser ),
ExternalListOfObjects( "comments", "comment", CommitComment,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( [ "body" ], [ "commit_id", "line", "path", "position" ], __modifyAttributesForObjectsReferingReferedRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( Parameters( [ "body" ], [ "commit_id", "line", "path", "position" ] ), __modifyAttributesForObjectsReferingReferedRepo ),
),
)
+1 -1
View File
@@ -9,6 +9,6 @@ CommitComment = GithubObject(
"_repo",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [ "body" ], [] ),
Editable( Parameters( [ "body" ], [] ) ),
Deletable(),
)
+8 -8
View File
@@ -16,22 +16,22 @@ Gist = GithubObject(
"updated_at",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [], [ "description", "files" ] ),
Editable( Parameters( [], [ "description", "files" ] ) ),
Deletable(),
ExternalListOfObjects( "comments", "comment", GistComment,
ListGetable( [], [] ),
ElementGetable( [ "id" ], [] ),
ElementCreatable( [ "body" ], [] ),
ListGetable( Parameters( [], [] ) ),
ElementGetable( Parameters( [ "id" ], [] ) ),
ElementCreatable( Parameters( [ "body" ], [] ) ),
),
SeveralAttributePolicies( [
MethodFromCallable( "is_starred", [], [], __isStarred, SimpleTypePolicy( "bool" ) ),
MethodFromCallable( "set_starred", [], [], __setStarred, SimpleTypePolicy( None ) ),
MethodFromCallable( "reset_starred", [], [], __resetStarred, SimpleTypePolicy( None ) ),
MethodFromCallable( "is_starred", Parameters( [], [] ), __isStarred, SimpleTypePolicy( "bool" ) ),
MethodFromCallable( "set_starred", Parameters( [], [] ), __setStarred, SimpleTypePolicy( None ) ),
MethodFromCallable( "reset_starred", Parameters( [], [] ), __resetStarred, SimpleTypePolicy( None ) ),
], "Starring" ),
)
def __createFork( gist ):
return Gist( gist._github, gist._github._dataRequest( "POST", gist._baseUrl() + "/fork", None, None ), lazy = True )
Gist._addAttributePolicy( SeveralAttributePolicies( [
MethodFromCallable( "create_fork", [], [], __createFork, ObjectTypePolicy( Gist ) ),
MethodFromCallable( "create_fork", Parameters( [], [] ), __createFork, ObjectTypePolicy( Gist ) ),
], "Forking" ),
)
+1 -1
View File
@@ -8,6 +8,6 @@ GistComment = GithubObject(
"updated_at",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [ "body" ], [] ),
Editable( Parameters( [ "body" ], [] ) ),
Deletable(),
)
+1 -1
View File
@@ -8,5 +8,5 @@ GitRef = GithubObject(
"object",
"_repo",
),
Editable( [ "sha" ], [ "force" ] ),
Editable( Parameters( [ "sha" ], [ "force" ] ) ),
)
@@ -1,6 +1,6 @@
import itertools
class ArgumentsChecker:
class Parameters:
def __init__( self, mandatoryParameters, optionalParameters ):
self.__mandatoryParameters = mandatoryParameters
self.__optionalParameters = optionalParameters
@@ -34,3 +34,6 @@ class ArgumentsChecker:
return " " + mandatory + " "
else:
return " " + mandatory + ", " + optional + " "
def NoParameters():
return Parameters( [], [] )
+2 -4
View File
@@ -1,5 +1,3 @@
from ArgumentsChecker import *
class AttributeFromCallable:
class AttributeDefinition:
def __init__( self, name, callable ):
@@ -26,8 +24,8 @@ class AttributeFromCallable:
return ""
class MethodFromCallable:
def __init__( self, name, mandatoryParameters, optionalParameters, callable, returnTypePolicy ):
self.__argumentsChecker = ArgumentsChecker( mandatoryParameters, optionalParameters )
def __init__( self, name, parameters, callable, returnTypePolicy ):
self.__argumentsChecker = parameters
self.__name = name
self.__callable = callable
self.__returnTypePolicy = returnTypePolicy
@@ -21,21 +21,21 @@ def ExternalSimpleAttribute( attributeName, type ):
return ExternalAttribute( attributeName, SimpleTypePolicy( type ) )
def BaseUrl( baseUrl ):
return MethodFromCallable( "_baseUrl", [], [], baseUrl, SimpleTypePolicy( None ) )
return MethodFromCallable( "_baseUrl", NoParameters(), baseUrl, SimpleTypePolicy( None ) )
def Identity( identity ):
return AttributeFromCallable( "_identity", identity )
def Editable( mandatoryParameters, optionalParameters ):
def Editable( parameters ):
def __execute( obj, **data ):
attributes = obj._github._dataRequest( "PATCH", obj._baseUrl(), None, data )
obj._updateAttributes( attributes )
return SeveralAttributePolicies( [ MethodFromCallable( "edit", mandatoryParameters, optionalParameters, __execute, SimpleTypePolicy( None ) ) ], "Modification" )
return SeveralAttributePolicies( [ MethodFromCallable( "edit", parameters, __execute, SimpleTypePolicy( None ) ) ], "Modification" )
def Deletable():
def __execute( obj ):
obj._github._statusRequest( "DELETE", obj._baseUrl(), None, None )
return SeveralAttributePolicies( [ MethodFromCallable( "delete", [], [], __execute, SimpleTypePolicy( None ) ) ], "Deletion" )
return SeveralAttributePolicies( [ MethodFromCallable( "delete", NoParameters(), __execute, SimpleTypePolicy( None ) ) ], "Deletion" )
def GithubObject( className, *attributePolicies ):
class GithubObject:
+6 -6
View File
@@ -74,9 +74,9 @@ class ListCapacityWithModifier( ListCapacity ):
return attributes
class ElementCreatable( ListCapacityWithModifier ):
def __init__( self, mandatoryParameters, optionalParameters, attributeModifiers = {} ):
def __init__( self, parameters = NoParameters(), attributeModifiers = {} ):
ListCapacityWithModifier.__init__( self, attributeModifiers )
self.__argumentsChecker = ArgumentsChecker( mandatoryParameters, optionalParameters )
self.__argumentsChecker = parameters
def apply( self, cls ):
cls._addMethod( "create_" + self.singularName, self.__execute )
@@ -99,9 +99,9 @@ class ElementCreatable( ListCapacityWithModifier ):
return "* `create_" + self.singularName + "(" + self.__argumentsChecker.documentParameters() + ")`: " + self.typePolicy.documentTypeName() + "\n"
class ElementGetable( ListCapacityWithModifier ):
def __init__( self, mandatoryParameters, optionalParameters, attributeModifiers = {} ):
def __init__( self, parameters = NoParameters(), attributeModifiers = {} ):
ListCapacityWithModifier.__init__( self, attributeModifiers )
self.__argumentsChecker = ArgumentsChecker( mandatoryParameters, optionalParameters )
self.__argumentsChecker = parameters
def apply( self, cls ):
cls._addMethod( "get_" + self.singularName, self.__execute )
@@ -155,9 +155,9 @@ class SeveralElementsRemovable( ListCapacity ):
return "* `remove_from_" + self.safeAttributeName + "( " + self.singularName + ", ... )`\n * `" + self.singularName + "`: " + self.typePolicy.documentTypeName() + "\n"
class ListGetable( ListCapacityWithModifier ):
def __init__( self, mandatoryParameters, optionalParameters, attributeModifiers = {} ):
def __init__( self, parameters = NoParameters(), attributeModifiers = {} ):
ListCapacityWithModifier.__init__( self, attributeModifiers )
self.__argumentsChecker = ArgumentsChecker( mandatoryParameters, optionalParameters )
self.__argumentsChecker = parameters
def apply( self, cls ):
cls._addMethod( "get_" + self.safeAttributeName, self.__execute )
+2 -2
View File
@@ -10,7 +10,7 @@ Hook = GithubObject(
"id", "last_response",
"_repo",
),
Editable( [ "name", "config" ], [ "events", "add_events", "remove_events", "active" ] ),
Editable( Parameters( [ "name", "config" ], [ "events", "add_events", "remove_events", "active" ] ) ),
Deletable(),
SeveralAttributePolicies( [ MethodFromCallable( "test", [], [], __testHook, SimpleTypePolicy( None ) ) ], "Testing" )
SeveralAttributePolicies( [ MethodFromCallable( "test", Parameters( [], [] ), __testHook, SimpleTypePolicy( None ) ) ], "Testing" )
)
+6 -6
View File
@@ -18,20 +18,20 @@ Issue = GithubObject(
InternalObjectAttribute( "user", NamedUser ),
InternalObjectAttribute( "assignee", NamedUser ),
InternalObjectAttribute( "milestone", Milestone ),
Editable( [], [ "title", "body", "assignee", "state", "milestone", "labels" ] ),
Editable( Parameters( [], [ "title", "body", "assignee", "state", "milestone", "labels" ] ) ),
ExternalListOfObjects( "labels", "label", Label,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
SeveralElementsAddable(),
ListSetable(),
ListDeletable(),
ElementRemovable(),
),
ExternalListOfObjects( "comments", "comment", IssueComment,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( [ "body" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( Parameters( [ "body" ], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
),
ExternalListOfObjects( "events", "event", IssueEvent,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo )
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo )
),
)
+1 -1
View File
@@ -8,6 +8,6 @@ IssueComment = GithubObject(
"_repo",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [ "body" ], [] ),
Editable( Parameters( [ "body" ], [] ) ),
Deletable(),
)
+1 -1
View File
@@ -10,6 +10,6 @@ Label = GithubObject(
"url", "name", "color",
"_repo",
),
Editable( [ "name", "color" ], [] ),
Editable( Parameters( [ "name", "color" ], [] ) ),
Deletable(),
)
+2 -2
View File
@@ -12,9 +12,9 @@ Milestone = GithubObject(
"_repo",
),
InternalObjectAttribute( "creator", NamedUser ),
Editable( [ "title" ], [ "state", "description", "due_on" ] ),
Editable( Parameters( [ "title" ], [ "state", "description", "due_on" ] ) ),
Deletable(),
ExternalListOfObjects( "labels", "label", Label,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo )
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo )
),
)
+2 -2
View File
@@ -19,12 +19,12 @@ NamedUser = GithubObject(
NamedUser._addAttributePolicy(
ExternalListOfObjects( "followers", "follower", NamedUser,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "following", "following", NamedUser,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
+9 -9
View File
@@ -7,13 +7,13 @@ from Gist import *
NamedUser._addAttributePolicy(
ExternalListOfObjects( "orgs", "org", Organization,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "events", "event", Event,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
@@ -25,12 +25,12 @@ def __getPublicEvents( user ):
]
NamedUser._addAttributePolicy(
MethodFromCallable( "get_public_events", [], [], __getPublicEvents, SimpleTypePolicy( "list of `Event`" ) )
MethodFromCallable( "get_public_events", Parameters( [], [] ), __getPublicEvents, SimpleTypePolicy( "list of `Event`" ) )
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "received_events", "received_event", Event,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
@@ -42,24 +42,24 @@ def __getPublicReceivedEvents( user ):
]
NamedUser._addAttributePolicy(
MethodFromCallable( "get_public_received_events", [], [], __getPublicReceivedEvents, SimpleTypePolicy( "list of `Event`" ) )
MethodFromCallable( "get_public_received_events", Parameters( [], [] ), __getPublicReceivedEvents, SimpleTypePolicy( "list of `Event`" ) )
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "repos", "repo", Repository,
ListGetable( [], [ "type" ] ),
ElementGetable( [ "name" ], [], { "owner" : lambda user: { "login": user.login } } )
ListGetable( Parameters( [], [ "type" ] ) ),
ElementGetable( Parameters( [ "name" ], [] ), { "owner" : lambda user: { "login": user.login } } )
)
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "watched", "watched", Repository,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
NamedUser._addAttributePolicy(
ExternalListOfObjects( "gists", "gist", Gist,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
)
)
+3 -3
View File
@@ -12,15 +12,15 @@ Organization = GithubObject(
"disk_usage", "collaborators", "billing_email", "plan", "private_gists",
"total_private_repos", "owned_private_repos",
),
Editable( [], [ "billing_email", "blog", "company", "email", "location", "name" ] ),
Editable( Parameters( [], [ "billing_email", "blog", "company", "email", "location", "name" ] ) ),
ExternalListOfObjects( "public_members", "public_member", NamedUser,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
),
ExternalListOfObjects( "members", "member", NamedUser,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementRemovable(),
ElementHasable()
),
@@ -6,9 +6,9 @@ from Event import *
Organization._addAttributePolicy(
ExternalListOfObjects( "repos", "repo", Repository,
ListGetable( [], [ "type" ] ),
ElementGetable( [ "name" ], [], { "owner" : lambda user: { "login": user.login } } ),
ElementCreatable( [ "name" ], [ "description", "homepage", "private", "has_issues", "has_wiki", "has_downloads", "team_id", ] )
ListGetable( Parameters( [], [ "type" ] ) ),
ElementGetable( Parameters( [ "name" ], [] ), { "owner" : lambda user: { "login": user.login } } ),
ElementCreatable( Parameters( [ "name" ], [ "description", "homepage", "private", "has_issues", "has_wiki", "has_downloads", "team_id", ] ) )
)
)
@@ -17,18 +17,18 @@ def __createForkForOrg( org, repo ):
return Repository( org._github, org._github._dataRequest( "POST", repo._baseUrl() + "/forks", { "org": org.login }, None ), lazy = True )
Organization._addAttributePolicy(
SeveralAttributePolicies( [ MethodFromCallable( "create_fork", [ "repo" ], [], __createForkForOrg, ObjectTypePolicy( Repository ) ) ], "Forking" )
SeveralAttributePolicies( [ MethodFromCallable( "create_fork", Parameters( [ "repo" ], [] ), __createForkForOrg, ObjectTypePolicy( Repository ) ) ], "Forking" )
)
Organization._addAttributePolicy(
ExternalListOfObjects( "teams", "team", Team,
ListGetable( [], [] ),
ElementCreatable( [ "name" ], [ "repo_names", "permission" ] )
ListGetable( Parameters( [], [] ) ),
ElementCreatable( Parameters( [ "name" ], [ "repo_names", "permission" ] ) )
)
)
Organization._addAttributePolicy(
ExternalListOfObjects( "events", "event", Event,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
)
+8 -8
View File
@@ -23,18 +23,18 @@ PullRequest = GithubObject(
"_repo",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [], [ "title", "body", "state" ] ),
Editable( Parameters( [], [ "title", "body", "state" ] ) ),
ExternalListOfObjects( "commits", "commit", Commit,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
),
ExternalListOfObjects( "files", "file", PullRequestFile,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
),
ExternalListOfObjects( "comments", "comment", PullRequestComment,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( [ "body", "commit_id", "path", "position" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( Parameters( [ "body", "commit_id", "path", "position" ], [] ), __modifyAttributesForObjectsReferingReferedRepo ),
),
MethodFromCallable( "is_merged", [], [], __pullRequestIsMerged, SimpleTypePolicy( "bool" ) ),
MethodFromCallable( "merge", [], [ "commit_message" ], __mergePullRequest, SimpleTypePolicy( None ) ),
MethodFromCallable( "is_merged", Parameters( [], [] ), __pullRequestIsMerged, SimpleTypePolicy( "bool" ) ),
MethodFromCallable( "merge", Parameters( [], [ "commit_message" ] ), __mergePullRequest, SimpleTypePolicy( None ) ),
)
+1 -1
View File
@@ -9,6 +9,6 @@ PullRequestComment = GithubObject(
"_repo",
),
InternalObjectAttribute( "user", NamedUser ),
Editable( [ "body" ], [] ),
Editable( Parameters( [ "body" ], [] ) ),
Deletable(),
)
+45 -45
View File
@@ -38,102 +38,102 @@ Repository._addAttributePolicy( InternalObjectAttribute( "parent", Repository )
Repository._addAttributePolicy( InternalObjectAttribute( "source", Repository ) )
Repository._addAttributePolicy(
ExternalListOfObjects( "issues/events", "issues_event", IssueEvent,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingRepo ),
)
)
Repository._addAttributePolicy(
ExternalListOfObjects( "forks", "fork", Repository,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
Repository._addAttributePolicy(
Editable( [ "name" ], [ "description", "homepage", "public", "has_issues", "has_wiki", "has_downloads" ] )
Editable( Parameters( [ "name" ], [ "description", "homepage", "public", "has_issues", "has_wiki", "has_downloads" ] ) )
)
Repository._addAttributePolicy(
SeveralAttributePolicies( [ ExternalSimpleAttribute( "languages", "dictionary of strings to integers" ) ], "Languages" )
)
Repository._addAttributePolicy( SeveralAttributePolicies( [
ExternalListOfObjects( "hooks", "hook", Hook,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "name", "config" ], [ "events", "active" ], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "name", "config" ], [ "events", "active" ] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "keys", "key", RepositoryKey,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "title", "key" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "title", "key" ], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "collaborators", "collaborator", NamedUser,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
),
ExternalListOfObjects( "contributors", "contributor", NamedUser,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
ExternalListOfObjects( "watchers", "watcher", NamedUser,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
ExternalListOfObjects( "git/refs", "git_ref", GitRef,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "ref" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "ref", "sha" ], [], __modifyAttributesForObjectsReferingRepo )
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "ref" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "ref", "sha" ], [] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "git/commits", "git_commit", GitCommit,
ElementGetable( [ "sha" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "message", "tree", "parents" ], [ "author", "committer" ], __modifyAttributesForObjectsReferingRepo )
ElementGetable( Parameters( [ "sha" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "message", "tree", "parents" ], [ "author", "committer" ] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "git/trees", "git_tree", GitTree,
ElementGetable( [ "sha" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "tree" ], [], __modifyAttributesForObjectsReferingRepo )
ElementGetable( Parameters( [ "sha" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "tree" ], [] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "git/blobs", "git_blob", GitBlob,
ElementGetable( [ "sha" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "content", "encoding" ], [], __modifyAttributesForObjectsReferingRepo )
ElementGetable( Parameters( [ "sha" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "content", "encoding" ], [] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "git/tags", "git_tag", GitTag,
ElementGetable( [ "sha" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "tag", "message", "object", "type" ], [ "tagger" ], __modifyAttributesForObjectsReferingRepo )
ElementGetable( Parameters( [ "sha" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "tag", "message", "object", "type" ], [ "tagger" ] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "labels", "label", Label,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "name" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "name", "color" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "name" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "name", "color" ], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "milestones", "milestone", Milestone,
ListGetable( [], [ "state", "sort", "direction" ], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "number" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "title" ], [ "state", "description", "due_on" ], __modifyAttributesForObjectsReferingRepo )
ListGetable( Parameters( [], [ "state", "sort", "direction" ] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "number" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "title" ], [ "state", "description", "due_on" ] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "issues", "issue", Issue,
ListGetable( [], [ "milestone", "state", "assignee", "mentioned", "labels", "sort", "direction", "since" ], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "number" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "title" ], [ "body", "assignee", "milestone", "labels", ], __modifyAttributesForObjectsReferingRepo )
ListGetable( Parameters( [], [ "milestone", "state", "assignee", "mentioned", "labels", "sort", "direction", "since" ] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "number" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "title" ], [ "body", "assignee", "milestone", "labels", ] ), __modifyAttributesForObjectsReferingRepo )
),
ExternalListOfObjects( "downloads", "download", Download,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "name", "size" ], [ "description", "content_type" ], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "name", "size" ], [ "description", "content_type" ] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "comments", "comment", CommitComment,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "id" ], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "commits", "commit", Commit,
ListGetable( [], [ "sha", "path" ], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "sha" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [ "sha", "path" ] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "sha" ], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "tags", "tag", Tag,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "branches", "branch", Branch,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [] ), __modifyAttributesForObjectsReferingRepo ),
),
ExternalListOfObjects( "pulls", "pull", PullRequest,
ListGetable( [], [ "state" ], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "number" ], [], __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( [ "title", "body", "base", "head" ], [], __modifyAttributesForObjectsReferingRepo ),
ListGetable( Parameters( [], [ "state" ] ), __modifyAttributesForObjectsReferingRepo ),
ElementGetable( Parameters( [ "number" ], [] ), __modifyAttributesForObjectsReferingRepo ),
ElementCreatable( Parameters( [ "title", "body", "base", "head" ], [] ), __modifyAttributesForObjectsReferingRepo ),
),
] ) )
+1 -1
View File
@@ -7,6 +7,6 @@ RepositoryKey = GithubObject(
"url", "id", "title", "key",
"_repo",
),
Editable( [ "title", "key" ], [] ),
Editable( Parameters( [ "title", "key" ], [] ) ),
Deletable()
)
+3 -3
View File
@@ -5,13 +5,13 @@ from Event import *
Repository._addAttributePolicy(
ExternalListOfObjects( "teams", "team", Team,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
)
)
Repository._addAttributePolicy(
ExternalListOfObjects( "events", "event", Event,
ListGetable( [], [] )
ListGetable( Parameters( [], [] ) )
),
)
@@ -23,5 +23,5 @@ def __getNetworkEvents( repo ):
]
Repository._addAttributePolicy(
MethodFromCallable( "get_network_events", [], [], __getNetworkEvents, SimpleTypePolicy( "list of `Event`" ) )
MethodFromCallable( "get_network_events", Parameters( [], [] ), __getNetworkEvents, SimpleTypePolicy( "list of `Event`" ) )
)
+3 -3
View File
@@ -8,16 +8,16 @@ Team = GithubObject(
InternalSimpleAttributes(
"url", "name", "id", "permission", "members_count", "repos_count",
),
Editable( [ "name" ], [ "permission" ] ),
Editable( Parameters( [ "name" ], [ "permission" ] ) ),
Deletable(),
ExternalListOfObjects( "members", "member", NamedUser,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
),
ExternalListOfObjects( "repos", "repo", Repository,
ListGetable( [], [] ),
ListGetable( Parameters( [], [] ) ),
ElementAddable(),
ElementRemovable(),
ElementHasable()
+1 -1
View File
@@ -6,6 +6,6 @@ UserKey = GithubObject(
InternalSimpleAttributes(
"url", "id", "title", "key",
),
Editable( [], [ "title", "key" ] ),
Editable( Parameters( [], [ "title", "key" ] ) ),
Deletable(),
)