mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 10:51:14 +00:00
379 lines
16 KiB
Python
379 lines
16 KiB
Python
# 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 datetime
|
|
|
|
import GithubObject
|
|
import PaginatedList
|
|
|
|
import PullRequestMergeStatus
|
|
import NamedUser
|
|
import PullRequestComment
|
|
import File
|
|
import PullRequestPart
|
|
import Commit
|
|
|
|
class PullRequest( GithubObject.GithubObject ):
|
|
@property
|
|
def additions( self ):
|
|
self._completeIfNotSet( self._additions )
|
|
return self._NoneIfNotSet( self._additions )
|
|
|
|
@property
|
|
def base( self ):
|
|
self._completeIfNotSet( self._base )
|
|
return self._NoneIfNotSet( self._base )
|
|
|
|
@property
|
|
def body( self ):
|
|
self._completeIfNotSet( self._body )
|
|
return self._NoneIfNotSet( self._body )
|
|
|
|
@property
|
|
def changed_files( self ):
|
|
self._completeIfNotSet( self._changed_files )
|
|
return self._NoneIfNotSet( self._changed_files )
|
|
|
|
@property
|
|
def closed_at( self ):
|
|
self._completeIfNotSet( self._closed_at )
|
|
return self._NoneIfNotSet( self._closed_at )
|
|
|
|
@property
|
|
def comments( self ):
|
|
self._completeIfNotSet( self._comments )
|
|
return self._NoneIfNotSet( self._comments )
|
|
|
|
@property
|
|
def commits( self ):
|
|
self._completeIfNotSet( self._commits )
|
|
return self._NoneIfNotSet( self._commits )
|
|
|
|
@property
|
|
def created_at( self ):
|
|
self._completeIfNotSet( self._created_at )
|
|
return self._NoneIfNotSet( self._created_at )
|
|
|
|
@property
|
|
def deletions( self ):
|
|
self._completeIfNotSet( self._deletions )
|
|
return self._NoneIfNotSet( self._deletions )
|
|
|
|
@property
|
|
def diff_url( self ):
|
|
self._completeIfNotSet( self._diff_url )
|
|
return self._NoneIfNotSet( self._diff_url )
|
|
|
|
@property
|
|
def head( self ):
|
|
self._completeIfNotSet( self._head )
|
|
return self._NoneIfNotSet( self._head )
|
|
|
|
@property
|
|
def html_url( self ):
|
|
self._completeIfNotSet( self._html_url )
|
|
return self._NoneIfNotSet( self._html_url )
|
|
|
|
@property
|
|
def id( self ):
|
|
self._completeIfNotSet( self._id )
|
|
return self._NoneIfNotSet( self._id )
|
|
|
|
@property
|
|
def issue_url( self ):
|
|
self._completeIfNotSet( self._issue_url )
|
|
return self._NoneIfNotSet( self._issue_url )
|
|
|
|
@property
|
|
def mergeable( self ):
|
|
self._completeIfNotSet( self._mergeable )
|
|
return self._NoneIfNotSet( self._mergeable )
|
|
|
|
@property
|
|
def merged( self ):
|
|
self._completeIfNotSet( self._merged )
|
|
return self._NoneIfNotSet( self._merged )
|
|
|
|
@property
|
|
def merged_at( self ):
|
|
self._completeIfNotSet( self._merged_at )
|
|
return self._NoneIfNotSet( self._merged_at )
|
|
|
|
@property
|
|
def merged_by( self ):
|
|
self._completeIfNotSet( self._merged_by )
|
|
return self._NoneIfNotSet( self._merged_by )
|
|
|
|
@property
|
|
def number( self ):
|
|
self._completeIfNotSet( self._number )
|
|
return self._NoneIfNotSet( self._number )
|
|
|
|
@property
|
|
def patch_url( self ):
|
|
self._completeIfNotSet( self._patch_url )
|
|
return self._NoneIfNotSet( self._patch_url )
|
|
|
|
@property
|
|
def review_comments( self ):
|
|
self._completeIfNotSet( self._review_comments )
|
|
return self._NoneIfNotSet( self._review_comments )
|
|
|
|
@property
|
|
def state( self ):
|
|
self._completeIfNotSet( self._state )
|
|
return self._NoneIfNotSet( self._state )
|
|
|
|
@property
|
|
def title( self ):
|
|
self._completeIfNotSet( self._title )
|
|
return self._NoneIfNotSet( self._title )
|
|
|
|
@property
|
|
def updated_at( self ):
|
|
self._completeIfNotSet( self._updated_at )
|
|
return self._NoneIfNotSet( self._updated_at )
|
|
|
|
@property
|
|
def url( self ):
|
|
self._completeIfNotSet( self._url )
|
|
return self._NoneIfNotSet( self._url )
|
|
|
|
@property
|
|
def user( self ):
|
|
self._completeIfNotSet( self._user )
|
|
return self._NoneIfNotSet( self._user )
|
|
|
|
def create_comment( self, body, commit_id, path, position ):
|
|
assert isinstance( body, ( str, unicode ) ), body
|
|
assert isinstance( commit_id, Commit.Commit ), commit_id
|
|
assert isinstance( path, ( str, unicode ) ), path
|
|
assert isinstance( position, int ), position
|
|
post_parameters = {
|
|
"body": body,
|
|
"commit_id": commit_id._identity,
|
|
"path": path,
|
|
"position": position,
|
|
}
|
|
headers, data = self._requester.requestAndCheck(
|
|
"POST",
|
|
self.url + "/comments",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return PullRequestComment.PullRequestComment( self._requester, data, completed = True )
|
|
|
|
def edit( self, title = GithubObject.NotSet, body = GithubObject.NotSet, state = GithubObject.NotSet ):
|
|
assert title is GithubObject.NotSet or isinstance( title, ( str, unicode ) ), title
|
|
assert body is GithubObject.NotSet or isinstance( body, ( str, unicode ) ), body
|
|
assert state is GithubObject.NotSet or isinstance( state, ( str, unicode ) ), state
|
|
post_parameters = dict()
|
|
if title is not GithubObject.NotSet:
|
|
post_parameters[ "title" ] = title
|
|
if body is not GithubObject.NotSet:
|
|
post_parameters[ "body" ] = body
|
|
if state is not GithubObject.NotSet:
|
|
post_parameters[ "state" ] = state
|
|
headers, data = self._requester.requestAndCheck(
|
|
"PATCH",
|
|
self.url,
|
|
None,
|
|
post_parameters
|
|
)
|
|
self._useAttributes( data )
|
|
|
|
def get_comment( self, id ):
|
|
assert isinstance( id, int ), id
|
|
headers, data = self._requester.requestAndCheck(
|
|
"GET",
|
|
self._parentUrl( self.url ) + "/comments/" + str( id ),
|
|
None,
|
|
None
|
|
)
|
|
return PullRequestComment.PullRequestComment( self._requester, data, completed = True )
|
|
|
|
def get_comments( self ):
|
|
headers, data = self._requester.requestAndCheck(
|
|
"GET",
|
|
self.url + "/comments",
|
|
None,
|
|
None
|
|
)
|
|
return PaginatedList.PaginatedList(
|
|
PullRequestComment.PullRequestComment,
|
|
self._requester,
|
|
headers,
|
|
data
|
|
)
|
|
|
|
def get_commits( self ):
|
|
headers, data = self._requester.requestAndCheck(
|
|
"GET",
|
|
self.url + "/commits",
|
|
None,
|
|
None
|
|
)
|
|
return PaginatedList.PaginatedList(
|
|
Commit.Commit,
|
|
self._requester,
|
|
headers,
|
|
data
|
|
)
|
|
|
|
def get_files( self ):
|
|
headers, data = self._requester.requestAndCheck(
|
|
"GET",
|
|
self.url + "/files",
|
|
None,
|
|
None
|
|
)
|
|
return PaginatedList.PaginatedList(
|
|
File.File,
|
|
self._requester,
|
|
headers,
|
|
data
|
|
)
|
|
|
|
def is_merged( self ):
|
|
status, headers, data = self._requester.requestRaw(
|
|
"GET",
|
|
self.url + "/merge",
|
|
None,
|
|
None
|
|
)
|
|
return status == 204
|
|
|
|
def merge( self, commit_message = GithubObject.NotSet ):
|
|
assert commit_message is GithubObject.NotSet or isinstance( commit_message, ( str, unicode ) ), commit_message
|
|
post_parameters = dict()
|
|
if commit_message is not GithubObject.NotSet:
|
|
post_parameters[ "commit_message" ] = commit_message
|
|
headers, data = self._requester.requestAndCheck(
|
|
"PUT",
|
|
self.url + "/merge",
|
|
None,
|
|
post_parameters
|
|
)
|
|
return PullRequestMergeStatus.PullRequestMergeStatus( self._requester, data, completed = True )
|
|
|
|
def _initAttributes( self ):
|
|
self._additions = GithubObject.NotSet
|
|
self._base = GithubObject.NotSet
|
|
self._body = GithubObject.NotSet
|
|
self._changed_files = GithubObject.NotSet
|
|
self._closed_at = GithubObject.NotSet
|
|
self._comments = GithubObject.NotSet
|
|
self._commits = GithubObject.NotSet
|
|
self._created_at = GithubObject.NotSet
|
|
self._deletions = GithubObject.NotSet
|
|
self._diff_url = GithubObject.NotSet
|
|
self._head = GithubObject.NotSet
|
|
self._html_url = GithubObject.NotSet
|
|
self._id = GithubObject.NotSet
|
|
self._issue_url = GithubObject.NotSet
|
|
self._mergeable = GithubObject.NotSet
|
|
self._merged = GithubObject.NotSet
|
|
self._merged_at = GithubObject.NotSet
|
|
self._merged_by = GithubObject.NotSet
|
|
self._number = GithubObject.NotSet
|
|
self._patch_url = GithubObject.NotSet
|
|
self._review_comments = GithubObject.NotSet
|
|
self._state = GithubObject.NotSet
|
|
self._title = GithubObject.NotSet
|
|
self._updated_at = GithubObject.NotSet
|
|
self._url = GithubObject.NotSet
|
|
self._user = GithubObject.NotSet
|
|
|
|
def _useAttributes( self, attributes ):
|
|
if "additions" in attributes: # pragma no branch
|
|
assert attributes[ "additions" ] is None or isinstance( attributes[ "additions" ], int ), attributes[ "additions" ]
|
|
self._additions = attributes[ "additions" ]
|
|
if "base" in attributes: # pragma no branch
|
|
assert attributes[ "base" ] is None or isinstance( attributes[ "base" ], dict ), attributes[ "base" ]
|
|
self._base = None if attributes[ "base" ] is None else PullRequestPart.PullRequestPart( self._requester, attributes[ "base" ], completed = False )
|
|
if "body" in attributes: # pragma no branch
|
|
assert attributes[ "body" ] is None or isinstance( attributes[ "body" ], ( str, unicode ) ), attributes[ "body" ]
|
|
self._body = attributes[ "body" ]
|
|
if "changed_files" in attributes: # pragma no branch
|
|
assert attributes[ "changed_files" ] is None or isinstance( attributes[ "changed_files" ], int ), attributes[ "changed_files" ]
|
|
self._changed_files = attributes[ "changed_files" ]
|
|
if "closed_at" in attributes: # pragma no branch
|
|
assert attributes[ "closed_at" ] is None or isinstance( attributes[ "closed_at" ], ( str, unicode ) ), attributes[ "closed_at" ]
|
|
self._closed_at = None if attributes[ "closed_at" ] is None else datetime.datetime.strptime( attributes[ "closed_at" ], "%Y-%m-%dT%H:%M:%SZ" )
|
|
if "comments" in attributes: # pragma no branch
|
|
assert attributes[ "comments" ] is None or isinstance( attributes[ "comments" ], int ), attributes[ "comments" ]
|
|
self._comments = attributes[ "comments" ]
|
|
if "commits" in attributes: # pragma no branch
|
|
assert attributes[ "commits" ] is None or isinstance( attributes[ "commits" ], int ), attributes[ "commits" ]
|
|
self._commits = attributes[ "commits" ]
|
|
if "created_at" in attributes: # pragma no branch
|
|
assert attributes[ "created_at" ] is None or isinstance( attributes[ "created_at" ], ( str, unicode ) ), attributes[ "created_at" ]
|
|
self._created_at = None if attributes[ "created_at" ] is None else datetime.datetime.strptime( attributes[ "created_at" ], "%Y-%m-%dT%H:%M:%SZ" )
|
|
if "deletions" in attributes: # pragma no branch
|
|
assert attributes[ "deletions" ] is None or isinstance( attributes[ "deletions" ], int ), attributes[ "deletions" ]
|
|
self._deletions = attributes[ "deletions" ]
|
|
if "diff_url" in attributes: # pragma no branch
|
|
assert attributes[ "diff_url" ] is None or isinstance( attributes[ "diff_url" ], ( str, unicode ) ), attributes[ "diff_url" ]
|
|
self._diff_url = attributes[ "diff_url" ]
|
|
if "head" in attributes: # pragma no branch
|
|
assert attributes[ "head" ] is None or isinstance( attributes[ "head" ], dict ), attributes[ "head" ]
|
|
self._head = None if attributes[ "head" ] is None else PullRequestPart.PullRequestPart( self._requester, attributes[ "head" ], completed = False )
|
|
if "html_url" in attributes: # pragma no branch
|
|
assert attributes[ "html_url" ] is None or isinstance( attributes[ "html_url" ], ( str, unicode ) ), attributes[ "html_url" ]
|
|
self._html_url = attributes[ "html_url" ]
|
|
if "id" in attributes: # pragma no branch
|
|
assert attributes[ "id" ] is None or isinstance( attributes[ "id" ], int ), attributes[ "id" ]
|
|
self._id = attributes[ "id" ]
|
|
if "issue_url" in attributes: # pragma no branch
|
|
assert attributes[ "issue_url" ] is None or isinstance( attributes[ "issue_url" ], ( str, unicode ) ), attributes[ "issue_url" ]
|
|
self._issue_url = attributes[ "issue_url" ]
|
|
if "mergeable" in attributes: # pragma no branch
|
|
assert attributes[ "mergeable" ] is None or isinstance( attributes[ "mergeable" ], bool ), attributes[ "mergeable" ]
|
|
self._mergeable = attributes[ "mergeable" ]
|
|
if "merged" in attributes: # pragma no branch
|
|
assert attributes[ "merged" ] is None or isinstance( attributes[ "merged" ], bool ), attributes[ "merged" ]
|
|
self._merged = attributes[ "merged" ]
|
|
if "merged_at" in attributes: # pragma no branch
|
|
assert attributes[ "merged_at" ] is None or isinstance( attributes[ "merged_at" ], ( str, unicode ) ), attributes[ "merged_at" ]
|
|
self._merged_at = None if attributes[ "merged_at" ] is None else datetime.datetime.strptime( attributes[ "merged_at" ], "%Y-%m-%dT%H:%M:%SZ" )
|
|
if "merged_by" in attributes: # pragma no branch
|
|
assert attributes[ "merged_by" ] is None or isinstance( attributes[ "merged_by" ], dict ), attributes[ "merged_by" ]
|
|
self._merged_by = None if attributes[ "merged_by" ] is None else NamedUser.NamedUser( self._requester, attributes[ "merged_by" ], completed = False )
|
|
if "number" in attributes: # pragma no branch
|
|
assert attributes[ "number" ] is None or isinstance( attributes[ "number" ], int ), attributes[ "number" ]
|
|
self._number = attributes[ "number" ]
|
|
if "patch_url" in attributes: # pragma no branch
|
|
assert attributes[ "patch_url" ] is None or isinstance( attributes[ "patch_url" ], ( str, unicode ) ), attributes[ "patch_url" ]
|
|
self._patch_url = attributes[ "patch_url" ]
|
|
if "review_comments" in attributes: # pragma no branch
|
|
assert attributes[ "review_comments" ] is None or isinstance( attributes[ "review_comments" ], int ), attributes[ "review_comments" ]
|
|
self._review_comments = attributes[ "review_comments" ]
|
|
if "state" in attributes: # pragma no branch
|
|
assert attributes[ "state" ] is None or isinstance( attributes[ "state" ], ( str, unicode ) ), attributes[ "state" ]
|
|
self._state = attributes[ "state" ]
|
|
if "title" in attributes: # pragma no branch
|
|
assert attributes[ "title" ] is None or isinstance( attributes[ "title" ], ( str, unicode ) ), attributes[ "title" ]
|
|
self._title = attributes[ "title" ]
|
|
if "updated_at" in attributes: # pragma no branch
|
|
assert attributes[ "updated_at" ] is None or isinstance( attributes[ "updated_at" ], ( str, unicode ) ), attributes[ "updated_at" ]
|
|
self._updated_at = None if attributes[ "updated_at" ] is None else datetime.datetime.strptime( attributes[ "updated_at" ], "%Y-%m-%dT%H:%M:%SZ" )
|
|
if "url" in attributes: # pragma no branch
|
|
assert attributes[ "url" ] is None or isinstance( attributes[ "url" ], ( str, unicode ) ), attributes[ "url" ]
|
|
self._url = attributes[ "url" ]
|
|
if "user" in attributes: # pragma no branch
|
|
assert attributes[ "user" ] is None or isinstance( attributes[ "user" ], dict ), attributes[ "user" ]
|
|
self._user = None if attributes[ "user" ] is None else NamedUser.NamedUser( self._requester, attributes[ "user" ], completed = False )
|