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 5b8d49416aa16739ae59e3907e2eff5da3a0e297..29097058248998bccc1155c5dae20706df8e9436 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
@@ -148,7 +148,7 @@
         </rule>
       </rules>
       <scripts>
-        <script file="$(WIDGET_ROOT)/$(WIDGET)/warning.js">
+        <script file="$(WIDGET_ROOT)/$(WIDGET)/warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
index 10e4b2d52a5bbca5be893f7c8d20d0d76a537b34..f978f0dd469584a90b4719bfb6f137bc7de84218 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/vac-vpg.bob
@@ -753,7 +753,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="warning.js">
+      <script file="warning.py">
         <pv_name>$(vacPREFIX):WarningR</pv_name>
         <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.js
deleted file mode 100644
index cf0bbd4ee14acac7a4db6561e0bf8a0a079f10b8..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.js
+++ /dev/null
@@ -1,61 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Service Mode (Leak Detection) Over Time";
-		break;
-	case 19:
-		warningMsg = "High Vacuum Pumping Starting Not Possible - All Systems are Locked";
-		break;
-	case 18:
-		warningMsg = "1st High Vacuum Pumping System Error - Angle Valve Position Error";
-		break;
-	case 17:
-		warningMsg = "2nd High Vacuum Pumping System Error - Angle Valve Position Error";
-		break;
-	case 16:
-		warningMsg = "3rd High Vacuum Pumping System Error - Angle Valve Position Error";
-		break;
-	case 15:
-		warningMsg = "4th High Vacuum Pumping System Error - Angle Valve Position Error";
-		break;
-	case 14:
-		warningMsg = "5th High Vacuum Pumping System Error - Angle Valve Position Error";
-		break;
-	case 11:
-		warningMsg = "Atmospheric & Vacuum Starting are Enabled";
-		break;
-	case 10:
-		warningMsg = "No Starting Enabled";
-		break;
-	case 9:
-		warningMsg = "Atmospheric Starting is Enabled";
-		break;
-	case 3:
-		warningMsg = "Automatic Restart On-going";
-		break;
-	case 2:
-		warningMsg = "All Pumping Systems Locked - Starting Not Possible";
-		break;
-	case 1:
-		warningMsg = "No Mode Selected";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..64df4ea7699967e7117800cc686c7ae751e7dcdf
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpg/warning.py
@@ -0,0 +1,38 @@
+#Generated from VACUUM_VAC-VPG.def at 2020-06-11_16:18:29
+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 : "Service Mode (Leak Detection) Over Time",
+                 19 : "High Vacuum Pumping Starting Not Possible - All Systems are Locked",
+                 18 : "1st High Vacuum Pumping System Error - Angle Valve Position Error",
+                 17 : "2nd High Vacuum Pumping System Error - Angle Valve Position Error",
+                 16 : "3rd High Vacuum Pumping System Error - Angle Valve Position Error",
+                 15 : "4th High Vacuum Pumping System Error - Angle Valve Position Error",
+                 14 : "5th High Vacuum Pumping System Error - Angle Valve Position Error",
+                 11 : "Atmospheric & Vacuum Starting are Enabled",
+                 10 : "No Starting Enabled",
+                 9 : "Atmospheric Starting is Enabled",
+                 3 : "Automatic Restart On-going",
+                 2 : "All Pumping Systems Locked - Starting Not Possible",
+                 1 : "No Mode Selected",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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/vpi/vac_vpi.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpi/vac_vpi.bob
index fc4327bcb7bf329a10cf70b9e73749e383578c8f..13ab30260b3b28864d5820d9377033f845c0cd65 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpi/vac_vpi.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpi/vac_vpi.bob
@@ -282,7 +282,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</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 5297df8a9b5a1e92db63af35a7f4f57139640d59..c28082e57fe2b838d5f27b28d3e7ade514749936 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
@@ -274,7 +274,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="../warning.js">
+      <script file="../warning.py">
         <pv_name>$(vacPREFIX):WarningR</pv_name>
         <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/vac_vpp-vpdp.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/vac_vpp-vpdp.bob
