From cba56adafde145d65023e0d5e351280b003de75d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kriszti=C3=A1n=20L=C3=B6ki?= <krisztian.loki@ess.eu>
Date: Fri, 12 Jun 2020 17:40:18 +0200
Subject: [PATCH] Converted error.js to error.py

---
 .../COMMON/Faceplate/vac_warning_error.bob    |  2 +-
 .../COMMON/DEVICES/vacuum/vpg/error.js        | 76 -------------------
 .../COMMON/DEVICES/vacuum/vpg/error.py        | 42 ++++++++++
 .../COMMON/DEVICES/vacuum/vpg/vac-vpg.bob     |  2 +-
 .../vpp-vpdp/Faceplate/vac-vpdp-popup.bob     |  2 +-
 .../COMMON/DEVICES/vacuum/vpp-vpdp/error.js   | 55 --------------
 .../COMMON/DEVICES/vacuum/vpp-vpdp/error.py   | 36 +++++++++
 .../vacuum/vpt/Faceplate/vac-vpt-popup.bob    |  2 +-
 .../COMMON/DEVICES/vacuum/vpt/error.js        | 46 -----------
 .../COMMON/DEVICES/vacuum/vpt/error.py        | 33 ++++++++
 .../vva-vvf-vvg/Faceplate/vac-vv-popup.bob    |  2 +-
 .../COMMON/DEVICES/vacuum/vva/error.js        | 64 ----------------
 .../COMMON/DEVICES/vacuum/vva/error.py        | 39 ++++++++++
 .../COMMON/DEVICES/vacuum/vvf/error.js        | 64 ----------------
 .../COMMON/DEVICES/vacuum/vvf/error.py        | 39 ++++++++++
 .../COMMON/DEVICES/vacuum/vvg/error.js        | 64 ----------------
 .../COMMON/DEVICES/vacuum/vvg/error.py        | 39 ++++++++++
 .../vacuum/vvs/Faceplate/vac-vvs-popup.bob    |  2 +-
 .../DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob  |  2 +-
 .../COMMON/DEVICES/vacuum/vvs/error.js        | 38 ----------
 .../COMMON/DEVICES/vacuum/vvs/error.py        | 29 +++++++
 21 files changed, 264 insertions(+), 414 deletions(-)
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.py
 delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.js
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.py

diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/Faceplate/vac_warning_error.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/Faceplate/vac_warning_error.bob
index 29097058..c6cb1d15 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/Faceplate/vac_warning_error.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/Faceplate/vac_warning_error.bob
@@ -95,7 +95,7 @@
         </rule>
       </rules>
       <scripts>
-        <script file="$(WIDGET_ROOT)/$(WIDGET)/error.js">
+        <script file="$(WIDGET_ROOT)/$(WIDGET)/error.py">
           <pv_name>$(vacPREFIX):ErrorR</pv_name>
           <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.js
