code: def zip_dir(path, zip_handler, include_dir=True, use_arc_name=False):
      
  
      for root, dirs, files in os.walk(path):
          for file_to_zip in files:
              filename = os.path.join(root, file_to_zip)
              zip_con = filename.replace('\\', '/')
  
              if zip_con in zip_handler.namelist():
                  continue
  
              add_file(filename, zip_handler, include_dir, use_arc_name)
docs: zip all files and items in dir
      :param only_init:
      :param path:
      :param zip_handler: zip file handler
      :param boolean include_dir: specify if we want the archive with or without the directory