plugger.py
changeset 676 04cd443cd18d
parent 675 44b35c27e9ff
child 677 607731b33026
equal deleted inserted replaced
675:44b35c27e9ff 676:04cd443cd18d
  1465         self.ShowMethod("_showIECcode", True)
  1465         self.ShowMethod("_showIECcode", True)
  1466 
  1466 
  1467         # If IEC code gen fail, bail out.
  1467         # If IEC code gen fail, bail out.
  1468         if not IECGenRes:
  1468         if not IECGenRes:
  1469             self.logger.write_error(_("IEC-61131-3 code generation failed !\n"))
  1469             self.logger.write_error(_("IEC-61131-3 code generation failed !\n"))
       
  1470             self.EnableMethod("_Transfer", False)
  1470             return False
  1471             return False
  1471 
  1472 
  1472         # Reset variable and program list that are parsed from
  1473         # Reset variable and program list that are parsed from
  1473         # CSV file generated by IEC2C compiler.
  1474         # CSV file generated by IEC2C compiler.
  1474         self.ResetIECProgramsAndVariables()
  1475         self.ResetIECProgramsAndVariables()
  1480                 buildpath, 
  1481                 buildpath, 
  1481                 self.PLCGeneratedLocatedVars)
  1482                 self.PLCGeneratedLocatedVars)
  1482         except Exception, exc:
  1483         except Exception, exc:
  1483             self.logger.write_error(_("Plugins code generation failed !\n"))
  1484             self.logger.write_error(_("Plugins code generation failed !\n"))
  1484             self.logger.write_error(traceback.format_exc())
  1485             self.logger.write_error(traceback.format_exc())
       
  1486             self.EnableMethod("_Transfer", False)
  1485             return False
  1487             return False
  1486 
  1488 
  1487         # Get temporary directory path
  1489         # Get temporary directory path
  1488         extrafilespath = self._getExtraFilesPath()
  1490         extrafilespath = self._getExtraFilesPath()
  1489         # Remove old directory
  1491         # Remove old directory
  1515                 # Insert this file as first file to be compiled at root plugin
  1517                 # Insert this file as first file to be compiled at root plugin
  1516                 self.LocationCFilesAndCFLAGS[0][1].insert(0,(code_path, self.plcCFLAGS))
  1518                 self.LocationCFilesAndCFLAGS[0][1].insert(0,(code_path, self.plcCFLAGS))
  1517             except Exception, exc:
  1519             except Exception, exc:
  1518                 self.logger.write_error(name+_(" generation failed !\n"))
  1520                 self.logger.write_error(name+_(" generation failed !\n"))
  1519                 self.logger.write_error(traceback.format_exc())
  1521                 self.logger.write_error(traceback.format_exc())
       
  1522                 self.EnableMethod("_Transfer", False)
  1520                 return False
  1523                 return False
  1521 
  1524 
  1522         self.logger.write(_("C code generated successfully.\n"))
  1525         self.logger.write(_("C code generated successfully.\n"))
  1523 
  1526 
  1524         # Get current or fresh builder
  1527         # Get current or fresh builder
  1525         builder = self.GetBuilder()
  1528         builder = self.GetBuilder()
  1526         if builder is None:
  1529         if builder is None:
  1527             self.logger.write_error(_("Fatal : cannot get builder.\n"))
  1530             self.logger.write_error(_("Fatal : cannot get builder.\n"))
       
  1531             self.EnableMethod("_Transfer", False)
  1528             return False
  1532             return False
  1529 
  1533 
  1530         # Build
  1534         # Build
  1531         try:
  1535         try:
  1532             if not builder.build() :
  1536             if not builder.build() :
  1533                 self.logger.write_error(_("C Build failed.\n"))
  1537                 self.logger.write_error(_("C Build failed.\n"))
  1534                 return False
  1538                 return False
  1535         except Exception, exc:
  1539         except Exception, exc:
  1536             self.logger.write_error(_("C Build crashed !\n"))
  1540             self.logger.write_error(_("C Build crashed !\n"))
  1537             self.logger.write_error(traceback.format_exc())
  1541             self.logger.write_error(traceback.format_exc())
       
  1542             self.EnableMethod("_Transfer", False)
  1538             return False
  1543             return False
  1539 
  1544 
  1540         self.logger.write(_("Successfully built.\n"))
  1545         self.logger.write(_("Successfully built.\n"))
  1541         # Update GUI status about need for transfer
  1546         # Update GUI status about need for transfer
  1542         self.CompareLocalAndRemotePLC()
  1547         self.CompareLocalAndRemotePLC()