code: def get_task_doc(self, path):
          
          logger.info("Getting task doc for base dir :{}".format(path))
          files = os.listdir(path)
          vasprun_files = OrderedDict()
          if "STOPCAR" in files:
              #Stopped runs. Try to parse as much as possible.
              logger.info(path + " contains stopped run")
          for r in self.runs:
              if r in files: #try subfolder schema
                  for f in os.listdir(os.path.join(path, r)):
                      if fnmatch(f, "vasprun.xml*"):
                          vasprun_files[r] = os.path.join(r, f)
              else: #try extension schema
                  for f in files:
                      if fnmatch(f, "vasprun.xml.{}*".format(r)):
                          vasprun_files[r] = f
          if len(vasprun_files) == 0:
              for f in files: #get any vasprun from the folder
                  if fnmatch(f, "vasprun.xml*") and \
                          f not in vasprun_files.values():
                      vasprun_files['standard'] = f
  
          if len(vasprun_files) > 0:
              d = self.generate_doc(path, vasprun_files)
              if not d:
                  d = self.process_killed_run(path)
              self.post_process(path, d)
          elif (not (path.endswith("relax1") or
                path.endswith("relax2"))) and contains_vasp_input(path):
              #If not Materials Project style, process as a killed run.
              logger.warning(path + " contains killed run")
              d = self.process_killed_run(path)
              self.post_process(path, d)
          else:
              raise ValueError("No VASP files found!")
  
          return d
docs: Get the entire task doc for a path, including any post-processing.