Attribute 'commits' defined outside __init__
22 spec=PullRequest,
23 )
24 commit = Mock(commit=Mock(message="blank"))
25 self.commits = [commit] 26
27 self.pull_request.get_commits().reversed = self.commits
28 # self.patch(patch.object(Repository, "get_branch", repository_get_branch))
Attribute 'pull_request' defined outside __init__
18 # def repository_get_branch(self_, branch_name):
19 # return Mock(name=branch_name, protected=branch_name == self_.default_branch)
20
21 self.pull_request = Mock( 22 spec=PullRequest,
23 )
24 commit = Mock(commit=Mock(message="blank"))
Attribute 'pull_request' defined outside __init__
20 def repository_get_branch(self_, branch_name):
21 return Mock(name=branch_name, protected=branch_name == self_.default_branch)
22
23 self.pull_request = Mock( 24 spec=PullRequest,
25 number=123,
26 title="Pull Request Title",
Attribute 'auto_approve_enabled' defined outside __init__
31 self.pull_request_enabled and config.enable_auto_merge
32 )
33 self.auto_update_enabled = self.pull_request_enabled and config.auto_update
34 self.auto_approve_enabled = self.pull_request_enabled and config.auto_approve 35
36 # Config.release_manager.enabled = False
37 # Config.issue_manager.enabled = False
Attribute 'auto_update_enabled' defined outside __init__
30 self.enable_auto_merge_enabled = (
31 self.pull_request_enabled and config.enable_auto_merge
32 )
33 self.auto_update_enabled = self.pull_request_enabled and config.auto_update 34 self.auto_approve_enabled = self.pull_request_enabled and config.auto_approve
35
36 # Config.release_manager.enabled = False
Attribute 'enable_auto_merge_enabled' defined outside __init__
27 self.create_pull_request_enabled = (
28 self.pull_request_enabled and config.create_pull_request
29 )
30 self.enable_auto_merge_enabled = ( 31 self.pull_request_enabled and config.enable_auto_merge
32 )
33 self.auto_update_enabled = self.pull_request_enabled and config.auto_update
Attribute 'create_pull_request_enabled' defined outside __init__
24 def update_configs(self):
25 config = Config.pull_request_manager
26 self.pull_request_enabled = config.enabled
27 self.create_pull_request_enabled = ( 28 self.pull_request_enabled and config.create_pull_request
29 )
30 self.enable_auto_merge_enabled = (
Attribute 'pull_request_enabled' defined outside __init__
23 # noinspection PyAttributeOutsideInit
24 def update_configs(self):
25 config = Config.pull_request_manager
26 self.pull_request_enabled = config.enabled 27 self.create_pull_request_enabled = (
28 self.pull_request_enabled and config.create_pull_request
29 )
Description
Defining an instance attribute outside __init__
affects the readability of code. It is expected to find all the attributes an instance may have by reading its __init__
method. If there is a need to initialize attribute via sub-initialization methods, it is recommended to assign attributes to None
in the init then call the sub-initialization methods.