def gradient(self, gradient): try: loadChecker(type(self).__name__, gradient, ['colors', 'minValue', 'maxValue'], "gradient") self.__gradient = Gradient(gradient['colors'], gradient['minValue'], gradient['maxValue']) except MissingParameters as e: handler(type(self).__name__, 'Gradient {} is missing parameters: ' '{}. Skipping.' .format(gradient, e))
def metadata(self, metadata): typeChecker(type(self).__name__, metadata, list, "metadata") self.__metadata = [] for entry in metadata: try: loadChecker(type(self).__name__, entry, ['name', 'value'], "metadata") self.__metadata.append(Metadata(entry['name'], entry['value'])) except MissingParameters as e: handler(type(self).__name__, 'Metadata {} is missing parameters: ' '{}. Skipping.' .format(entry, e))
def versions(self, versions): typeChecker(type(self).__name__, versions, dict, "version") attack = UNSETVALUE if 'attack' in versions: attack = versions['attack'] try: loadChecker(type(self).__name__, versions, ['layer', 'navigator'], "versions") self.__versions = Versions(versions['layer'], attack, versions['navigator']) except MissingParameters as e: handler(type(self).__name__, 'versions {} is missing parameters: ' '{}. Skipping.' .format(versions, e))
def legendItems(self, legendItems): typeChecker(type(self).__name__, legendItems, list, "legendItems") self.__legendItems = [] for entry in legendItems: try: loadChecker(type(self).__name__, entry, ['label', 'color'], "legendItem") temp = LegendItem(entry['label'], entry['color']) self.__legendItems.append(temp) except MissingParameters as e: handler(type(self).__name__, 'Legend Item {} is missing parameters: ' '{}. Skipping.' .format(entry, e))
def filters(self, filters): temp = Filter(self.domain) try: loadChecker(type(self).__name__, filters, ['platforms'], "filters") # force upgrade to v4 if 'stages' in filters: print('[Filters] - V3 Field "stages" detected. Upgrading Filters object to V4.') temp.platforms = filters['platforms'] self.__filters = temp except MissingParameters as e: handler(type(self).__name__, 'Filters {} is missing parameters: ' '{}. Skipping.' .format(filters, e))
def techniques(self, techniques): typeChecker(type(self).__name__, techniques, list, "techniques") self.__techniques = [] for entry in techniques: try: loadChecker(type(self).__name__, entry, ['techniqueID'], "technique") temp = Technique(entry['techniqueID']) temp._loader(entry) self.__techniques.append(temp) except MissingParameters as e: handler(type(self).__name__, 'Technique {} is missing parameters: ' '{}. Skipping.' .format(entry, e))