aboutsummaryrefslogtreecommitdiff
path: root/operationscore/SmootCoreObject.py
blob: 84319af2ce4a7588b139ea6394a8cf7941514068 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import Util
import pdb
class SmootCoreObject:
    def __init__(self, argDict):
        self.argDict = argDict
        self.validateArgs(self.className()+'.params') 
        self.init() #call init of inheriting class
    #    self.__setitem__ = self.argDict.__setitem__
    #    self.__getitem__ = self.argDict.__getitem__
    def init(self):
        pass
    def className(self):
        return str(self.__class__).split('.')[-1]
    def __setitem__(self,k, item):
        self.argDict[k] = item
    def __getitem__(self, item):
        if item in self.argDict:
            return self.argDict[item]
        else:
            return None
    def __getiter__(self):
        return self.argDict.__getiter__()
    def validateArgs(self, argFileName):
        try:
            self.validateArgDict(Util.loadParamRequirementDict(argFileName))
        except IOError:
            print 'No Arg Dict found for ' + self.className()
    def validateArgDict(self, validationDict):
        for item in validationDict:
            if not item in self.argDict:
                raise Exception(validationDict[item])