parameters: (zip_filename, base_dir, verbose=0, dry_run=0, compress=True,
                   mode='w')
return_statement: return zip_filename
docstring: Create a zip file from all the files under 'base_dir'.  The output
      zip file will be named 'base_dir' + ".zip".  Uses either the "zipfile"
      Python module (if available) or the InfoZIP "zip" utility (if installed
      and found on the default search path).  If neither tool is available,
      raises DistutilsExecError.  Returns the name of the output zip file.
docstring_summary: Create a zip file from all the files under 'base_dir'.  The output
      zip file will be named 'base_dir' + ".zip".  Uses either the "zipfile"
      Python module (if available) or the InfoZIP "zip" utility (if installed
      and found on the default search path).  If neither tool is available,
      raises DistutilsExecError.  Returns the name of the output zip file.
docstring_tokens: Create a zip file from all the files under base_dir . The output zip file will be named base_dir + . zip . Uses either the zipfile Python module ( if available ) or the InfoZIP zip utility ( if installed and found on the default search path ) . If neither tool is available raises DistutilsExecError . Returns the name of the output zip file .
function: def make_zipfile(zip_filename, base_dir, verbose=0, dry_run=0, compress=True,
                   mode='w'):
      """Create a zip file from all the files under 'base_dir'.  The output
      zip file will be named 'base_dir' + ".zip".  Uses either the "zipfile"
      Python module (if available) or the InfoZIP "zip" utility (if installed
      and found on the default search path).  If neither tool is available,
      raises DistutilsExecError.  Returns the name of the output zip file.
      """
      import zipfile
  
      mkpath(os.path.dirname(zip_filename), dry_run=dry_run)
      log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir)
  
      def visit(z, dirname, names):
          for name in names:
              path = os.path.normpath(os.path.join(dirname, name))
              if os.path.isfile(path):
                  p = path[len(base_dir) + 1:]
                  if not dry_run:
                      z.write(path, p)
                  log.debug("adding '%s'", p)
  
      compression = zipfile.ZIP_DEFLATED if compress else zipfile.ZIP_STORED
      if not dry_run:
          z = zipfile.ZipFile(zip_filename, mode, compression=compression)
          for dirname, dirs, files in sorted_walk(base_dir):
              visit(z, dirname, files)
          z.close()
      else:
          for dirname, dirs, files in sorted_walk(base_dir):
              visit(None, dirname, files)
      return zip_filename
function_tokens: def make_zipfile ( zip_filename , base_dir , verbose = 0 , dry_run = 0 , compress = True , mode = 'w' ) : import zipfile mkpath ( os . path . dirname ( zip_filename ) , dry_run = dry_run ) log . info ( "creating '%s' and adding '%s' to it" , zip_filename , base_dir ) def visit ( z , dirname , names ) : for name in names : path = os . path . normpath ( os . path . join ( dirname , name ) ) if os . path . isfile ( path ) : p = path [ len ( base_dir ) + 1 : ] if not dry_run : z . write ( path , p ) log . debug ( "adding '%s'" , p ) compression = zipfile . ZIP_DEFLATED if compress else zipfile . ZIP_STORED if not dry_run : z = zipfile . ZipFile ( zip_filename , mode , compression = compression ) for dirname , dirs , files in sorted_walk ( base_dir ) : visit ( z , dirname , files ) z . close ( ) else : for dirname , dirs , files in sorted_walk ( base_dir ) : visit ( None , dirname , files ) return zip_filename