Refactor merge mode name lookup
This is repeated in a few places, centralize it. Change-Id: I7bbed1f5f9faad31affa71ef17fbfc1740c54db8
This commit is contained in:
parent
57451d04b9
commit
1245d100ca
@ -189,8 +189,7 @@ class GithubReporter(BaseReporter):
|
||||
merge_mode = item.current_build_set.getMergeMode()
|
||||
|
||||
if merge_mode not in self.merge_modes:
|
||||
mode = [x[0] for x in model.MERGER_MAP.items()
|
||||
if x[1] == merge_mode][0]
|
||||
mode = model.get_merge_mode_name(merge_mode)
|
||||
self.log.warning('Merge mode %s not supported by Github', mode)
|
||||
raise MergeFailure('Merge mode %s not supported by Github' % mode)
|
||||
|
||||
|
@ -16,9 +16,8 @@ import time
|
||||
import logging
|
||||
import voluptuous as v
|
||||
|
||||
from zuul import model
|
||||
from zuul.reporter import BaseReporter
|
||||
from zuul.model import MERGER_MERGE_RESOLVE, MERGER_MERGE, MERGER_MAP, \
|
||||
MERGER_SQUASH_MERGE
|
||||
from zuul.lib.logutil import get_annotated_logger
|
||||
from zuul.driver.gitlab.gitlabsource import GitlabSource
|
||||
from zuul.driver.util import scalar_or_list
|
||||
@ -33,9 +32,9 @@ class GitlabReporter(BaseReporter):
|
||||
|
||||
# Merge modes supported by gitlab
|
||||
merge_modes = {
|
||||
MERGER_MERGE: 'merge',
|
||||
MERGER_MERGE_RESOLVE: 'merge',
|
||||
MERGER_SQUASH_MERGE: 'squash'
|
||||
model.MERGER_MERGE: 'merge',
|
||||
model.MERGER_MERGE_RESOLVE: 'merge',
|
||||
model.MERGER_SQUASH_MERGE: 'squash'
|
||||
}
|
||||
|
||||
def __init__(self, driver, connection, pipeline, config=None):
|
||||
@ -110,7 +109,7 @@ class GitlabReporter(BaseReporter):
|
||||
merge_mode = item.current_build_set.getMergeMode()
|
||||
|
||||
if merge_mode not in self.merge_modes:
|
||||
mode = [x[0] for x in MERGER_MAP.items() if x[1] == merge_mode][0]
|
||||
mode = model.get_merge_mode_name(merge_mode)
|
||||
self.log.warning('Merge mode %s not supported by Gitlab', mode)
|
||||
raise MergeFailure('Merge mode %s not supported by Gitlab' % mode)
|
||||
|
||||
|
@ -123,6 +123,13 @@ def add_debug_line(debug_messages, msg, indent=0):
|
||||
debug_messages.append(indent + msg)
|
||||
|
||||
|
||||
def get_merge_mode_name(merge_mode):
|
||||
"Look up the merge mode name given the constant"
|
||||
for k, v in MERGER_MAP.items():
|
||||
if v == merge_mode:
|
||||
return k
|
||||
|
||||
|
||||
class ZuulMark:
|
||||
# The yaml mark class differs between the C and python versions.
|
||||
# The C version does not provide a snippet, and also appears to
|
||||
|
@ -1241,10 +1241,7 @@ class ZuulWebAPI(object):
|
||||
result = project.toDict()
|
||||
result['configs'] = []
|
||||
md = tenant.layout.getProjectMetadata(project.canonical_name).toDict()
|
||||
for k, v in model.MERGER_MAP.items():
|
||||
if v == md['merge_mode']:
|
||||
md['merge_mode'] = k
|
||||
break
|
||||
md['merge_mode'] = model.get_merge_mode_name(md['merge_mode'])
|
||||
result['metadata'] = md
|
||||
configs = tenant.layout.getAllProjectConfigs(project.canonical_name)
|
||||
for config_obj in configs:
|
||||
|
Loading…
x
Reference in New Issue
Block a user