#!/usr/bin/env python3 # -*- coding: utf-8 -*- # if you change this script "touch" it to reload by apache # e.g touch /var/www/html/wsgi_isttok_status.py """ Created on December 8 16:34:35 2019 https://tecadmin.net/install-apache-mod-wsgi-on-ubuntu-16-04-xenial Install: Include in /etc/apache2/conf-available/mod-wsgi.conf : WSGIScriptAlias /isttok /var/www/html/wsgi_isttok_status.py and do: systemctl restart apache2 @author: bernardo carvalho@IPFN """ # from epics import caget, caput, cainfo import os #os.environ['EPICS_CA_ADDR_LIST'] = 'localhost 192.168.1.110 192.168.1.120' os.environ['EPICS_CA_ADDR_LIST'] = 'localhost 192.168.1.110' os.environ['EPICS_CA_AUTO_ADDR_LIST'] = 'NO' def application(environ,start_response): status = '200 OK' RPump1press = caget('ISTTOK:central:RPump1-Pressure', as_string=True) # RPump2press = caget('ISTTOK:central:RPump2-Pressure') TMPump1press = caget('ISTTOK:central:TMPump1-PressureAdmission', as_string=True) VVesselpress = caget('ISTTOK:central:VVessel-Pressure', as_string=True) # RPump1press = caget('ISTTOK:vacuum:RPump1-Pressure') # RPump2press = caget('ISTTOK:vacuum:RPump2-Pressure') # TMPump1press = caget('ISTTOK:vacuum:TMPump1-PressureAdmission') # VVesselpress = caget('ISTTOK:vacuum:VVessel-Pressure') rpiCurrentTime = caget('ISTTOK:central:CurrentTime', as_string=True) opState = caget('ISTTOK:central:OPSTATE.VAL', as_string=True) pulseNum = caget('ISTTOK:central:PULSE-NUMBER', as_string=True) OnBattery = caget('ISTTOK:central:UPS-OnBattery', as_string=True) # cainfo not working RPump1Info = cainfo("ISTTOK:central:RPump1-Pressure", print_out=False) html = '\n' \ ' ISTTOK Status page' \ ' ' \ '\n

ISTTOK Present Condition

\n' # html += '

RPump1-Pressure: ' + str(RPump1press) + ' mBar

' html += '

RPump1-Pressure: ' + RPump1press + ' mBar

' # html += '

RPump2-Pressure: ' + str(RPump2press) + ' mBar

' html += '

TMPump1-PressureAdmission: ' + TMPump1press + ' mBar

' html += '

VVessel-Pressure: ' + VVesselpress + ' mBar

' html += '

OPSTATE: ' + opState + ', UPS-OnBattery: '+ OnBattery+ '

' html += '

Note: you can try to login to rpi-isttok machine and do: ' html += '

caput ISTTOK:central:OPREQ START

' html += '

PULSE-NUMBER: ' + pulseNum + '

' html += '

Rpi CurrentTime: ' + rpiCurrentTime + '

' html += '
 ' + RPump1Info + '
' html += '\n' \ '\n' response_header = [('Content-type','text/html'), ('Content-Length', str(len(html)))] start_response(status,response_header) return [html.encode('UTF-8')] # html = bytes(html, encoding= 'utf-8') # return [html]