ProjectController.py
changeset 2416 1ca207782dde
parent 2415 f7d8891fe708
child 2418 5587c490a070
--- a/ProjectController.py	Mon Oct 01 15:53:34 2018 +0300
+++ b/ProjectController.py	Tue Oct 02 16:53:14 2018 +0300
@@ -61,6 +61,7 @@
 from plcopen.types_enums import ComputeConfigurationResourceName, ITEM_CONFNODE
 import targets
 from runtime.typemapping import DebugTypesSize, UnpackDebugBuffer
+from runtime import PlcStatus
 from ConfigTreeNode import ConfigTreeNode, XSDSchemaErrorMessage
 
 base_folder = paths.AbsParentDir(__file__)
@@ -1422,20 +1423,20 @@
     }
 
     MethodsFromStatus = {
-        "Started":      {"_Stop": True,
-                         "_Transfer": True,
-                         "_Connect": False,
-                         "_Disconnect": True},
-        "Stopped":      {"_Run": True,
-                         "_Transfer": True,
-                         "_Connect": False,
-                         "_Disconnect": True},
-        "Empty":        {"_Transfer": True,
-                         "_Connect": False,
-                         "_Disconnect": True},
-        "Broken":       {"_Connect": False,
-                         "_Disconnect": True},
-        "Disconnected": {},
+        PlcStatus.Started:      {"_Stop": True,
+                                 "_Transfer": True,
+                                 "_Connect": False,
+                                 "_Disconnect": True},
+        PlcStatus.Stopped:      {"_Run": True,
+                                 "_Transfer": True,
+                                 "_Connect": False,
+                                 "_Disconnect": True},
+        PlcStatus.Empty:        {"_Transfer": True,
+                                 "_Connect": False,
+                                 "_Disconnect": True},
+        PlcStatus.Broken:       {"_Connect": False,
+                                 "_Disconnect": True},
+        PlcStatus.Disconnected: {},
     }
 
     def UpdateMethodsFromPLCStatus(self):
@@ -1448,7 +1449,7 @@
                 self.UpdatePLCLog(log_count)
         if status is None:
             self._SetConnector(None, False)
-            status = "Disconnected"
+            status = PlcStatus.Disconnected
         if self.previous_plcstate != status:
             allmethods = self.DefaultMethods.copy()
             allmethods.update(
@@ -1459,31 +1460,21 @@
             if self.AppFrame is not None:
                 updated = True
                 self.AppFrame.RefreshStatusToolBar()
-                if status == "Disconnected":
+                if status == PlcStatus.Disconnected:
                     self.AppFrame.ConnectionStatusBar.SetStatusText(
-                        self.GetTextStatus(status), 1)
+                        _(status), 1)
                     self.AppFrame.ConnectionStatusBar.SetStatusText('', 2)
                 else:
                     self.AppFrame.ConnectionStatusBar.SetStatusText(
                         _("Connected to URI: %s") % self.BeremizRoot.getURI_location().strip(), 1)
                     self.AppFrame.ConnectionStatusBar.SetStatusText(
-                        self.GetTextStatus(status), 2)
+                        _(status), 2)
         return updated
 
-    def GetTextStatus(self, status):
-        msgs = {
-            "Started":      _("Started"),
-            "Stopped":      _("Stopped"),
-            "Empty":        _("Empty"),
-            "Broken":       _("Broken"),
-            "Disconnected": _("Disconnected")
-        }
-        return msgs.get(status, status)
-
     def ShowPLCProgress(self, status="", progress=0):
         self.AppFrame.ProgressStatusBar.Show()
         self.AppFrame.ConnectionStatusBar.SetStatusText(
-            self.GetTextStatus(status), 1)
+            _(status), 1)
         self.AppFrame.ProgressStatusBar.SetValue(progress)
 
     def HidePLCProgress(self):
@@ -1501,7 +1492,7 @@
             plc_status, Traces = self._connector.GetTraceVariables()
             # print [dict.keys() for IECPath, (dict, log, status, fvalue) in
             # self.IECdebug_datas.items()]
-            if plc_status == "Started":
+            if plc_status == PlcStatus.Started:
                 if len(Traces) > 0:
                     for debug_tick, debug_buff in Traces:
                         debug_vars = UnpackDebugBuffer(
@@ -1570,7 +1561,7 @@
             self.SnapshotAndResetDebugValuesBuffers()
 
     def IsPLCStarted(self):
-        return self.previous_plcstate == "Started"
+        return self.previous_plcstate == PlcStatus.Started
 
     def ReArmDebugRegisterTimer(self):
         if self.DebugTimer is not None:
@@ -1809,7 +1800,7 @@
 
             # Init with actual PLC status and print it
             self.UpdateMethodsFromPLCStatus()
-            if self.previous_plcstate in ["Started", "Stopped"]:
+            if self.previous_plcstate in [PlcStatus.Started, PlcStatus.Stopped]:
                 if self.DebugAvailable() and self.GetIECProgramsAndVariables():
                     self.logger.write(_("Debugger ready\n"))
                     self._connect_debug()