bugfix: corrected call to special method __getitem__

This commit is contained in:
Sebastian Wehling 2014-02-19 14:43:56 +01:00
parent 270e3b6d00
commit bddc2ab83e

View File

@ -67,7 +67,7 @@ class AutoPickParameter(object):
parFileCont = {} parFileCont = {}
self.__parameter = parFileCont self.__parameter = parFileCont
# Human-readable string representation of the object # Human-readable string representation of the object
def __str__(self): def __str__(self):
string = '' string = ''
string += 'Automated picking parameter:\n\n' string += 'Automated picking parameter:\n\n'
@ -78,49 +78,49 @@ class AutoPickParameter(object):
string += 'Empty parameter dictionary.' string += 'Empty parameter dictionary.'
return string return string
# String representation of the object # String representation of the object
def __repr__(self): def __repr__(self):
return "AutoPickParameter('%s')" % self.__filename return "AutoPickParameter('%s')" % self.__filename
# Boolean test # Boolean test
def __nonzero__(self): def __nonzero__(self):
return self.__parameter return self.__parameter
def __getitem__(self, key): def __getitem__(self, key):
return self.__parameter[key] return self.__parameter[key]
def __setitem__(self, key, value): def __setitem__(self, key, value):
self.__parameter[key] = value self.__parameter[key] = value
def __delitem__(self, key): def __delitem__(self, key):
del self.__parameter[key] del self.__parameter[key]
def __iter__(self): def __iter__(self):
return iter(self.__parameter) return iter(self.__parameter)
def __len__(self):
return len(self.__parameter.keys())
def getParam(self, *args): def __len__(self):
return len(self.__parameter.keys())
def getParam(self, *args):
try: try:
for param in args: for param in args:
try: try:
return self.__getitem__[param] return self.__getitem__(param)
except KeyError, e: except KeyError, e:
self._printParameterError(e) self._printParameterError(e)
except TypeError: except TypeError:
try: try:
return self.__getitem__[args] return self.__getitem__(args)
except KeyError, e: except KeyError, e:
self._printParameterError(e) self._printParameterError(e)
def setParam(self, **kwargs): def setParam(self, **kwargs):
for param, value in kwargs.iteritems(): for param, value in kwargs.iteritems():
try: try:
self.__setitem__[param] = value self.__setitem__(param, value)
except KeyError, e: except KeyError, e:
self._printParameterError(e) self._printParameterError(e)
print self print self
def _printParameterError(self, errmsg): def _printParameterError(self, errmsg):
print 'ParameterError:\n non-existent parameter %s' % errmsg print 'ParameterError:\n non-existent parameter %s' % errmsg