deleted file mode 100644
index 32e9ffa8..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.js
+++ /dev/null
@@ -1,76 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Hardware Interlock";
-		break;
-	case 98:
-		errorMsg = "Software Interlock";
-		break;
-	case 97:
-		errorMsg = "Turbo-Pumps Controller Error";
-		break;
-	case 96:
-		errorMsg = "Power Supply Error";
-		break;
-	case 95:
-		errorMsg = "High Vacuum Manifold Vented - Pressure Interlock";
-		break;
-	case 94:
-		errorMsg = "Low Vacuum Manifold Vented - Pressure Interlock";
-		break;
-	case 93:
-		errorMsg = "93";
-		break;
-	case 92:
-		errorMsg = "Primary Pump Error";
-		break;
-	case 91:
-		errorMsg = "Primary Pump / Valve Error";
-		break;
-	case 90:
-		errorMsg = "Turbo-Pumps Not Available";
-		break;
-	case 89:
-		errorMsg = "Max Auto-Restart";
-		break;
-	case 88:
-		errorMsg = "Back-Up Primary Pumping System Error";
-		break;
-	case 15:
-		errorMsg = "Mode Selection Error - Vacuum Sector Vented";
-		break;
-	case 14:
-		errorMsg = "Mode Selection Error - Vacuum Sector Under Vacuum";
-		break;
-	case 13:
-		errorMsg = "Primary Pumping System: Rescue Primary System is Off";
-		break;
-	case 12:
-		errorMsg = "Primary Pumping System: Rescue Primary Not Available";
-		break;
-	case 11:
-		errorMsg = "Primary Pumping System: Primary Pump / Valve Error";
-		break;
-	case 10:
-		errorMsg = "Primary Pumping System: Start Disable";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.py
new file mode 100644
index 00000000..db8a9fc1
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/error.py
@@ -0,0 +1,42 @@
+#Generated from VACUUM_VAC-VPG.def at 2020-06-11_16:29:09
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Hardware Interlock",
+                 98 : "Software Interlock",
+                 97 : "Turbo-Pumps Controller Error",
+                 96 : "Power Supply Error",
+                 95 : "High Vacuum Manifold Vented - Pressure Interlock",
+                 94 : "Low Vacuum Manifold Vented - Pressure Interlock",
+                 92 : "Primary Pump Error",
+                 91 : "Primary Pump / Valve Error",
+                 90 : "Turbo-Pumps Not Available",
+                 89 : "Max Auto-Restart",
+                 88 : "Back-Up Primary Pumping System Error",
+                 15 : "Mode Selection Error - Vacuum Sector Vented",
+                 14 : "Mode Selection Error - Vacuum Sector Under Vacuum",
+                 13 : "Primary Pumping System: Rescue Primary System is Off",
+                 12 : "Primary Pumping System: Rescue Primary Not Available",
+                 11 : "Primary Pumping System: Primary Pump / Valve Error",
+                 10 : "Primary Pumping System: Start Disable",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
index f978f0dd..7b9958a3 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
@@ -697,7 +697,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="error.js">
+      <script file="error.py">
         <pv_name>$(vacPREFIX):ErrorR</pv_name>
         <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/Faceplate/vac-vpdp-popup.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/Faceplate/vac-vpdp-popup.bob
index c28082e5..153e3f44 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/Faceplate/vac-vpdp-popup.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/Faceplate/vac-vpdp-popup.bob
@@ -216,7 +216,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="../error.js">
+      <script file="../error.py">
         <pv_name>$(vacPREFIX):ErrorR</pv_name>
         <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.js
deleted file mode 100644
index 9b4bf83d..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.js
+++ /dev/null
@@ -1,55 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Controller Error (Hardware Error)";
-		break;
-	case 98:
-		errorMsg = "Pressure Interlock";
-		break;
-	case 97:
-		errorMsg = "Hardware Interlock";
-		break;
-	case 96:
-		errorMsg = "Software Interlock";
-		break;
-	case 95:
-		errorMsg = "Circuit Breaker Tripped";
-		break;
-	case 49:
-		errorMsg = "Controller Error (Hardware Error) - Auto Reset";
-		break;
-	case 48:
-		errorMsg = "Pressure Interlock - Auto Reset";
-		break;
-	case 47:
-		errorMsg = "Hardware Interlock - Auto Reset";
-		break;
-	case 46:
-		errorMsg = "Software Interlock - Auto Reset";
-		break;
-	case 2:
-		errorMsg = 'Pump Disconnected - Auto Reset (for Primary Pump Controller Type "Hilko Spoelstra")';
-		break;
-	case 1:
-		errorMsg = 'Local Control - Auto Reset (for Primary Pump Controller Type "Hilko Spoelstra")';
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.py
new file mode 100644
index 00000000..fd07195a
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/error.py
@@ -0,0 +1,36 @@
+#Generated from VACUUM_VAC-VPP_VAC-VPDP.def at 2020-06-11_16:17:53
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Controller Error (Hardware Error)",
+                 98 : "Pressure Interlock",
+                 97 : "Hardware Interlock",
+                 96 : "Software Interlock",
+                 95 : "Circuit Breaker Tripped",
+                 49 : "Controller Error (Hardware Error) - Auto Reset",
+                 48 : "Pressure Interlock - Auto Reset",
+                 47 : "Hardware Interlock - Auto Reset",
+                 46 : "Software Interlock - Auto Reset",
+                 2 : 'Pump Disconnected - Auto Reset (for Primary Pump Controller Type "Hilko Spoelstra")',
+                 1 : 'Local Control - Auto Reset (for Primary Pump Controller Type "Hilko Spoelstra")',
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/Faceplate/vac-vpt-popup.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/Faceplate/vac-vpt-popup.bob
index f57af9d2..d1ad44d3 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/Faceplate/vac-vpt-popup.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/Faceplate/vac-vpt-popup.bob
@@ -336,7 +336,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="$(WIDGET_ROOT)/vpt/error.js">
+      <script file="$(WIDGET_ROOT)/vpt/error.py">
         <pv_name>$(vacPREFIX):ErrorR</pv_name>
         <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.js
