parameters: (zip_file_name)
docstring: Unzip zipfile to a temporary directory.
  
      The directory of the unzipped files is returned if success,
      otherwise None is returned.
docstring_summary: Unzip zipfile to a temporary directory.
docstring_tokens: Unzip zipfile to a temporary directory .
function: 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
function_tokens: 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