from shared.resources import BaseIOManager from upath import UPath import dagster as dg class HtmlIOManager(BaseIOManager): extension: str = ".html" # Automatically adds a .json extension def dump_to_path( self, context: dg.OutputContext, obj: object, path: "UPath" ) -> None: """This saves the output of an asset to a file path.""" with path.open("w") as fp: fp.write(obj) def load_from_path(self, context: dg.InputContext, path: "UPath") -> object: """This loads an input for a downstream asset from a file path.""" with path.open("r") as fp: return fp.read()