plugger.py
changeset 677 607731b33026
parent 676 04cd443cd18d
child 683 57aa9da845d5
--- a/plugger.py	Thu Feb 02 00:28:27 2012 +0100
+++ b/plugger.py	Thu Feb 02 16:09:27 2012 +0100
@@ -1260,6 +1260,12 @@
             self._builder = targetclass(self)
         return self._builder
 
+    def ResetBuildMD5(self):
+        builder=self.GetBuilder()
+        if builder is not None:
+            builder.ResetBinaryCodeMD5()
+        self.EnableMethod("_Transfer", False)
+
     def GetLastBuildMD5(self):
         builder=self.GetBuilder()
         if builder is not None:
@@ -1467,7 +1473,7 @@
         # If IEC code gen fail, bail out.
         if not IECGenRes:
             self.logger.write_error(_("IEC-61131-3 code generation failed !\n"))
-            self.EnableMethod("_Transfer", False)
+            self.ResetBuildMD5()
             return False
 
         # Reset variable and program list that are parsed from
@@ -1483,7 +1489,7 @@
         except Exception, exc:
             self.logger.write_error(_("Plugins code generation failed !\n"))
             self.logger.write_error(traceback.format_exc())
-            self.EnableMethod("_Transfer", False)
+            self.ResetBuildMD5()
             return False
 
         # Get temporary directory path
@@ -1519,7 +1525,7 @@
             except Exception, exc:
                 self.logger.write_error(name+_(" generation failed !\n"))
                 self.logger.write_error(traceback.format_exc())
-                self.EnableMethod("_Transfer", False)
+                self.ResetBuildMD5()
                 return False
 
         self.logger.write(_("C code generated successfully.\n"))
@@ -1528,7 +1534,7 @@
         builder = self.GetBuilder()
         if builder is None:
             self.logger.write_error(_("Fatal : cannot get builder.\n"))
-            self.EnableMethod("_Transfer", False)
+            self.ResetBuildMD5()
             return False
 
         # Build
@@ -1539,7 +1545,7 @@
         except Exception, exc:
             self.logger.write_error(_("C Build crashed !\n"))
             self.logger.write_error(traceback.format_exc())
-            self.EnableMethod("_Transfer", False)
+            self.ResetBuildMD5()
             return False
 
         self.logger.write(_("Successfully built.\n"))