def validate_types(schemas_and_tables: list): """Normalize a list of desired annotation types if passed None returns all types, otherwise checks that types exist Parameters ---------- types: list[str] or None Returns ------- list[str] list of types Raises ------ UnknownAnnotationTypeException If types contains an invalid type """ all_types = get_types() if not (all(schema_name in all_types for schema_name, table_name in schemas_and_tables)): bad_types = [ schema_name for schema_name, table_name in schemas_and_tables if schema_name not in all_types ] msg = f"{bad_types} are invalid types" raise UnknownAnnotationTypeException(msg)
def get_flat_schema(schema_type: str): try: Schema = type_mapping[schema_type] FlatSchema = create_flattened_schema(Schema) return FlatSchema except KeyError: msg = f"Schema type: {schema_type} is not a known annotation type" raise UnknownAnnotationTypeException(msg)
def get_flat_schema(type): try: Schema = type_mapping[type] FlatSchema = create_flattened_schema(Schema) return FlatSchema except KeyError: msg = 'type {} is not a known annotation type'.format(type) raise UnknownAnnotationTypeException(msg)
def get_schema(schema_type: str): """Get schema class object by keyword, only returns an object that is listed in :data:`type_mapping` dict Parameters ---------- schema_type : str Key name of schema in :data:`type_mapping` Returns ------- obj marshmallow schema object Raises ------ UnknownAnnotationTypeException Key argument is not in :data:`type_mapping` dict """ try: return type_mapping[schema_type] except KeyError: msg = f"Schema type: {schema_type} is not a known annotation type" raise UnknownAnnotationTypeException(msg)
def get_schema(type): try: return type_mapping[type] except KeyError: msg = 'type {} is not a known annotation type'.format(type) raise UnknownAnnotationTypeException(msg)