Source code for DCConfigParameters
####!/usr/bin/env python
#----------------------------
"""
:py:class:`DCConfigParameters` - class supporting configuration parameters for application
==========================================================================================
See:
* :py:class:`DCStore`
* :py:class:`DCType`
* :py:class:`DCRange`
* :py:class:`DCVersion`
* :py:class:`DCBase`
* :py:class:`DCInterface`
* :py:class:`DCUtils`
* :py:class:`DCDetectorId`
* :py:class:`DCConfigParameters`
* :py:class:`DCFileName`
* :py:class:`DCLogger`
* :py:class:`DCMethods`
* :py:class:`DCEmail`
This software was developed for the SIT project.
If you use all or part of it, please give an appropriate acknowledgment.
Created: 2016-05-17 by Mikhail Dubrovin
"""
#----------------------------
from PSCalib.DCLogger import log
from CalibManager.ConfigParameters import ConfigParameters
#----------------------------
[docs]class DCConfigParameters(ConfigParameters) :
"""A storage of configuration parameters for Detector Calibration Store (DCS) project.
"""
[docs] def __init__(self, fname=None) :
"""Constructor.
- fname the file name with configuration parameters, if not specified then default value.
"""
ConfigParameters.__init__(self)
self.name = self.__class__.__name__
self.fname_cp = 'confpars-dcs.txt' # Re-define default config file name
log.info('In %s c-tor', self.name)
self.declareParameters()
self.readParametersFromFile(fname)
#-----------------------------
def declareParameters(self) :
# Possible typs for declaration : 'str', 'int', 'long', 'float', 'bool'
# Logger.py
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='./log.txt', type='str' )
self.dir_repo = self.declareParameter(name='CDS_DIR_REPO', val_def='/reg/d/psdm/detector/calib', type='str' )
#self.dir_repo = self.declareParameter(name='CDS_DIR_REPO', val_def='/reg/g/psdm/detector/calib', type='str' )
#------------------------------
cp = DCConfigParameters()
#------------------------------
def test_DCConfigParameters() :
log.setPrintBits(0377)
cp.readParametersFromFile()
cp.printParameters()
cp.log_level.setValue('debug')
cp.saveParametersInFile()
#------------------------------
if __name__ == "__main__" :
import sys
test_DCConfigParameters()
sys.exit(0)
#------------------------------