import zipfile
import os.path

class ZipFileExt(zipfile.ZipFile):
    def unzip_into_dir(self, dir):  # @ReservedAssignment
        if not os.path.exists(dir):
            os.mkdir(dir, 0777)
        for name in self.namelist():
            if name.endswith('/'):
                os.mkdir(os.path.join(dir, name))
            else:
                outfile = open(os.path.join(dir, name), 'wb')
                outfile.write(self.read(name))
                outfile.close()

