docstr: Clears the style database and reloads the styles from the CSV file(s)
  matching the path used to initialize the database.
docstr_tok: ["Clears","the","style","database","and","reloads","the","styles","from","the","CSV","file","(","s",")","matching","the","path","used","to","initialize","the","database","."]
code: def reload(self):
      """
      Clears the style database and reloads the styles from the CSV file(s)
      matching the path used to initialize the database.
      """
      self.styles.clear()
  
      path, filename = os.path.split(self.path)
  
      if "*" in filename:
          fileglob = filename.split("*")[0] + "*.csv"
          filelist = []
          for file in os.listdir(path):
              if fnmatch.fnmatch(file, fileglob):
                  filelist.append(file)
                  # Add a visible divider to the style list
                  half_len = round(len(file) / 2)
                  divider = f"{'-' * (20 - half_len)} {file.upper()}"
                  divider = f"{divider} {'-' * (40 - len(divider))}"
                  self.styles[divider] = PromptStyle(
                      f"{divider}", None, None, "do_not_save"
                  )
                  # Add styles from this CSV file
                  self.load_from_csv(os.path.join(path, file))
          if len(filelist) == 0:
              print(f"No styles found in {path} matching {fileglob}")
              return
      elif not os.path.exists(self.path):
          print(f"Style database not found: {self.path}")
          return
      else:
          self.load_from_csv(self.path)
  
imports: import csv
  import fnmatch
  import os
  import os.path
  import typing
  import shutil
label_desc: Use image node_id 2 for calling the StyleDatabase obj's underlying member method code with example usage: obj.reload() without return types