-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Description
See TODO in code below in systemcompliance.py. Code loads a remote reference listed in a dependency but does not check if the key is duplicated and therefore overwrites content.
# load dependencies
for item_type in self.supported_dictionaries:
# get standards in dependencies
for dependency_item in ocf.list_dependency_items_in_repo(ocf.resolve_ocfile_url(repo_url, revision), item_type):
# print("******** dependency_item ******\n", dependency_item)
dependency_ocf = OpenControlFiles()
dependency_repo_url = dependency_item['url']
# print("******** dependency_repo_url ******\n", dependency_repo_url)
dependency_revision = dependency_item['revision']
# print("******** resolved dependency *******\n", dependency_ocf.resolve_ocfile_url(dependency_repo_url.strip("/"), dependency_revision))
for url in dependency_ocf.list_items_urls_in_repo(dependency_ocf.resolve_ocfile_url(dependency_repo_url.strip("/"), dependency_revision), item_type):
print("*** Reading dependencies %s %s" % (item_type, url))
# TODO test if we will end duplicating and overwriting existing key
self.add_system_dict_from_url(item_type, url)