Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

rcParamVerifier.py

00001 #!/usr/local/bin/python
00002 #
00003 #                               Copyright 2003
00004 #                                     by
00005 #                        The Board of Trustees of the
00006 #                     Leland Stanford Junior University.
00007 #                            All rights reserved.
00008 #
00009 
00010 __facility__ = "Online"
00011 __abstract__ = "Parameter verifier class"
00012 __author__   = "S. Tuvi <STuvi@SLAC.Stanford.edu>"
00013 __date__     = ("$Date: 2005/01/10 19:51:55 $").split(' ')[1]
00014 __version__  = "$Revision: 2.3 $"
00015 __release__  = "$Name: R04-12-00 $"
00016 __credits__  = "SLAC"
00017 
00018 import LATTE.copyright_SLAC
00019 
00020 from rcParamVerifyGUIImpl import rcParamVerifyGUIImpl
00021 
00022 class rcParamVerifier(object):
00023   def __init__(self, common, parent = None, name = None, fl = 0):
00024     self.__verifyGUI = rcParamVerifyGUIImpl(common, parent, name, fl)
00025     self.__common = common
00026 
00027   def initialize(self, testName):
00028     self.__parNames = []
00029     self.__parValues = []
00030     self.__testName = testName
00031 
00032   def add(self, parName, parValue):
00033     """\brief Add parameter and its value to the verify list
00034 
00035     \param parName Parameter name or description
00036     \param parValue Parameter value that the operator inputted
00037     """
00038     if parName not in self.__parNames:
00039       self.__parNames.append(parName)
00040       self.__parValues.append(parValue)
00041     else:
00042       raise KeyError, "Parameter with name: %s already added." % parName
00043 
00044   def getParameters(self, parName=None):
00045     """\brief Retrive parameters to verify
00046 
00047     \param parName Parameter to retrieve from the verify list (optional)
00048 
00049     \return A list containing the parameter name and value tuple if \a parName is specified or
00050             A list of parameter name and value tuples if \a parName is None.
00051     """
00052     if parName is not None:
00053       if parName in self.__parNames:
00054         return [(parName, self.__parValues[self.__parNames.index(parName)])]
00055     else:
00056       return map(None, self.__parNames, self.__parValues)
00057 
00058   def verify(self):
00059     if len(self.getParameters()) > 0:
00060       self.__verifyGUI.initialize(self.__testName)
00061       for (parName, parValue) in self.getParameters():
00062         self.__verifyGUI.addParameter(parName, parValue)
00063       self.__verifyGUI.show()
00064       return self.__verifyGUI.exec_loop()
00065     else:
00066       return 1

Generated on Fri Jul 21 13:26:31 2006 for LATTE R04-12-00 by doxygen 1.4.3