def resolve_by_type(type_name): """Returns a slots class by its type name.""" for cls in utils.all_subclasses(Slot): if cls.type_name == type_name: return cls raise ValueError("Unknown slot type name '{}'.".format(type_name))
def resolve_by_type(type_name, default=None): """Returns a slots class by its type name.""" for cls in utils.all_subclasses(Event): if cls.type_name == type_name: return cls if default is not None: return default else: raise ValueError("Unknown event name '{}'.".format(type_name))
def resolve_by_type(type_name): """Returns a slots class by its type name.""" for cls in utils.all_subclasses(Slot): if cls.type_name == type_name: return cls try: return utils.class_from_module_path(type_name) except(ImportError, AttributeError): raise ValueError( "Failed to find slot type, '{}' is neither a known type nor " "user-defined. If you are creating your own slot type, make " "sure its module path is correct.".format(type_name))
def resolve_by_type(type_name): """Returns a slots class by its type name.""" for cls in utils.all_subclasses(Slot): if cls.type_name == type_name: return cls try: return utils.class_from_module_path(type_name) except Exception: raise ValueError( "Failed to find slot type. Neither a known type nor. If " "you are creating your own slot type, make sure its " "module path is correct: {}.".format(type_name))
def resolve_by_type(type_name, default=None): # type: (Text, Optional[Text]) -> Optional[Type[Event]] """Returns a slots class by its type name.""" for cls in utils.all_subclasses(Event): if cls.type_name == type_name: return cls if type_name == "topic": return None # backwards compatibility to support old TopicSet evts elif default is not None: return default else: raise ValueError("Unknown event name '{}'.".format(type_name))