deleted file mode 100644
index a9e35ead..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.js
+++ /dev/null
@@ -1,46 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Controller Error (Hardware Error)";
-		break;
-	case 98:
-		errorMsg = "Pressure Interlock";
-		break;
-	case 97:
-		errorMsg = "Hardware Interlock";
-		break;
-	case 96:
-		errorMsg = "Software Interlock";
-		break;
-	case 49:
-		errorMsg = "Controller Error (Hardware Error) - Auto Reset";
-		break;
-	case 48:
-		errorMsg = "Pressure Interlock - Auto Reset";
-		break;
-	case 47:
-		errorMsg = "Hardware Interlock - Auto Reset";
-		break;
-	case 46:
-		errorMsg = "Software Interlock - Auto Reset";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.py
new file mode 100644
index 00000000..ffeb37de
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/error.py
@@ -0,0 +1,33 @@
+#Generated from VACUUM_VAC-VPT.def at 2020-06-11_16:17:27
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Controller Error (Hardware Error)",
+                 98 : "Pressure Interlock",
+                 97 : "Hardware Interlock",
+                 96 : "Software Interlock",
+                 49 : "Controller Error (Hardware Error) - Auto Reset",
+                 48 : "Pressure Interlock - Auto Reset",
+                 47 : "Hardware Interlock - Auto Reset",
+                 46 : "Software Interlock - Auto Reset",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva-vvf-vvg/Faceplate/vac-vv-popup.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vva-vvf-vvg/Faceplate/vac-vv-popup.bob
index 8e895b8d..d2d18270 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vva-vvf-vvg/Faceplate/vac-vv-popup.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vva-vvf-vvg/Faceplate/vac-vv-popup.bob
@@ -238,7 +238,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="$(WIDGET_ROOT)/$(WIDGET)/error.js">
+      <script file="$(WIDGET_ROOT)/$(WIDGET)/error.py">
         <pv_name>$(vacPREFIX):ErrorR</pv_name>
         <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.js
