diff --git a/pykat/finesse.py b/pykat/finesse.py index ae1214e4b5b50fe3bb19ea435a6a87c8df260bc4..bb748311544b120754ba3011c47d01c802195a89 100644 --- a/pykat/finesse.py +++ b/pykat/finesse.py @@ -805,22 +805,12 @@ class kat(object): if fragment in obj: print " ** removing line '{0}'".format(obj) objs.remove(obj) - + + def generateKatScript(self) : """ Generates the kat file which can then be run """ - - out = [] - import datetime - strtoday = datetime.datetime.now() - out.append(strtoday.strftime("%% Generated by PyKat %d.%m.%Y %H:%M:%S\n") ) - - for key in self.__blocks: - objs = self.__blocks[key].contents - out.append("\n") - if key != NO_BLOCK and np.size(objs)>0: - out.append("%%% FTblock " + key + "\n") - + def writeBlock(): for obj in objs: if isinstance(obj, str): out.append(obj + '\n') @@ -835,9 +825,33 @@ class kat(object): else: out.append(txt + "\n") - if key != NO_BLOCK and np.size(objs)>0: - out.append("%%% FTend " + key + "\n") - + + out = [] + import datetime + strtoday = datetime.datetime.now() + out.append(strtoday.strftime("%% Generated by PyKat %d.%m.%Y %H:%M:%S\n") ) + + # write the FTblocks + for key in self.__blocks: + objs = self.__blocks[key].contents + + if key != NO_BLOCK: + if np.size(objs)>0: + out.append("\n") + out.append("%%% FTblock " + key + "\n") + writeBlock() + out.append("%%% FTend " + key + "\n") + + # write the NO_BLOCK blocks + for key in self.__blocks: + objs = self.__blocks[key].contents + + + if key == NO_BLOCK: + if np.size(objs)>0: + out.append("\n") + writeBlock() + # now loop through all the nodes and get any gauss commands for key in self.nodes.getNodes(): txt = self.nodes.getNodes()[key].getFinesseText()