Commit eeca580b authored by Holger Niemann's avatar Holger Niemann
Browse files

Update 3.2.2: small bugfixes to catch timeouts, needed for the auto scripts

parent 58084775
...@@ -4,7 +4,7 @@ Created on Wed Oct 25 15:51:46 2017 ...@@ -4,7 +4,7 @@ Created on Wed Oct 25 15:51:46 2017
updated on Tue Aug 21 10:20:00 2018 updated on Tue Aug 21 10:20:00 2018
last update on Fr Nov 23 15:37:00 2018 last update on Fr Nov 23 15:37:00 2018
Version: 3.2.1 Version: 3.2.2
(Numbering: #of big changes(OP1.2a download V1, OP1.2b download V2, heatflux V3) . #of updates to add functionalities . #number of updates for bug fixes ) (Numbering: #of big changes(OP1.2a download V1, OP1.2b download V2, heatflux V3) . #of updates to add functionalities . #number of updates for bug fixes )
@author: holn @author: holn
""" """
...@@ -76,6 +76,8 @@ def get_latest_version(stream,project="W7X",Test=False,t_from=None,t_to=None,pro ...@@ -76,6 +76,8 @@ def get_latest_version(stream,project="W7X",Test=False,t_from=None,t_to=None,pro
except urllib.error.HTTPError as ex: except urllib.error.HTTPError as ex:
msg = ex.read() msg = ex.read()
raise RuntimeError(msg) raise RuntimeError(msg)
except Exception as E:
raise RuntimeError(E)
else: else:
response.close() response.close()
# detect unversioned or non-existing stream # detect unversioned or non-existing stream
...@@ -116,34 +118,16 @@ def read_program(timestamp_start,timestamp_end=0,tol=60): ...@@ -116,34 +118,16 @@ def read_program(timestamp_start,timestamp_end=0,tol=60):
print('read_program: Error opening URL') print('read_program: Error opening URL')
print(e) print(e)
return False,0 return False,0
except Exception as e:
print('read_program: Error opening URL',e)
return False,0
else: else:
prog_string=prog_raw.decode(encoding='UTF-8') prog_string=prog_raw.decode(encoding='UTF-8')
prog_list = json.loads(prog_string) prog_list = json.loads(prog_string)
pl=prog_list['programs'][0] pl=prog_list['programs'][0]
return True, pl return True, pl
def read_restdb_old(request_url):
"""
Reads JSON data from W7-X REST API
Returns:
valid: access ok
t: numpy-array of time
signal: numpy-array of requested signals
by H. Thomsen
"""
try:
res = urllib.request.urlopen(request_url)
except urllib.error.URLError as e:
print('read_restdb_old: Error ', e)
return False, 0, -1
else:
signal_raw=res.read()
res.close()
signal_string=signal_raw.decode(encoding='UTF-8')
signal_list = json.loads(signal_string)
signal0=np.array(signal_list['values'])
t=np.array(signal_list['dimensions'])
return True, t, signal0
def download_LUT(port,time,exposure=0,emissivity=0,camera_filter=0,version=0, verbose=0): def download_LUT(port,time,exposure=0,emissivity=0,camera_filter=0,version=0, verbose=0):
""" """
...@@ -239,6 +223,9 @@ def download_NUC_by_times(port,starttime,stoptime,exposure,version=0): ...@@ -239,6 +223,9 @@ def download_NUC_by_times(port,starttime,stoptime,exposure,version=0):
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_NUC_by_times: Error! ', e) print('download_NUC_by_times: Error! ', e)
goon=False goon=False
except Exception as e:
print('download_NUC_by_times: Error! ', e)
goon=False
if goon: if goon:
n=0 n=0
nuctimes=[0] nuctimes=[0]
...@@ -450,6 +437,9 @@ def download_hot_cold_reference_by_times(port,exposure,starttime=150390720000000 ...@@ -450,6 +437,9 @@ def download_hot_cold_reference_by_times(port,exposure,starttime=150390720000000
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_hot_cold_reference_by_times: Error! ',e) print('download_hot_cold_reference_by_times: Error! ',e)
goon=False goon=False
except Exception as e:
print('download_hot_cold_reference_by_times: Error! ',e)
goon=False
if goon: if goon:
COLDtime=0 COLDtime=0
HOTtime=0 HOTtime=0
...@@ -509,6 +499,9 @@ def download_background_by_times(port,starttime,stoptime,exposure,camera_filter= ...@@ -509,6 +499,9 @@ def download_background_by_times(port,starttime,stoptime,exposure,camera_filter=
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_background_by_times: Error! ',e) print('download_background_by_times: Error! ',e)
goon=False goon=False
except Exception as e:
print('download_background_by_times: Error! ',e)
goon=False
if goon: if goon:
n=0 n=0
backtimes=[0] backtimes=[0]
...@@ -630,6 +623,8 @@ def download_images_by_times(larchivepath,starttime,stoptime,version=0,intervalS ...@@ -630,6 +623,8 @@ def download_images_by_times(larchivepath,starttime,stoptime,version=0,intervalS
success=True success=True
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_images_by_times: Error in sub-interval {0}! {1}'.format(i,e)) print('download_images_by_times: Error in sub-interval {0}! {1}'.format(i,e))
except Exception as e:
print('download_images_by_times: Error in sub-interval {0}! {1}'.format(i,e))
return success,time,allimages return success,time,allimages
else: else:
try: try:
...@@ -646,6 +641,9 @@ def download_images_by_times(larchivepath,starttime,stoptime,version=0,intervalS ...@@ -646,6 +641,9 @@ def download_images_by_times(larchivepath,starttime,stoptime,version=0,intervalS
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_images_by_times: Error! ',e) print('download_images_by_times: Error! ',e)
return False, 0,-1 return False, 0,-1
except Exception as e:
print('download_images_by_times: Error! ',e)
return False, 0,-1
if fastDL: if fastDL:
def download_raw_images_by_program_via_png(port,program,time_window=0,version=0,threads=1,verbose=0): def download_raw_images_by_program_via_png(port,program,time_window=0,version=0,threads=1,verbose=0):
...@@ -1113,6 +1111,9 @@ def download_last_raw_image_by_time(larchivepath,starttime,stoptime,version=0): ...@@ -1113,6 +1111,9 @@ def download_last_raw_image_by_time(larchivepath,starttime,stoptime,version=0):
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_last_raw_image_by_time: Error querrying {0}\n{1}'.format(url,e)) print('download_last_raw_image_by_time: Error querrying {0}\n{1}'.format(url,e))
return False, [-1] return False, [-1]
except Exception as e:
print('download_last_raw_image_by_time: Error querrying {0}\n{1}'.format(url,e))
return False, [-1]
def download_raw_parlog_by_program(port,program,version=0): def download_raw_parlog_by_program(port,program,version=0):
""" """
...@@ -1144,6 +1145,9 @@ def download_raw_parlog_by_times(port,starttime,stoptime,version=0): ...@@ -1144,6 +1145,9 @@ def download_raw_parlog_by_times(port,starttime,stoptime,version=0):
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_raw_parlog_by_times: Error! ',e) print('download_raw_parlog_by_times: Error! ',e)
goon=False goon=False
except Exception as E:
print('download_raw_parlog_by_times: Error! ',E)
goon=False
if goon: if goon:
return True, signal_list['dimensions'],signal_list['values'][0]['meta-data'] return True, signal_list['dimensions'],signal_list['values'][0]['meta-data']
...@@ -1178,6 +1182,9 @@ def get_INFRATEC_filter_by_times(starttime,stoptime,port=50,version=0): ...@@ -1178,6 +1182,9 @@ def get_INFRATEC_filter_by_times(starttime,stoptime,port=50,version=0):
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('get_INFRATEC_filter_by_times: Error! ',e) print('get_INFRATEC_filter_by_times: Error! ',e)
goon=False goon=False
except Exception as E:
print('get_INFRATEC_filter_by_times: Error! ',E)
goon=False
if goon: if goon:
return True, signal_list['dimensions'],signal_list['values'][0]['meta-data']['filter'] return True, signal_list['dimensions'],signal_list['values'][0]['meta-data']['filter']
else: else:
...@@ -2714,6 +2721,9 @@ def download_heatflux_scene_model_reference(port,timepoint=None,program=None,ver ...@@ -2714,6 +2721,9 @@ def download_heatflux_scene_model_reference(port,timepoint=None,program=None,ver
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('download_heatflux_scene_model_reference: Error! ',e,larchivepath_par+"/_signal.json?from="+str(timepoint)+"&upto="+str(timepoint)) print('download_heatflux_scene_model_reference: Error! ',e,larchivepath_par+"/_signal.json?from="+str(timepoint)+"&upto="+str(timepoint))
goon=False goon=False
except Exception as E:
print('download_heatflux_scene_model_reference: Error! ',E)
goon=False
if goon: if goon:
timepoint=signal_list['values'][0] timepoint=signal_list['values'][0]
exist,time,frames=download_images_by_times(larchivepath,starttime=timepoint-10,stoptime=int(timepoint+1e8),version=version,verbose=verbose-1) exist,time,frames=download_images_by_times(larchivepath,starttime=timepoint-10,stoptime=int(timepoint+1e8),version=version,verbose=verbose-1)
...@@ -3180,10 +3190,36 @@ def download_scene_model(port,program=None,timepoint=None,version=0,verbose=0): ...@@ -3180,10 +3190,36 @@ def download_scene_model(port,program=None,timepoint=None,version=0,verbose=0):
#%% general download functions #%% general download functions
""" """
the following functions are copied from W7xrest.read_restdb to remove this dependency the following functions are copied from W7xrest.read_restdb to remove this dependency and are edit to fit into the other functions
@author: thomsen @author: thomsen
""" """
def read_restdb_old(request_url):
"""
Reads JSON data from W7-X REST API
Returns:
valid: access ok
t: numpy-array of time
signal: numpy-array of requested signals
by H. Thomsen
"""
try:
res = urllib.request.urlopen(request_url)
except urllib.error.URLError as e:
print('read_restdb_old: Error ', e)
return False, 0, -1
except Exception as e:
print('read_restdb_old: Error ', e)
return False, 0, -1
else:
signal_raw=res.read()
res.close()
signal_string=signal_raw.decode(encoding='UTF-8')
signal_list = json.loads(signal_string)
signal0=np.array(signal_list['values'])
t=np.array(signal_list['dimensions'])
return True, t, signal0
def read_restdb(request_url): def read_restdb(request_url):
""" """
Reads JSON data from W7-X REST API Reads JSON data from W7-X REST API
...@@ -3207,6 +3243,9 @@ def read_restdb(request_url): ...@@ -3207,6 +3243,9 @@ def read_restdb(request_url):
#print('The server couldn\'t fulfill the request.') #print('The server couldn\'t fulfill the request.')
#print('Error code: ', e.code) #print('Error code: ', e.code)
return False, [0], [-1] return False, [0], [-1]
except Exception as E:
print('read_restdb: Error! ',E)
return False, [0], [-1]
else: else:
# res = urllib.request.urlopen(request_url) # res = urllib.request.urlopen(request_url)
# signal_raw=res.read() # signal_raw=res.read()
...@@ -3265,7 +3304,10 @@ def get_program_from_PID(instring): ...@@ -3265,7 +3304,10 @@ def get_program_from_PID(instring):
prog_list = json.loads(res.read().decode('utf-8')) prog_list = json.loads(res.read().decode('utf-8'))
res.close() res.close()
except urllib.error.URLError as e: except urllib.error.URLError as e:
print('get_program_from_PID: Error opening URL') print('get_program_from_PID: Error opening URL',e)
return False,0
except Exception as E:
print('get_program_from_PID: ERROR appeared',E)
return False,0 return False,0
else: else:
pl=prog_list['programs'] pl=prog_list['programs']
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment