def elements(self): """ Retrieve all projector elements given in the config field. For every element the method check_and_update_data() is called and its result is also used. """ # Get all elements from all apps. elements = {} for element in ProjectorElement.get_all(): elements[element.name] = element # Parse result result = {} for key, value in self.config.items(): # Use a copy here not to change the origin value in the config field. result[key] = value.copy() result[key]['uuid'] = key element = elements.get(value['name']) if element is None: result[key]['error'] = 'Projector element does not exist.' else: try: result[key].update(element.check_and_update_data( projector_object=self, config_entry=value)) except ProjectorException as e: result[key]['error'] = str(e) return result
def elements(self): """ Retrieve all projector elements given in the config field. For every element the method check_and_update_data() is called and its result is also used. """ # Get all elements from all apps. elements = {} for element in ProjectorElement.get_all(): elements[element.name] = element # Parse result result = {} for key, value in self.config.items(): # Use a copy here not to change the origin value in the config field. result[key] = value.copy() result[key]['uuid'] = key element = elements.get(value['name']) if element is None: result[key]['error'] = 'Projector element does not exist.' else: try: result[key].update( element.check_and_update_data(projector_object=self, config_entry=value)) except ProjectorException as e: result[key]['error'] = str(e) return result
def get_all_requirements(cls): """ Generator which returns all ProjectorRequirement instances of all active projector elements. """ # Get all elements from all apps. elements = {} for element in ProjectorElement.get_all(): elements[element.name] = element # Generator for projector in cls.objects.all(): for key, value in projector.config.items(): element = elements.get(value['name']) if element is not None: for requirement in element.get_requirements(value): yield requirement