Exemple #1
0
    def _unzip_file(cls, content_type, stream=None, mode=None):
        tempfile = NamedTemporaryFile(delete=False)
        filename = tempfile.name
        kwargs = {'mode': mode} if mode else {}
        if stream is not None:
            tempfile.write(stream.read())

        tempfile.close()

        if content_type.endswith('gzip'):
            zfile = GzipFile(filename, **kwargs)

        else:
            zfile = ZipFile(filename, **kwargs)
            zfile = zfile.open(zfile.namelist()[0])

        return zfile