docs: def unzip_file(source_file, dest_dir=None, mkdir=False):
      """Unzip a compressed file.
  
      Args:
          source_file: Full path to a valid compressed file (e.g. c:/ladybug/testPts.zip)
          dest_dir: Target folder to extract to (e.g. c:/ladybug).
              Default is set to the same directory as the source file.
          mkdir: Set to True to create the directory if doesn't exist (Default: False)
      """
      # set default dest_dir and create it if need be.
      if dest_dir is None:
          dest_dir, fname = os.path.split(source_file)
      elif not os.path.isdir(dest_dir):
          if mkdir:
              preparedir(dest_dir)
          else:
              created = preparedir(dest_dir, False)
              if not created:
                  raise ValueError("Failed to find %s." % dest_dir)
  
      # extract files to destination
      with zipfile.ZipFile(source_file) as zf:
          for member in zf.infolist():
              words = member.filename.split('\\')
              for word in words[:-1]:
                  drive, word = os.path.splitdrive(word)
                  head, word = os.path.split(word)
                  if word in (os.curdir, os.pardir, ''):
                      continue
                  dest_dir = os.path.join(dest_dir, word)
              zf.extract(member, dest_dir)