Source code for IVConfigParameters

#!@PYTHON@
#------------------------------
"""
Class :py:class:`IVConfigParameters` supports configuration parameters for application
======================================================================================

This software was developed for the SIT project.
If you use all or part of it, please give an appropriate acknowledgment.

Usage ::

    from expmon.Logger import log

    log.setPrintBits(0377)
    cp.readParametersFromFile()
    cp.printParameters()
    cp.log_level.setValue('debug')
    cp.saveParametersInFile()

See:
    - :class:`IVMain`
    - :class:`IVMainTabs`
    - :class:`IVMainButtons`
    - :class:`IVImageCursorInfo`
    - :class:`IVConfigParameters`
    - :class:`IVTabDataControl`
    - :class:`IVTabFileName`
    - `graphqt documentation <https://lcls-psana.github.io/graphqt/py-modindex.html>`_.

Created on 2016-11-22 by Mikhail Dubrovin
"""
#------------------------------

# import os
#from graphqt.Logger import log
from expmon.PSConfigParameters import PSConfigParameters
from expmon.PSNameManager import nm # It is here for initialization

#------------------------------

[docs]class IVConfigParameters(PSConfigParameters) : """A storage of configuration parameters for Image Vievier (iv) """ _name = 'IVConfigParameters'
[docs] def __init__(self, fname=None) : """fname : str - the file name with configuration parameters, if not specified then use default. """ #log.setPrintBits(0377) #log.debug('In c-tor', self._name) print 'In %s c-tor' % self._name PSConfigParameters.__init__(self) #self.fname_cp = '%s/%s' % (os.path.expanduser('~'), '.confpars-montool.txt') # Default config file name self.fname_cp = './iv-confpars.txt' # Default config file name self.declareParameters() self.readParametersFromFile() #self.printParameters() self.ivmain = None self.list_of_sources = None # if None - updated in the ThreadWorker nm.set_config_pars(self)
#------------------------------ def declareParameters(self) : # Possible typs for declaration : 'str', 'int', 'long', 'float', 'bool' self.log_level = self.declareParameter(name='LOG_LEVEL_OF_MSGS', val_def='info', type='str') #self.log_file = self.declareParameter(name='LOG_FILE_NAME', val_def='/reg/g/psdm/logs/montool/log.txt', type='str') self.log_file = self.declareParameter(name='LOG_FILE_NAME', val_def='iv-log.txt', type='str') self.save_log_at_exit = self.declareParameter( name='SAVE_LOG_AT_EXIT', val_def=True, type='bool') #self.dir_log_cpo = self.declareParameter( name='DIR_FOR_LOG_FILE_CPO', val_def='/reg/g/psdm/logs/calibman', type='str') self.main_win_pos_x = self.declareParameter(name='MAIN_WIN_POS_X', val_def=5, type='int') self.main_win_pos_y = self.declareParameter(name='MAIN_WIN_POS_Y', val_def=5, type='int') self.main_win_width = self.declareParameter(name='MAIN_WIN_WIDTH', val_def=1200, type='int') self.main_win_height = self.declareParameter(name='MAIN_WIN_HEIGHT', val_def=700, type='int') self.color_table_ind = self.declareParameter(name='COLOR_TABLE_IND', val_def=1, type='int') self.current_tab = self.declareParameter(name='MAIN_CURRENT_TAB', val_def='Status', type='str') self.fname_img = self.declareParameter(name='FNAME_IMAGE', val_def='', type='str') # '/reg/d/
#------------------------------ cp = IVConfigParameters() #------------------------------ def test_IVConfigParameters() : from expmon.Logger import log log.setPrintBits(0377) cp.readParametersFromFile() cp.printParameters() cp.log_level.setValue('debug') cp.saveParametersInFile() #------------------------------ if __name__ == "__main__" : import sys test_IVConfigParameters() sys.exit(0) #------------------------------