给出以下代码我想知道如何在不使用变量有效的情况下使其更好,但检查所有情况并且如果其中至少有一个匹配则将返回值设置为False
def validate_ticketer_issue(self, ticketer_issue):
"""
Validate ticket system issue for common rules
:param ticketer_issue: (str) ticket system issue key
:return: (bool) True if issue is successfuly validated
"""
valid = True
issues_not_allowed = ('Pool', 'Document', 'Declaration', 'Restriction', 'Pre-Check')
issues_not_allowed_inprod = ('Analysis', 'Test')
try:
issue = self.service.issue(ticketer_issue)
if len(issue.fields.versions) == 0: # Affects Version/s
valid = False
print('{}: Affects Version/s field is empty'.format(ticketer_issue))
if issue.fields.issuetype.name in issues_not_allowed:
valid = False
print('{}: According to working model commit is not'
' allowed to the ticket system issue types'
'{}'.format(issue['key'], issues_not_allowed))
if issue.fields.issuetype.name in issues_not_allowed_inprod:
valid = False
print('{}: According to working model commit'
' to the ticket system {} issue types'
' is not allowed in production code'.format(
issues_not_allowed_inprod, issue['key']))
if issue.fields.issuetype.name == 'Fault':
if not self.validate_fault_issue_summary(issue):
valid = False
except ticketer.exceptions.TicketerError:
valid = False
print('{}: issue does NOT exist in the ticket system!'.format(ticketer_issue))
if valid:
print('{}: OK'.format(ticketer_issue))
return valid