def open()

in components/processing/libs/processor-base/src/processors/base/gcsio.py [0:0]


    def open(self, mode, encoding=None):
        """Open for reading/writing"""
        logger.debug("Opening %s with open %s", str(self), mode)
        if self.bucket:
            if mode[0] == "w":
                return self.bucket.blob(self.path).open(
                    content_type=self.mimetype, mode=mode
                )
            return self.bucket.blob(self.path).open(mode=mode)

        # if writing, ensure output folder exists
        if mode[0] == "w":
            os.makedirs(Path(self.path).parent, exist_ok=True)

        return open(self.path, mode=mode, encoding=encoding)