Skip to content

Commit 15ff51e

Browse files
committed
Fixed Merging Issue
1 parent 6ecc206 commit 15ff51e

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

cumulusci/tasks/salesforce/check_components.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import shutil
44
import tempfile
55
from collections import defaultdict
6+
from itertools import chain
67
from xml.etree.ElementTree import ParseError
78

89
from defusedxml.minidom import parseString
@@ -116,11 +117,19 @@ def get_repo_existing_components(self, plan_or_flow_name, paths=""):
116117
components = metadata_tree.parse_package_xml_types(
117118
"name", source_xml_tree
118119
)
119-
120120
response_messages = self._get_api_object_responce(
121121
package_xml_path, source_xml_tree.version.text
122122
)
123-
mdapi_components.update(components)
123+
merged = {}
124+
for key in set(components).union(mdapi_components):
125+
merged[key] = list(
126+
set(
127+
chain(
128+
components.get(key, []), mdapi_components.get(key, [])
129+
)
130+
)
131+
)
132+
mdapi_components = merged
124133
mdapi_response_messages.extend(response_messages)
125134
continue
126135
self._copy_to_tempdir(path, temp_dir)
@@ -132,7 +141,13 @@ def get_repo_existing_components(self, plan_or_flow_name, paths=""):
132141

133142
# remove temp dir
134143
shutil.rmtree(temp_dir)
135-
components.update(mdapi_components)
144+
print(mdapi_components)
145+
merged = {}
146+
for key in set(components).union(mdapi_components):
147+
merged[key] = list(
148+
set(chain(components.get(key, []), mdapi_components.get(key, [])))
149+
)
150+
components = merged
136151
api_retrieve_unpackaged_response.extend(mdapi_response_messages)
137152
return [components, api_retrieve_unpackaged_response]
138153

0 commit comments

Comments
 (0)