def commits_and_all_issues(repo, issues): def replace(chars_to_replace, replacement, s): temp_s = s for c in chars_to_replace: temp_s = temp_s.replace(c, replacement) return temp_s def get_bug_num_from_comit_text(commit_text): text = replace("[]?#,:()", "", commit_text.lower()) text = replace("-_", " ", text) for word in text.split(): if word.isdigit(): return word return "0" commits = [] #issues_ids = map(lambda issue: issue.key.split("-")[1], issues) for git_commit in repo.iter_commits(): commit_text = clean_commit_message(git_commit.summary) commit_issue_num = get_bug_num_from_comit_text(commit_text) if commit_issue_num in issues.keys(): commits.append( Commit.init_commit_by_git_and_issue(git_commit, issues[commit_issue_num])) return commits