deleted file mode 100644
index 9a17abce..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.js
+++ /dev/null
@@ -1,64 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Open / On Status & Closed / Off Status Both Active";
-		break;
-	case 98:
-		errorMsg = "Valve Not Closed";
-		break;
-	case 97:
-		errorMsg = "Pressure Interlock No. 1";
-		break;
-	case 96:
-		errorMsg = "Hardware Interlock No. 1";
-		break;
-	case 95:
-		errorMsg = "Pressure Interlock No. 2";
-		break;
-	case 94:
-		errorMsg = "Hardware Interlock No. 2";
-		break;
-	case 93:
-		errorMsg = "Hardware Interlock No. 3";
-		break;
-	case 92:
-		errorMsg = 'Software Interlock (From "External" PLC Function)';
-		break;
-	case 49:
-		errorMsg = "Pressure Interlock No. 1 - Auto Reset";
-		break;
-	case 48:
-		errorMsg = "Hardware Interlock No. 1 - Auto Reset";
-		break;
-	case 47:
-		errorMsg = "Pressure Interlock No. 2 - Auto Reset";
-		break;
-	case 46:
-		errorMsg = "Hardware Interlock No. 2 - Auto Reset";
-		break;
-	case 45:
-		errorMsg = "Hardware Interlock No. 3 - Auto Reset";
-		break;
-	case 44:
-		errorMsg = "Software Interlock - Auto Reset";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.py
new file mode 100644
index 00000000..2a3aac14
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/error.py
@@ -0,0 +1,39 @@
+#Generated from VACUUM_VAC-VVA_VAC-VVG.def at 2020-06-11_16:15:17
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Open Status & Closed Status Both Active",
+                 98 : "Valve Not Closed",
+                 97 : "Pressure Interlock No. 1",
+                 96 : "Hardware Interlock No. 1",
+                 95 : "Pressure Interlock No. 2",
+                 94 : "Hardware Interlock No. 2",
+                 93 : "Hardware Interlock No. 3",
+                 92 : 'Software Interlock (From "External" PLC Function)',
+                 49 : "Pressure Interlock No. 1 - Auto Reset",
+                 48 : "Hardware Interlock No. 1 - Auto Reset",
+                 47 : "Pressure Interlock No. 2 - Auto Reset",
+                 46 : "Hardware Interlock No. 2 - Auto Reset",
+                 45 : "Hardware Interlock No. 3 - Auto Reset",
+                 44 : "Software Interlock - Auto Reset",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.js
deleted file mode 100644
index 9a17abce..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.js
+++ /dev/null
@@ -1,64 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Open / On Status & Closed / Off Status Both Active";
-		break;
-	case 98:
-		errorMsg = "Valve Not Closed";
-		break;
-	case 97:
-		errorMsg = "Pressure Interlock No. 1";
-		break;
-	case 96:
-		errorMsg = "Hardware Interlock No. 1";
-		break;
-	case 95:
-		errorMsg = "Pressure Interlock No. 2";
-		break;
-	case 94:
-		errorMsg = "Hardware Interlock No. 2";
-		break;
-	case 93:
-		errorMsg = "Hardware Interlock No. 3";
-		break;
-	case 92:
-		errorMsg = 'Software Interlock (From "External" PLC Function)';
-		break;
-	case 49:
-		errorMsg = "Pressure Interlock No. 1 - Auto Reset";
-		break;
-	case 48:
-		errorMsg = "Hardware Interlock No. 1 - Auto Reset";
-		break;
-	case 47:
-		errorMsg = "Pressure Interlock No. 2 - Auto Reset";
-		break;
-	case 46:
-		errorMsg = "Hardware Interlock No. 2 - Auto Reset";
-		break;
-	case 45:
-		errorMsg = "Hardware Interlock No. 3 - Auto Reset";
-		break;
-	case 44:
-		errorMsg = "Software Interlock - Auto Reset";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.py
new file mode 100644
index 00000000..2a3aac14
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/error.py
@@ -0,0 +1,39 @@
+#Generated from VACUUM_VAC-VVA_VAC-VVG.def at 2020-06-11_16:15:17
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Open Status & Closed Status Both Active",
+                 98 : "Valve Not Closed",
+                 97 : "Pressure Interlock No. 1",
+                 96 : "Hardware Interlock No. 1",
+                 95 : "Pressure Interlock No. 2",
+                 94 : "Hardware Interlock No. 2",
+                 93 : "Hardware Interlock No. 3",
+                 92 : 'Software Interlock (From "External" PLC Function)',
+                 49 : "Pressure Interlock No. 1 - Auto Reset",
+                 48 : "Hardware Interlock No. 1 - Auto Reset",
+                 47 : "Pressure Interlock No. 2 - Auto Reset",
+                 46 : "Hardware Interlock No. 2 - Auto Reset",
+                 45 : "Hardware Interlock No. 3 - Auto Reset",
+                 44 : "Software Interlock - Auto Reset",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.js
deleted file mode 100644
index 9a17abce..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.js
+++ /dev/null
@@ -1,64 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Open / On Status & Closed / Off Status Both Active";
-		break;
-	case 98:
-		errorMsg = "Valve Not Closed";
-		break;
-	case 97:
-		errorMsg = "Pressure Interlock No. 1";
-		break;
-	case 96:
-		errorMsg = "Hardware Interlock No. 1";
-		break;
-	case 95:
-		errorMsg = "Pressure Interlock No. 2";
-		break;
-	case 94:
-		errorMsg = "Hardware Interlock No. 2";
-		break;
-	case 93:
-		errorMsg = "Hardware Interlock No. 3";
-		break;
-	case 92:
-		errorMsg = 'Software Interlock (From "External" PLC Function)';
-		break;
-	case 49:
-		errorMsg = "Pressure Interlock No. 1 - Auto Reset";
-		break;
-	case 48:
-		errorMsg = "Hardware Interlock No. 1 - Auto Reset";
-		break;
-	case 47:
-		errorMsg = "Pressure Interlock No. 2 - Auto Reset";
-		break;
-	case 46:
-		errorMsg = "Hardware Interlock No. 2 - Auto Reset";
-		break;
-	case 45:
-		errorMsg = "Hardware Interlock No. 3 - Auto Reset";
-		break;
-	case 44:
-		errorMsg = "Software Interlock - Auto Reset";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", errorMsg);
-widget.setPropertyValue("tooltip", errorMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.py
new file mode 100644
index 00000000..2a3aac14
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/error.py
@@ -0,0 +1,39 @@
+#Generated from VACUUM_VAC-VVA_VAC-VVG.def at 2020-06-11_16:15:17
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Open Status & Closed Status Both Active",
+                 98 : "Valve Not Closed",
+                 97 : "Pressure Interlock No. 1",
+                 96 : "Hardware Interlock No. 1",
+                 95 : "Pressure Interlock No. 2",
+                 94 : "Hardware Interlock No. 2",
+                 93 : "Hardware Interlock No. 3",
+                 92 : 'Software Interlock (From "External" PLC Function)',
+                 49 : "Pressure Interlock No. 1 - Auto Reset",
+                 48 : "Hardware Interlock No. 1 - Auto Reset",
+                 47 : "Pressure Interlock No. 2 - Auto Reset",
+                 46 : "Hardware Interlock No. 2 - Auto Reset",
+                 45 : "Hardware Interlock No. 3 - Auto Reset",
+                 44 : "Software Interlock - Auto Reset",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac-vvs-popup.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac-vvs-popup.bob
index 2c990c25..54fbb95b 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac-vvs-popup.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac-vvs-popup.bob
@@ -109,7 +109,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="../error.js">
+      <script file="../error.py">
         <pv_name>$(vacPREFIX):ErrorR</pv_name>
         <pv_name>$(vacPREFIX):ErrorCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob
index 8edc13fd..4bb4f34f 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob
@@ -230,7 +230,7 @@
         </rule>
       </rules>
       <scripts>
-        <script file="../error.js">
+        <script file="../error.py">
           <pv_name>$(DEVICENAME):ErrorR</pv_name>
           <pv_name>$(DEVICENAME):ErrorCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.js
deleted file mode 100644
index cfdc7865..00000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.js
+++ /dev/null
@@ -1,38 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var errorMsg  = "";
-var errorCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	errorCode = PVUtil.getLong(pvs[1]);
-
-switch (errorCode) {
-	case 99:
-		errorMsg = "Open / On Status & Close / Off Status Both Active";
-		break;
-	case 49:
-		errorMsg = "Previous Interlock";
-		break;
-	case 48:
-		errorMsg = "Next Interlock";
-		break;
-	case 47:
-		errorMsg = "Personnel Access Interlock";
-		break;
-
-	case 0:
-		break;
-	default:
-		errorMsg = "Error Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown error code " + pvs[1] + " : " + errorCode);
-		break;
-}
-
-try {
-	pvs[2].setValue(errorMsg);
-} catch (err) {
-	if (widget.getType() != "action_button")
-		widget.setPropertyValue("text", errorMsg);
-	widget.setPropertyValue("tooltip", errorMsg);
-}
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.py
new file mode 100644
index 00000000..321b89f3
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/error.py
@@ -0,0 +1,29 @@
+#Generated from VACUUM_VAC-VVS.def at 2020-06-11_16:09:59
+from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
+
+msg  = ""
+code = 0
+
+if PVUtil.getLong(pvs[0]):
+    code = PVUtil.getLong(pvs[1])
+
+    msgs = dict({
+                 99 : "Open Status & Close Status Both Active",
+                 49 : "Previous Interlock",
+                 48 : "Next Interlock",
+                 47 : "Personnel Access Interlock",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Error Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown error code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)
-- 
GitLab