diff options
Diffstat (limited to 'jenkins_jobs/modules/view_list.py')
-rw-r--r-- | jenkins_jobs/modules/view_list.py | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py index 2931cc4b..8ad7658c 100644 --- a/jenkins_jobs/modules/view_list.py +++ b/jenkins_jobs/modules/view_list.py @@ -310,18 +310,27 @@ DEFAULT_COLUMNS = [ class List(jenkins_jobs.modules.base.Base): sequence = 0 - def root_xml(self, data): - root = XML.Element("hudson.model.ListView") - - mapping = [ - ("name", "name", None), - ("description", "description", ""), - ("filter-executors", "filterExecutors", False), - ("filter-queue", "filterQueue", False), - ] + def root_xml(self, data, sectioned=False): + name = "hudson.model.ListView" + if sectioned: + name = "hudson.plugins.sectioned__view.ListViewSection" + root = XML.Element(name) + + mapping = [("name", "name", None)] + if not sectioned: + mapping.extend( + [ + ("description", "description", ""), + ("filter-executors", "filterExecutors", False), + ("filter-queue", "filterQueue", False), + ] + ) helpers.convert_mapping_to_xml(root, data, mapping, fail_required=True) - XML.SubElement(root, "properties", {"class": "hudson.model.View$PropertyList"}) + if not sectioned: + XML.SubElement( + root, "properties", {"class": "hudson.model.View$PropertyList"} + ) jn_xml = XML.SubElement(root, "jobNames") jobnames = data.get("job-name", None) @@ -341,6 +350,13 @@ class List(jenkins_jobs.modules.base.Base): filter = getattr(view_jobfilters, jobfilter.replace("-", "_")) filter(job_filter_xml, jobfilters.get(jobfilter)) + if sectioned: + mapping = [ + ("width", "width", "FULL", ["FULL", "HALF", "THIRD", "TWO_THIRDS"]), + ("alignment", "alignment", "CENTER", ["CENTER", "LEFT", "RIGHT"]), + ] + helpers.convert_mapping_to_xml(root, data, mapping, fail_required=True) + c_xml = XML.SubElement(root, "columns") columns = data.get("columns", DEFAULT_COLUMNS) @@ -369,11 +385,11 @@ class List(jenkins_jobs.modules.base.Base): x.append(XML.fromstring(tag)) else: XML.SubElement(c_xml, COLUMN_DICT[column]) - mapping = [ - ("regex", "includeRegex", None), - ("recurse", "recurse", False), - ("status-filter", "statusFilter", None), - ] + mapping = [("regex", "includeRegex", None)] + if not sectioned: + mapping.extend( + [("recurse", "recurse", False), ("status-filter", "statusFilter", None)] + ) helpers.convert_mapping_to_xml(root, data, mapping, fail_required=False) return root |