X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/8d52115e230ebf5dd657f60021e27362ca8ed99e..5d2a72486a8ef72659df813e1c0feed41da3a667:/pymin/services/util.py diff --git a/pymin/services/util.py b/pymin/services/util.py index acb9539..32a82cf 100644 --- a/pymin/services/util.py +++ b/pymin/services/util.py @@ -101,7 +101,7 @@ class ItemAlreadyExistsError(ItemError): def __init__(self, key): r"Initialize the object. See class documentation for more info." - self.message = u'Item already exists: "%s"' % key + self.message = u'Item already exists: %s' % key class ItemNotFoundError(ItemError): r""" @@ -850,7 +850,9 @@ class ContainerSubHandler(SubHandler): # do we have the same item? then raise an error if key in self._vattr(): log.debug(u'ContainerSubHandler.add: allready exists') - raise ItemAlreadyExistsError(item) + if not isinstance(self._attr(), dict): + key = self._attr().index(item) + raise ItemAlreadyExistsError(key) # do we have the same item, but logically deleted? then update flags if key in self._attr(): log.debug(u'ContainerSubHandler.add: was deleted, undeleting it') @@ -916,7 +918,7 @@ class ContainerSubHandler(SubHandler): log.debug(u'ContainerSubHandler.clear()') # FIXME broken really, no _delete attribute is setted :S if isinstance(self._attr(), dict): - self._attr.clear() + self._attr().clear() else: self._attr(list()) @@ -1049,7 +1051,9 @@ class ComposedSubHandler(SubHandler): # do we have the same item? then raise an error if key in self._vattr(cont): log.debug(u'ComposedSubHandler.add: allready exists') - raise ItemAlreadyExistsError(item) + if not isinstance(self._attr(), dict): + key = self._attr().index(item) + raise ItemAlreadyExistsError(key) # do we have the same item, but logically deleted? then update flags if key in self._attr(cont): log.debug(u'ComposedSubHandler.add: was deleted, undeleting it')