(zip_file_name)
Unzip zipfile to a temporary directory.

    The directory of the unzipped files is returned if success,
    otherwise None is returned.
Unzip zipfile to a temporary directory.
Unzip zipfile to a temporary directory .
def unzip_to_temp_dir(zip_file_name):
    """Unzip zipfile to a temporary directory.

    The directory of the unzipped files is returned if success,
    otherwise None is returned. """
    if not zip_file_name or not os.path.exists(zip_file_name):
        return None

    zf = zipfile.ZipFile(zip_file_name)

    if zf.testzip() is not None:
        return None

    # Unzip the files into a temporary directory
    LOGGER.info("Extracting zipped file: %s" % zip_file_name)
    tempdir = tempfile.mkdtemp()

    try:
        # Create directories that don't exist
        for zip_name in zf.namelist():
            # We have no knowledge on the os where the zipped file was
            # created, so we restrict to zip files with paths without
            # charactor "\" and "/".
            name = (zip_name.replace("\\", os.path.sep).
                    replace("/", os.path.sep))
            dest = os.path.join(tempdir, name)
            if (name.endswith(os.path.sep) and not os.path.exists(dest)):
                os.mkdir(dest)
                LOGGER.debug("Directory %s created." % dest)

        # Copy files
        for zip_name in zf.namelist():
            # We have no knowledge on the os where the zipped file was
            # created, so we restrict to zip files with paths without
            # charactor "\" and "/".
            name = (zip_name.replace("\\", os.path.sep).
                    replace("/", os.path.sep))
            dest = os.path.join(tempdir, name)
            if not (name.endswith(os.path.sep)):
                LOGGER.debug("Copying file %s......" % dest)
                outfile = open(dest, 'wb')
                outfile.write(zf.read(zip_name))
                outfile.close()
                LOGGER.debug("File %s copied." % dest)

        LOGGER.info("Unzipped file can be found at %s" % tempdir)
        return tempdir

    except IOError, err:
        LOGGER.error("Error in extracting webdriver.xpi: %s" % err)
        return None
def unzip_to_temp_dir ( zip_file_name ) : if not zip_file_name or not os . path . exists ( zip_file_name ) : return None zf = zipfile . ZipFile ( zip_file_name ) if zf . testzip ( ) is not None : return None # Unzip the files into a temporary directory LOGGER . info ( "Extracting zipped file: %s" % zip_file_name ) tempdir = tempfile . mkdtemp ( ) try : # Create directories that don't exist for zip_name in zf . namelist ( ) : # We have no knowledge on the os where the zipped file was # created, so we restrict to zip files with paths without # charactor "\" and "/". name = ( zip_name . replace ( "\\" , os . path . sep ) . replace ( "/" , os . path . sep ) ) dest = os . path . join ( tempdir , name ) if ( name . endswith ( os . path . sep ) and not os . path . exists ( dest ) ) : os . mkdir ( dest ) LOGGER . debug ( "Directory %s created." % dest ) # Copy files for zip_name in zf . namelist ( ) : # We have no knowledge on the os where the zipped file was # created, so we restrict to zip files with paths without # charactor "\" and "/". name = ( zip_name . replace ( "\\" , os . path . sep ) . replace ( "/" , os . path . sep ) ) dest = os . path . join ( tempdir , name ) if not ( name . endswith ( os . path . sep ) ) : LOGGER . debug ( "Copying file %s......" % dest ) outfile = open ( dest , 'wb' ) outfile . write ( zf . read ( zip_name ) ) outfile . close ( ) LOGGER . debug ( "File %s copied." % dest ) LOGGER . info ( "Unzipped file can be found at %s" % tempdir ) return tempdir except IOError , err : LOGGER . error ( "Error in extracting webdriver.xpi: %s" % err ) return None