index 686f5bf562a8fdc6c77b3d22791277bf65a80a83..e41de95e7eaf9fbe9a05698bbaae12c470c3421a 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/vac_vpp-vpdp.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/vac_vpp-vpdp.bob
@@ -297,7 +297,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.js
deleted file mode 100644
index 71c4706bf20301539f047cee066e90aa3a87f70b..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.js
+++ /dev/null
@@ -1,37 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Pump Not Started";
-		break;
-	case 98:
-		warningMsg = "Pump Starting Prevented by Tripped Interlock";
-		break;
-	case 5:
-		warningMsg = "Pressure Interlock Bypassed";
-		break;
-	case 4:
-		warningMsg = "Hardware Interlock Bypassed";
-		break;
-	case 3:
-		warningMsg = "Software Interlock Bypassed";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..d8886ab7b77c9015611bb2d87d4b22745919ad32
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpp-vpdp/warning.py
@@ -0,0 +1,30 @@
+#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 : "Pump Not Started",
+                 98 : "Pump Starting Prevented by Tripped Interlock",
+                 5 : "Pressure Interlock Bypassed",
+                 4 : "Hardware Interlock Bypassed",
+                 3 : "Software Interlock Bypassed",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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 08e2d8a456521db3fcdf4dfd30d38de55d66a538..f57af9d2bed0d33020fb23cc5d3d299c006aaaf7 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
@@ -394,7 +394,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="$(WIDGET_ROOT)/vpt/warning.js">
+      <script file="$(WIDGET_ROOT)/vpt/warning.py">
         <pv_name>$(vacPREFIX):WarningR</pv_name>
         <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/vac_vpt.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/vac_vpt.bob
index f20071b34c2ebe026e807ebb2c72696e2a04744e..121e9f221dd5c3ab330fdb0775aedea7cb252526 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/vac_vpt.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/vac_vpt.bob
@@ -281,7 +281,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.js
deleted file mode 100644
index c1486fc24b99ce02e1fcf7b6891a975cdd3aeb24..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.js
+++ /dev/null
@@ -1,37 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Bypass Interlock Activated";
-		break;
-	case 98:
-		warningMsg = "Pump Starting Prevented by Tripped Interlock";
-		break;
-	case 5:
-		warningMsg = "Pressure Interlock Bypassed";
-		break;
-	case 4:
-		warningMsg = "Hardware Interlock Bypassed";
-		break;
-	case 3:
-		warningMsg = "Software Interlock Bypassed";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..3371dc022123663c2ab2fd091806906adb3a25d2
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vpt/warning.py
@@ -0,0 +1,30 @@
+#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 : "Bypass Interlock Activated",
+                 98 : "Pump Starting Prevented by Tripped Interlock",
+                 5 : "Pressure Interlock Bypassed",
+                 4 : "Hardware Interlock Bypassed",
+                 3 : "Software Interlock Bypassed",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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 8a344bba65dfd23cc9ddbc2df7c3362846afce48..8e895b8d9ce5cbeac9a1576cbf37b5d9bc1fb1a5 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
@@ -296,7 +296,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="$(WIDGET_ROOT)/$(WIDGET)/warning.js">
+      <script file="$(WIDGET_ROOT)/$(WIDGET)/warning.py">
         <pv_name>$(vacPREFIX):WarningR</pv_name>
         <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
       </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_angle-vva.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_angle-vva.bob
index 8710acb240ee288f8575928e5787a692c07c12fd..77b8757ade9bd63ee74a58fe42d90ef095221008 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_angle-vva.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_angle-vva.bob
@@ -286,7 +286,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_straight-vva.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_straight-vva.bob
index 46179f36a68e311335f018f0bd71f0386145bac6..eb62927c5aba7b0e77f3c15a42054fddd5d476e3 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_straight-vva.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/vac_straight-vva.bob
@@ -284,7 +284,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.js
deleted file mode 100644
index 8e36dde6649a6e5772cb156e19d3321b9db5bb33..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.js
+++ /dev/null
@@ -1,61 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Valve Not Open / Device Not On";
-		break;
-	case 98:
-		warningMsg = "Bypass Interlock Time-Out";
-		break;
-	case 97:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 96:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-	case 15:
-		warningMsg = "Open Interlock Active (Valve Open)";
-		break;
-	case 14:
-		warningMsg = "Pressure Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 13:
-		warningMsg = "Hardware Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 12:
-		warningMsg = "Pressure Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 11:
-		warningMsg = "Hardware Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 10:
-		warningMsg = "Hardware Interlock No. 3 Bypassed / Overridden";
-		break;
-	case 9:
-		warningMsg = "Software Interlock Bypassed / Overridden";
-		break;
-	case 8:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 7:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..27139b029a3fa9c194723e5797f2ceea4141c8ea
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vva/warning.py
@@ -0,0 +1,38 @@
+#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 : "Valve Not Open",
+                 98 : "Bypass Interlock Time-Out",
+                 97 : "Open Interlock Active (Valve Closed)",
+                 96 : "Valve Opening Prevented by Tripped Interlock",
+                 15 : "Open Interlock Active (Valve Open)",
+                 14 : "Pressure Interlock No. 1 Bypassed / Overridden",
+                 13 : "Hardware Interlock No. 1 Bypassed / Overridden",
+                 12 : "Pressure Interlock No. 2 Bypassed / Overridden",
+                 11 : "Hardware Interlock No. 2 Bypassed / Overridden",
+                 10 : "Hardware Interlock No. 3 Bypassed / Overridden",
+                 9 : "Software Interlock Bypassed / Overridden",
+                 8 : "Open Interlock Active (Valve Closed)",
+                 7 : "Valve Opening Prevented by Tripped Interlock",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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/vac_vvf.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/vac_vvf.bob
index 60260e755eae7a7d7e7b5f4e9e3f686c641c18f3..141cd7e5c9168d073100c300dac74b83970ad9b2 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/vac_vvf.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/vac_vvf.bob
@@ -284,7 +284,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.js
deleted file mode 100644
index 8e36dde6649a6e5772cb156e19d3321b9db5bb33..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.js
+++ /dev/null
@@ -1,61 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Valve Not Open / Device Not On";
-		break;
-	case 98:
-		warningMsg = "Bypass Interlock Time-Out";
-		break;
-	case 97:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 96:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-	case 15:
-		warningMsg = "Open Interlock Active (Valve Open)";
-		break;
-	case 14:
-		warningMsg = "Pressure Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 13:
-		warningMsg = "Hardware Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 12:
-		warningMsg = "Pressure Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 11:
-		warningMsg = "Hardware Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 10:
-		warningMsg = "Hardware Interlock No. 3 Bypassed / Overridden";
-		break;
-	case 9:
-		warningMsg = "Software Interlock Bypassed / Overridden";
-		break;
-	case 8:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 7:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..27139b029a3fa9c194723e5797f2ceea4141c8ea
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvf/warning.py
@@ -0,0 +1,38 @@
+#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 : "Valve Not Open",
+                 98 : "Bypass Interlock Time-Out",
+                 97 : "Open Interlock Active (Valve Closed)",
+                 96 : "Valve Opening Prevented by Tripped Interlock",
+                 15 : "Open Interlock Active (Valve Open)",
+                 14 : "Pressure Interlock No. 1 Bypassed / Overridden",
+                 13 : "Hardware Interlock No. 1 Bypassed / Overridden",
+                 12 : "Pressure Interlock No. 2 Bypassed / Overridden",
+                 11 : "Hardware Interlock No. 2 Bypassed / Overridden",
+                 10 : "Hardware Interlock No. 3 Bypassed / Overridden",
+                 9 : "Software Interlock Bypassed / Overridden",
+                 8 : "Open Interlock Active (Valve Closed)",
+                 7 : "Valve Opening Prevented by Tripped Interlock",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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/vac_vvg.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/vac_vvg.bob
index 94c812bf9ed9ba818d984a5550f40a040fb06377..930bf417dd59754df519825f0589d6b7a9c95d0e 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/vac_vvg.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/vac_vvg.bob
@@ -284,7 +284,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.js
deleted file mode 100644
index 8e36dde6649a6e5772cb156e19d3321b9db5bb33..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.js
+++ /dev/null
@@ -1,61 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Valve Not Open / Device Not On";
-		break;
-	case 98:
-		warningMsg = "Bypass Interlock Time-Out";
-		break;
-	case 97:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 96:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-	case 15:
-		warningMsg = "Open Interlock Active (Valve Open)";
-		break;
-	case 14:
-		warningMsg = "Pressure Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 13:
-		warningMsg = "Hardware Interlock No. 1 Bypassed / Overridden";
-		break;
-	case 12:
-		warningMsg = "Pressure Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 11:
-		warningMsg = "Hardware Interlock No. 2 Bypassed / Overridden";
-		break;
-	case 10:
-		warningMsg = "Hardware Interlock No. 3 Bypassed / Overridden";
-		break;
-	case 9:
-		warningMsg = "Software Interlock Bypassed / Overridden";
-		break;
-	case 8:
-		warningMsg = "Open Interlock Active (Valve Closed)";
-		break;
-	case 7:
-		warningMsg = "Valve Opening Prevented by Tripped Interlock";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-if (widget.getType() != "action_button")
-	widget.setPropertyValue("text", warningMsg);
-widget.setPropertyValue("tooltip", warningMsg);
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..27139b029a3fa9c194723e5797f2ceea4141c8ea
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvg/warning.py
@@ -0,0 +1,38 @@
+#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 : "Valve Not Open",
+                 98 : "Bypass Interlock Time-Out",
+                 97 : "Open Interlock Active (Valve Closed)",
+                 96 : "Valve Opening Prevented by Tripped Interlock",
+                 15 : "Open Interlock Active (Valve Open)",
+                 14 : "Pressure Interlock No. 1 Bypassed / Overridden",
+                 13 : "Hardware Interlock No. 1 Bypassed / Overridden",
+                 12 : "Pressure Interlock No. 2 Bypassed / Overridden",
+                 11 : "Hardware Interlock No. 2 Bypassed / Overridden",
+                 10 : "Hardware Interlock No. 3 Bypassed / Overridden",
+                 9 : "Software Interlock Bypassed / Overridden",
+                 8 : "Open Interlock Active (Valve Closed)",
+                 7 : "Valve Opening Prevented by Tripped Interlock",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning 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 007d99b95054616cae3add969a73e20c722e22ae..2c990c25439f8c462423b4915e30d5fe825a3325 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
@@ -167,7 +167,7 @@
     <actions>
     </actions>
     <scripts>
-      <script file="../warning.js">
+      <script file="../warning.py">
         <pv_name>$(vacPREFIX):WarningR</pv_name>
         <pv_name>$(vacPREFIX):WarningCodeR</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 b50110db57f9d9cb2c47b1525e691fc47debce93..8edc13fd5799d5cdaaf024b8bf323ce7097c1da9 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/Faceplate/vac_vvs.bob
@@ -287,7 +287,7 @@
         </rule>
       </rules>
       <scripts>
-        <script file="../warning.js">
+        <script file="../warning.py">
           <pv_name>$(DEVICENAME):WarningR</pv_name>
           <pv_name>$(DEVICENAME):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/vac_vvs.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/vac_vvs.bob
index d502fae35bdebc83b57a5fa751f84648ecd961b7..d409f0a9777af104cab749460a32973a02e1f05a 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/vac_vvs.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/vac_vvs.bob
@@ -469,7 +469,7 @@
       <height>16</height>
       <transparent>true</transparent>
       <scripts>
-        <script file="warning.js">
+        <script file="warning.py">
           <pv_name>$(vacPREFIX):WarningR</pv_name>
           <pv_name>$(vacPREFIX):WarningCodeR</pv_name>
         </script>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.js
deleted file mode 100644
index b6d530eaa4ee98ad78898f902d1dd34d30dc6a6f..0000000000000000000000000000000000000000
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.js
+++ /dev/null
@@ -1,29 +0,0 @@
-PVUtil = org.csstudio.display.builder.runtime.script.PVUtil;
-ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil;
-
-var warningMsg  = "";
-var warningCode = 0;
-
-if (PVUtil.getLong(pvs[0]))
-	warningCode = PVUtil.getLong(pvs[1]);
-
-switch (warningCode) {
-	case 99:
-		warningMsg = "Open/Close command timeout";
-		break;
-
-	case 0:
-		break;
-	default:
-		warningMsg = "Warning Code: " + PVUtil.getString(pvs[1]);
-		org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe("Unknown warning code " + pvs[1] + " : " + warningCode);
-		break;
-}
-
-try {
-	pvs[2].setValue(warningMsg);
-} catch (err) {
-	if (widget.getType() != "action_button")
-		widget.setPropertyValue("text", warningMsg);
-	widget.setPropertyValue("tooltip", warningMsg);
-}
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.py
new file mode 100644
index 0000000000000000000000000000000000000000..046d4f6fc40e4cc5bc68bb73ef87cb933526bc79
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvs/warning.py
@@ -0,0 +1,26 @@
+#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/Close command timeout",
+                 0 : ""
+                })
+
+    try:
+        msg = msgs[code]
+    except KeyError:
+        msg = "Warning Code: " + PVUtil.getString(pvs[1])
+        ScriptUtil.getLogger().severe("Unknown warning code {} : {}".format(pvs[1], code))
+
+try:
+    pvs[2].setValue(msg)
+except:
+    if widget.getType() != "action_button":
+        widget.setPropertyValue("text", msg)
+    widget.setPropertyValue("tooltip", msg)