docs: def write_script(self):
      """
      Write the workflow to a script (.sh instead of .dag).
  
      Assuming that parents were added to the DAG before their children,
      dependencies should be handled correctly.
      """
      if not self.__dag_file_path:
        raise CondorDAGError, "No path for DAG file"
      try:
        dfp = self.__dag_file_path
        outfilename = ".".join(dfp.split(".")[:-1]) + ".sh"
        outfile = open(outfilename, "w")
      except:
        raise CondorDAGError, "Cannot open file " + self.__dag_file_path
  
      for node in self.__nodes:
          outfile.write("# Job %s\n" % node.get_name())
          # Check if this is a DAGMAN Node
          if isinstance(node,CondorDAGManNode):
            outfile.write("condor_submit_dag %s\n\n" % (node.job().get_dag()))
          else:
            outfile.write("%s %s\n\n" % (node.job().get_executable(),
                node.get_cmd_line()))
      outfile.close()
  
      os.chmod(outfilename, os.stat(outfilename)[0] | stat.S_IEXEC)