5 Commits

Author SHA1 Message Date
4cf494982e user:dict['Comment'] 2024-09-15 13:59:31 +02:00
bba3ecf4c1 hdf tuneup 2024-07-03 16:19:24 +02:00
0d763f267c self.appversion for hdf 2024-07-03 11:27:26 +02:00
e785db369f Merge remote-tracking branch 'origin/master' 2024-07-03 09:49:34 +02:00
4783ec5a32 base, elog destination and file naming change 2024-07-03 09:02:11 +02:00
4 changed files with 52 additions and 43 deletions

66
base.py
View File

@@ -75,6 +75,7 @@ class BaseWindow(QMainWindow):
QThread.__init__(self) QThread.__init__(self)
self.parent = parent self.parent = parent
self.settings = self.parent.settings self.settings = self.parent.settings
self.folder_name = folder_name self.folder_name = folder_name
self.time_in_seconds = time_in_seconds self.time_in_seconds = time_in_seconds
self.reanalysis_time = reanalysis_time self.reanalysis_time = reanalysis_time
@@ -109,17 +110,28 @@ class BaseWindow(QMainWindow):
name = name_base + "_{0}".format( name = name_base + "_{0}".format(
idx) if idx > 0 else name_base idx) if idx > 0 else name_base
save_dest = (folder_name + date_str + '_' + name + save_dest = (folder_name + date_str + '_' + name +
'.png') '.png')
_dirname = os.path.dirname(save_dest)
#print("DIRECTORY NAME IS ", _dirname)
if not os.path.exists(save_dest): #print("exists?", os.path.exists(_dirname),
if all_fig_data[canvas][idx] is not None: #os.path.exists(save_dest))
_dirname = os.path.dirname(save_dest)
if not os.path.isfile(save_dest):
if all_fig_data[canvas][idx] is not None:
if not os.path.exists(_dirname):
os.makedirs(_dirname)
if os.access(_dirname, os.W_OK): if os.access(_dirname, os.W_OK):
all_fig_data[canvas][idx].savefig(save_dest) all_fig_data[canvas][idx].savefig(save_dest)
elif not write_message_fired: elif not write_message_fired:
_mess = ("Do not have write permission " + _mess = ("Do not have write permission " +
@@ -229,8 +241,8 @@ class BaseWindow(QMainWindow):
self.parent.from_hdf = from_hdf self.parent.from_hdf = from_hdf
print("t=========================>", ts_in_seconds, " // ", now_in_seconds) print("t", ts_in_seconds, now_in_seconds)
print("from hdf5=========================>", from_hdf) print("from hdf5, dialog=====>", from_hdf, self.from_dialog)
if self.parent.hdf_filename is None or not self.from_dialog: if self.parent.hdf_filename is None or not self.from_dialog:
self.parent.set_new_hdf_filename(ts_in_seconds, self.parent.set_new_hdf_filename(ts_in_seconds,
@@ -395,7 +407,6 @@ class BaseWindow(QMainWindow):
self.appversion = appversion if appversion else _appversion self.appversion = appversion if appversion else _appversion
self.source_file = None self.source_file = None
self.author = _author self.author = _author
self.appversion = _appversion
self.title = title self.title = title
self.facility = facility self.facility = facility
self.user_mode = user_mode self.user_mode = user_mode
@@ -427,6 +438,7 @@ class BaseWindow(QMainWindow):
self.filename = None self.filename = None
self.hdf_filename_loaded = "NONE" #For loading into hdf dockwidget self.hdf_filename_loaded = "NONE" #For loading into hdf dockwidget
self.hdf_filename = None #For saving self.hdf_filename = None #For saving
self.hdf_user_dict = {}
self.hdf_dialog = None self.hdf_dialog = None
self.from_hdf = False self.from_hdf = False
@@ -441,9 +453,13 @@ class BaseWindow(QMainWindow):
self.menu = self.menuBar() self.menu = self.menuBar()
self.elog_dest = self.settings.data["Elog"]["destination"] self.elog_dest = self.settings.data["Elog"]["destination"]
try:
self.elog_add_date_to_dir = self.settings.data["Elog"]["addDateToDir"]
except KeyError:
self.elog_add_date_to_dir = True
self.screenshot_dest = self.settings.data["screenshot"]["destination"] self.screenshot_dest = self.settings.data["screenshot"]["destination"]
self.stdlog_dest = (self.settings.data["stdlog"]["destination"] + self.stdlog_dest = (self.settings.data["stdlog"]["destination"] +
self.appname + "-" + os.getlogin() + ".log") self.appname + "-" + os.getlogin() + ".log")
@@ -1069,8 +1085,11 @@ class BaseWindow(QMainWindow):
_month = when.strftime("%m") _month = when.strftime("%m")
_day = when.strftime("%d") _day = when.strftime("%d")
return str(_year + "/" + _month + "/" + _day + "/" + self.appname + if self.elog_add_date_to_dir:
"_" + _date_label) return str(_year + "/" + _month + "/" + _day + "/" + self.appname +
"_" + _date_label)
else:
return str(self.appname + "_" + _date_label)
def verify_save_to_hdf(self): def verify_save_to_hdf(self):
@@ -1112,6 +1131,7 @@ class BaseWindow(QMainWindow):
QApplication.processEvents() QApplication.processEvents()
return False return False
return True return True
@@ -1203,11 +1223,16 @@ class BaseWindow(QMainWindow):
def add_general_to_hdf(self, dataH5): def add_general_to_hdf(self, dataH5):
isOK = True isOK = True
user_dict = {} user_dict = {}
user_dict['Comment'] = self.hdf_dialog.user_dict[ #user_dict['Comment'] is prefilled in get_data in savehdf.py
'Comment'] if self.hdf_dialog is not None else str( #user_dict['Comment'] = self.hdf_dialog.user_dict[
"HDF file generated via Save All button") # 'Comment'] if self.hdf_dialog is not None else str(
# "HDF file generated via Save All button")
#user_dict['Comment'] = self.hdf_dialog.comment.document().toPlainText()
if self.hdf_user_dict:
user_dict['Comment'] = self.hdf_user_dict['Comment']
else:
user_dict['Comment'] = "HDF file generated via Save All button"
user_dict['Author'] = self.author user_dict['Author'] = self.author
user_dict['Application'] = self.pymodule user_dict['Application'] = self.pymodule
user_dict['Version'] = self.appversion user_dict['Version'] = self.appversion
@@ -1251,7 +1276,7 @@ class BaseWindow(QMainWindow):
""" This uses the widget interface to allow the user to enter """ This uses the widget interface to allow the user to enter
additional meta-data additional meta-data
""" """
print("save_to_hdf_dialog==>", flush=True)
if not self.verify_save_to_hdf(): if not self.verify_save_to_hdf():
return False return False
@@ -1267,6 +1292,7 @@ class BaseWindow(QMainWindow):
'Reanalysis time in seconds'] 'Reanalysis time in seconds']
self.set_new_hdf_filename(ts_in_seconds, now_in_seconds) self.set_new_hdf_filename(ts_in_seconds, now_in_seconds)
input_options['Destination'] = self.hdf_filename input_options['Destination'] = self.hdf_filename
input_options['Time in seconds'] = self.all_data['Ambient data'][ input_options['Time in seconds'] = self.all_data['Ambient data'][
'Time in seconds'] 'Time in seconds']
@@ -1274,7 +1300,7 @@ class BaseWindow(QMainWindow):
self.hdf_dialog = QSaveHDF(self, input_options=input_options, self.hdf_dialog = QSaveHDF(self, input_options=input_options,
from_dialog=True) from_dialog=True)
def verify_send_to_elog(self): def verify_send_to_elog(self):
if self.analysis_thread is not None: if self.analysis_thread is not None:

View File

@@ -38,7 +38,6 @@ class QSaveHDF(QDialog):
self.user_dict = {} self.user_dict = {}
self.user_dict['Comment'] = None self.user_dict['Comment'] = None
#self.file_name = None #self.file_name = None
#self.excluded_input = ['Year', 'Month', 'Date'] #self.excluded_input = ['Year', 'Month', 'Date']
if 'Time in seconds' in input_options.keys(): if 'Time in seconds' in input_options.keys():
@@ -244,6 +243,7 @@ class QSaveHDF(QDialog):
def save(self): def save(self):
self.get_data() self.get_data()
self.parent.hdf_user_dict = self.user_dict
self.parent.hdf_filename = self.user_dict['Destination'] self.parent.hdf_filename = self.user_dict['Destination']
self.parent.save_to_hdf(from_dialog=self.from_dialog) self.parent.save_to_hdf(from_dialog=self.from_dialog)
self.close() self.close()

View File

@@ -9,22 +9,13 @@ from qtpy.QtWidgets import (QComboBox, QDialog, QFileDialog, QHBoxLayout,
QVBoxLayout) QVBoxLayout)
import elog # https://github.com/paulscherrerinstitute/py_elog import elog # https://github.com/paulscherrerinstitute/py_elog
from pyqtacc.bdbase.enumkind import MsgSeverity from apps4ops.bdbase.enumkind import MsgSeverity
from apps4ops.bdbase.utils import _line
_version = "1.0.0" _version = "1.0.0"
_pymodule = os.path.basename(__file__) _pymodule = os.path.basename(__file__)
_appname, _appext = _pymodule.split(".") _appname, _appext = _pymodule.split(".")
def _line():
"""Macro to return the current line number.
The current line number within the file is used when
reporting messages to the message logging window.
Returns:
int: Current line number.
"""
return inspect.currentframe().f_back.f_lineno
class QSendToELOG(QDialog): class QSendToELOG(QDialog):
""" Graphical interface to elog """ Graphical interface to elog

View File

@@ -9,22 +9,14 @@ from qtpy.QtWidgets import (
QLineEdit, QPushButton, QTextEdit, QVBoxLayout) QLineEdit, QPushButton, QTextEdit, QVBoxLayout)
import elog # https://github.com/paulscherrerinstitute/py_elog import elog # https://github.com/paulscherrerinstitute/py_elog
from pyqtacc.bdbase.enumkind import MsgSeverity
from apps4ops.bdbase.enumkind import MsgSeverity
from apps4ops.bdbase.utils import _line
_version = "1.0.0" _version = "1.0.0"
_pymodule = os.path.basename(__file__) _pymodule = os.path.basename(__file__)
_appname, _appext = _pymodule.split(".") _appname, _appext = _pymodule.split(".")
def _line():
"""Macro to return the current line number.
The current line number within the file is used when
reporting messages to the message logging window.
Returns:
int: Current line number.
"""
return inspect.currentframe().f_back.f_lineno
class QSendToELOGFrame(QDialog): class QSendToELOGFrame(QDialog):
""" Graphical interface to elog """ Graphical interface to elog