mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
from Organization import *
|
|
|
|
from Repository import *
|
|
from Team import *
|
|
from Event import *
|
|
|
|
Organization._addAttributePolicy(
|
|
ExternalListOfObjects( "repos", "repo", Repository,
|
|
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", ] ) )
|
|
)
|
|
)
|
|
|
|
def __createForkForOrg( org, repo ):
|
|
assert isinstance( repo, Repository )
|
|
return Repository( org._github, org._github._dataRequest( "POST", repo._baseUrl() + "/forks", { "org": org.login }, None ), lazy = True )
|
|
|
|
Organization._addAttributePolicy(
|
|
SeveralAttributePolicies( [ MethodFromCallable( "create_fork", Parameters( [ "repo" ], [] ), __createForkForOrg, ObjectTypePolicy( Repository ) ) ], "Forking" )
|
|
)
|
|
|
|
Organization._addAttributePolicy(
|
|
ExternalListOfObjects( "teams", "team", Team,
|
|
ListGetable( Parameters( [], [] ) ),
|
|
ElementCreatable( Parameters( [ "name" ], [ "repo_names", "permission" ] ) )
|
|
)
|
|
)
|
|
|
|
Organization._addAttributePolicy(
|
|
ExternalListOfObjects( "events", "event", Event,
|
|
ListGetable( Parameters( [], [] ) )
|
|
),
|
|
)
|