-
Notifications
You must be signed in to change notification settings - Fork 2
/
auto_screen_shots.py
72 lines (63 loc) · 2.29 KB
/
auto_screen_shots.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from archive.database_call_v0 import lgdb_tools
from data_retriver import Timber_detectors
from datetime import datetime
from matplotlib.dates import date2num
from matplotlib.pyplot import plot_date, show, title, grid, legend, xlabel, ylabel, savefig, xticks, tight_layout
from time import sleep
import subprocess
import zipfile
def sec_screens():
variable_name = 'MSC01.ZT8.107:COUNTS'
filename = 'sec_screen_data'
timeformat = '%Y-%m-%d %H:%M:%S.%f'
headers = ['Time [local]','Counts']
deltahours = 3.00
sec = Timber_detectors()
sec.fetch_from_timber(variable_name, filename, deltahours)
f = open('data/'+filename+'.CSV', 'r')
for i in range(7):
f.readline() # read first 7 header lines
times = []
counts = []
for line in f:
l = line.split(',')
times.append(datetime.strptime(l[0], timeformat))
counts.append(l[1])
dates = date2num(times)
plot_date(dates,counts,'r-',label=variable_name)
try:
title(str(times[0])[0:19] + ' to ' + str(times[-1])[0:19]) # [0:19] removes the microseconds to avoid too long title
except IndexError:
title(str(datetime.now()))
legend([variable_name])
grid(True)
xlabel('LOCAL_TIME')
ylabel('count')
xticks(rotation=70)
tight_layout()
savefig('//cern.ch/dfs/Websites/t/test-charmShiftTool/screens/sec.png', dpi=220)
def web_screens():
p = subprocess.Popen('./phantomjs.exe ./auto_logger.js', stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if __name__ == "__main__":
directory = '//cern.ch/dfs/Websites/t/test-charmShiftTool/screens/'
while True:
sec_screens()
web_screens()
print('Creating zip file')
zf = zipfile.ZipFile(directory+'all_screens.zip', mode = 'w')
try:
print('Adding bpm1.png')
zf.write(directory+'bpm1.png',arcname='bpm1.png')
print('Adding bpm_all.png')
zf.write(directory+'bpm_all.png',arcname='bpm_all.png')
print('Adding sec.png')
zf.write(directory+'sec.png',arcname='sec.png')
print('Adding mwpc.png')
zf.write(directory+'mwpc.png',arcname='mwpc.png')
print('Adding op.png')
zf.write(directory+'op.png',arcname='op.png')
finally:
print('closing')
zf.close()
print('DONE: Sleeping for 5 minutes')
sleep(300) #sleep 900 seconds aka 15 min