docs: def create_default_file(cls, data=None, mode=None):
          """Create a config file and override data if specified."""
          filepath = cls.get_default_filepath()
          if not filepath:
              return False
  
          filename = os.path.basename(filepath)
          config = read_file(get_data_path(), filename)
  
          # Find and replace data in default config
          data = data or {}
          for k, v in six.iteritems(data):
              v = v or ""
              config = re.sub(
                  r"^(%(key)s) =[ ]*$" % {"key": k},
                  "%(key)s = %(value)s" % {"key": k, "value": v},
                  config,
                  flags=re.MULTILINE,
              )
  
          dirpath = os.path.dirname(filepath)
          if not os.path.exists(dirpath):
              os.makedirs(dirpath)
          with click.open_file(filepath, "w+") as f:
              f.write(config)
  
          if mode is not None:
              os.chmod(filepath, mode)
  
          return True