diff -r 2ee45a612c6f -r 7de69369373e plugins/canfestival/canfestival.py --- a/plugins/canfestival/canfestival.py Sun Dec 09 19:01:21 2007 +0100 +++ b/plugins/canfestival/canfestival.py Mon Dec 10 11:04:52 2007 +0100 @@ -7,8 +7,13 @@ from nodemanager import NodeManager import config_utils, gen_cfile from networkedit import networkedit +from objdictedit import objdictedit import canfestival_config +from gnosis.xml.pickle import * +from gnosis.xml.pickle.util import setParanoia +setParanoia(0) + class _NetworkEdit(networkedit): " Overload some of CanFestival Network Editor methods " def OnCloseFrame(self, event): @@ -50,11 +55,29 @@ self._View._onsave = _onsave self._View.Show() + def _ShowMasterGenerated(self, logger): + buildpath = self._getBuildPath() + # Eventually create build dir + if not os.path.exists(buildpath): + logger.write_error("Error: No PLC built\n") + return + + masterpath = os.path.join(buildpath, "MasterGenerated.od") + if not os.path.exists(masterpath): + logger.write_error("Error: No Master generated\n") + return + + new_dialog = objdictedit(None, [masterpath]) + new_dialog.Show() + PluginMethods = [ {"bitmap" : os.path.join("images", "NetworkEdit.png"), "name" : "Edit network", "tooltip" : "Edit CanOpen Network with NetworkEdit", - "method" : _OpenView} + "method" : _OpenView}, + {"name" : "Show Master", + "tooltip" : "Show Master generated by config_utils", + "method" : _ShowMasterGenerated} ] def OnPlugClose(self): @@ -92,6 +115,10 @@ if res : raise Exception, res + file = open(os.path.join(buildpath, "MasterGenerated.od"), "w") + dump(master, file) + file.close() + return [(Gen_OD_path,canfestival_config.getCFLAGS(CanFestivalPath))],"",False class RootClass: