From 03db403770f7a673a8cc1133b9fb406fa2470a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20L=C3=B6ki?= <krisztian.loki@ess.eu> Date: Thu, 18 Jun 2020 14:31:21 +0200 Subject: [PATCH] Converted pressure.js to Python --- .../COMMON/DEVICES/vacuum/COMMON/pressure.js | 78 ------------------- .../COMMON/DEVICES/vacuum/COMMON/pressure.py | 43 ++++++++++ .../COMMON/DEVICES/vacuum/vgc/vac_vgc.bob | 2 +- .../COMMON/DEVICES/vacuum/vgd/vac_vgd.bob | 2 +- .../COMMON/DEVICES/vacuum/vgp/vac_vgp.bob | 2 +- .../COMMON/DEVICES/vacuum/vvmc/pressure.js | 68 ---------------- .../COMMON/DEVICES/vacuum/vvmc/pressure.py | 32 ++++++++ .../COMMON/DEVICES/vacuum/vvmc/vac_vvmc.bob | 2 +- 8 files changed, 79 insertions(+), 150 deletions(-) delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.js create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.py delete mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.js create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.py diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.js b/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.js deleted file mode 100644 index 69bc63fc..00000000 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.js +++ /dev/null @@ -1,78 +0,0 @@ -PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; -ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil; - -var tooltip = "N/A"; - -var debug = widget.getEffectiveMacros().getValue("DEBUG"); -if (debug) { - debug = debug[0]; - switch (debug) { - case '1': - case 'Y': - case 'y': - case 'T': - case 't': - debug = true; - break; - - default: - debug = false; - } -} -else - debug = false; - -if (debug) - Logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); -else { - Logger = new Object(); - Logger.info = function() {} - Logger.warning = function() {} - Logger.severe = function(text) { org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe(text);} -} - -function log_pv(pv) { - try { - Logger.info(pv + ": " + PVUtil.getString(pv)); - } catch (err) { - Logger.severe(err); - } -} - -try { - var pvStat = PVUtil.getString(pvs[0]); - var pvPrsStr = PVUtil.getString(pvs[2]); - var pvUnit = PVUtil.getString(pvs[3]); - - log_pv(pvs[0]); - log_pv(pvs[1]); - log_pv(pvs[2]); - - var pressure; - try { - var vtype = PVUtil.getVType(pvs[1]); - - FormatOption = org.csstudio.display.builder.model.properties.FormatOption; - FormatOptionHandler = org.csstudio.display.builder.model.util.FormatOptionHandler; - - pressure = FormatOptionHandler.format(vtype, FormatOption.EXPONENTIAL, 3, true); - } catch (err) { - } - - if (pvStat == "ON") { - if (!pressure) - tooltip = pvPrsStr + " " + pvUnit; - else - tooltip = pressure; - } else if (pvStat == "OVER-RANGE" || pvStat == "UNDER-RANGE") { - if (!pressure) - tooltip = PVUtil.getDouble(pvs[1]) + " " + pvUnit; - else - tooltip = pressure; - } else - tooltip = pvPrsStr; -} catch (err) { - Logger.severe(err); -} - -widget.setPropertyValue("tooltip", tooltip); diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.py b/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.py new file mode 100644 index 00000000..daf29b62 --- /dev/null +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/COMMON/pressure.py @@ -0,0 +1,43 @@ +from org.csstudio.display.builder.runtime.script import PVUtil +from org.csstudio.display.builder.runtime.script import ScriptUtil + +tooltip = "N/A" + +try: + pvStat = PVUtil.getString(pvs[0]).upper() + pvPrsStr = PVUtil.getString(pvs[2]) + pvUnit = PVUtil.getString(pvs[3]) + + try: + from org.phoebus.ui.vtype import FormatOption, FormatOptionHandler + except ImportError: + try: + from org.csstudio.display.builder.model.properties import FormatOption + from org.csstudio.display.builder.model.util import FormatOptionHandler + except Exception as e: + ScriptUtil.getLogger().severe(str(e)) + + try: + vtype = PVUtil.getVType(pvs[1]) + + pressure = FormatOptionHandler.format(vtype, FormatOption.EXPONENTIAL, 2, True) + except Exception as e: + ScriptUtil.getLogger().severe(str(e)) + pressure = None + + if pvStat == "ON": + if pressure is None: + tooltip = pvPrsStr + " " + pvUnit + else: + tooltip = pressure + elif pvStat == "OVER-RANGE" or pvStat == "UNDER-RANGE": + if pressure is None: + tooltip = str(PVUtil.getDouble(pvs[1])) + " " + pvUnit + else: + tooltip = pressure + else: + tooltip = pvPrsStr +except Exception as e: + ScriptUtil.getLogger().severe(str(e)) + +widget.setPropertyValue("tooltip", tooltip) diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vgc/vac_vgc.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vgc/vac_vgc.bob index 9b5a71b5..1f489285 100644 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/vgc/vac_vgc.bob +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vgc/vac_vgc.bob @@ -99,7 +99,7 @@ </action> </actions> <scripts> - <script file="../COMMON/pressure.js"> + <script file="../COMMON/pressure.py"> <pv_name>$(vacPREFIX):PrsStatR</pv_name> <pv_name>$(vacPREFIX):PrsR</pv_name> <pv_name>$(vacPREFIX):PrsR-STR</pv_name> diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vgd/vac_vgd.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vgd/vac_vgd.bob index 071c89ff..559c63c5 100644 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/vgd/vac_vgd.bob +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vgd/vac_vgd.bob @@ -99,7 +99,7 @@ </action> </actions> <scripts> - <script file="../COMMON/pressure.js"> + <script file="../COMMON/pressure.py"> <pv_name>$(vacPREFIX):PrsStatR</pv_name> <pv_name>$(vacPREFIX):PrsR</pv_name> <pv_name>$(vacPREFIX):PrsR-STR</pv_name> diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vgp/vac_vgp.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vgp/vac_vgp.bob index 2c7727d5..817da1f4 100644 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/vgp/vac_vgp.bob +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vgp/vac_vgp.bob @@ -99,7 +99,7 @@ </action> </actions> <scripts> - <script file="../COMMON/pressure.js"> + <script file="../COMMON/pressure.py"> <pv_name>$(vacPREFIX):PrsStatR</pv_name> <pv_name>$(vacPREFIX):PrsR</pv_name> <pv_name>$(vacPREFIX):PrsR-STR</pv_name> diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.js b/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.js deleted file mode 100644 index 7bb1ff88..00000000 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.js +++ /dev/null @@ -1,68 +0,0 @@ -PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; -ScriptUtil = org.csstudio.display.builder.runtime.script.ScriptUtil; - -var tooltip = "N/A"; - -var debug = widget.getEffectiveMacros().getValue("DEBUG"); -if (debug) { - debug = debug[0]; - switch (debug) { - case '1': - case 'Y': - case 'y': - case 'T': - case 't': - debug = true; - break; - - default: - debug = false; - } -} -else - debug = false; - -if (debug) - Logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); -else { - Logger = new Object(); - Logger.info = function() {} - Logger.warning = function() {} - Logger.severe = function(text) { org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger().severe(text);} -} - -function log_pv(pv) { - try { - Logger.info(pv + ": " + PVUtil.getString(pv)); - } catch (err) { - Logger.severe(err); - } -} - -try { - var pvStat = PVUtil.getString(pvs[0]); - var pvPrsStr = PVUtil.getString(pvs[2]); - - log_pv(pvs[0]); - log_pv(pvs[1]); - log_pv(pvs[2]); - - if (pvStat == "Open") { - try { - var vtype = PVUtil.getVType(pvs[1]); - - FormatOption = org.csstudio.display.builder.model.properties.FormatOption; - FormatOptionHandler = org.csstudio.display.builder.model.util.FormatOptionHandler; - - tooltip = FormatOptionHandler.format(vtype, FormatOption.EXPONENTIAL, 3, true); - } catch (err) { - var pvUnit = PVUtil.getString(pvs[3]); - tooltip = pvPrsStr + " " + pvUnit; - } - } else - tooltip = pvPrsStr; -} catch (err) { - Logger.severe(err); -} - -widget.setPropertyValue("tooltip", tooltip); diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.py b/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.py new file mode 100644 index 00000000..9d47fdc6 --- /dev/null +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/pressure.py @@ -0,0 +1,32 @@ +from org.csstudio.display.builder.runtime.script import PVUtil +from org.csstudio.display.builder.runtime.script import ScriptUtil + +tooltip = "N/A" + +try: + pvStat = PVUtil.getString(pvs[0]).upper() + pvPrsStr = PVUtil.getString(pvs[2]) + + if pvStat == "OPEN": + try: + from org.phoebus.ui.vtype import FormatOption, FormatOptionHandler + except ImportError: + try: + from org.csstudio.display.builder.model.properties import FormatOption + from org.csstudio.display.builder.model.util import FormatOptionHandler + except Exception as e: + ScriptUtil.getLogger().severe(str(e)) + + try: + vtype = PVUtil.getVType(pvs[1]) + + tooltip = FormatOptionHandler.format(vtype, FormatOption.EXPONENTIAL, 2, True) + except: + pvUnit = PVUtil.getString(pvs[3]) + tooltip = pvPrsStr + " " + pvUnit + else: + tooltip = pvPrsStr +except Exception as e: + ScriptUtil.getLogger().severe(str(e)) + +widget.setPropertyValue("tooltip", tooltip) diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/vac_vvmc.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/vac_vvmc.bob index f9cae2e1..4e983a38 100644 --- a/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/vac_vvmc.bob +++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vvmc/vac_vvmc.bob @@ -85,7 +85,7 @@ </action> </actions> <scripts> - <script file="pressure.js"> + <script file="pressure.py"> <pv_name>$(vacPREFIX):FlwStatR</pv_name> <pv_name>$(vacPREFIX):FlwR</pv_name> <pv_name>$(vacPREFIX):FlwR-STR</pv_name> -- GitLab