class ExtendBlob(Blob):
    """Blob that extends the base blob with a file path."""

    def websource(self) -> Optional[str]:
        """The web source location of the blob as string if known otherwise none."""
        return str(self.webpath) if self.webpath else None

    PathLike = Union[str, PurePath]

    def from_path_withwebpath(
            cls,
            path: PathLike,
            *,
            webpath: Optional[str] = None,
            encoding: str = "utf-8",
            mime_type: Optional[str] = None,
            guess_type: bool = True,
    ) -> Blob:
        """Load the blob from a path like object.

        Args:
            path: path like object to file to be read
            encoding: Encoding to use if decoding the bytes into a string
            mime_type: if provided, will be set as the mime-type of the data
            guess_type: If True, the mimetype will be guessed from the file extension,
                        if a mime-type was not provided

        Returns:
            Blob instance
        """
        if mime_type is None and guess_type:
            _mimetype = mimetypes.guess_type(path)[0] if guess_type else None
        else:
            _mimetype = mime_type
        # We do not load the data immediately, instead we treat the blob as a
        # reference to the underlying data.
        return cls(data=None, mimetype=_mimetype, encoding=encoding, path=path, websource=webpath)   blob = ExtendBlob.from_path_withwebpath(ExtendBlob, path=self.file_path, webpath=self.web_path) blob is not return with websource field You should write your response with 250 or more words.
user