Fix bug in deleting capitalized attributes. Resolves #1776.
This commit is contained in:
parent
95604616a3
commit
c5a73174ab
1 changed files with 12 additions and 2 deletions
|
|
@ -383,7 +383,9 @@ class AttributeHandler(object):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
ret = []
|
ret = []
|
||||||
|
category = category.strip().lower() if category is not None else None
|
||||||
for keystr in make_iter(key):
|
for keystr in make_iter(key):
|
||||||
|
keystr = key.strip().lower()
|
||||||
ret.extend(bool(attr) for attr in self._getcache(keystr, category))
|
ret.extend(bool(attr) for attr in self._getcache(keystr, category))
|
||||||
return ret[0] if len(ret) == 1 else ret
|
return ret[0] if len(ret) == 1 else ret
|
||||||
|
|
||||||
|
|
@ -605,7 +607,8 @@ class AttributeHandler(object):
|
||||||
Remove attribute or a list of attributes from object.
|
Remove attribute or a list of attributes from object.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
key (str): An Attribute key to remove.
|
key (str or list): An Attribute key to remove or a list of keys. If
|
||||||
|
multiple keys, they must all be of the same `category`.
|
||||||
raise_exception (bool, optional): If set, not finding the
|
raise_exception (bool, optional): If set, not finding the
|
||||||
Attribute to delete will raise an exception instead of
|
Attribute to delete will raise an exception instead of
|
||||||
just quietly failing.
|
just quietly failing.
|
||||||
|
|
@ -623,7 +626,11 @@ class AttributeHandler(object):
|
||||||
was found matching `key`.
|
was found matching `key`.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
category = category.strip().lower() if category is not None else None
|
||||||
|
|
||||||
for keystr in make_iter(key):
|
for keystr in make_iter(key):
|
||||||
|
keystr = keystr.lower()
|
||||||
|
|
||||||
attr_objs = self._getcache(keystr, category)
|
attr_objs = self._getcache(keystr, category)
|
||||||
for attr_obj in attr_objs:
|
for attr_obj in attr_objs:
|
||||||
if not (
|
if not (
|
||||||
|
|
@ -634,10 +641,11 @@ class AttributeHandler(object):
|
||||||
try:
|
try:
|
||||||
attr_obj.delete()
|
attr_obj.delete()
|
||||||
except AssertionError:
|
except AssertionError:
|
||||||
|
print("Assertionerror for attr.delete()")
|
||||||
# this happens if the attr was already deleted
|
# this happens if the attr was already deleted
|
||||||
pass
|
pass
|
||||||
finally:
|
finally:
|
||||||
self._delcache(key, category)
|
self._delcache(keystr, category)
|
||||||
if not attr_objs and raise_exception:
|
if not attr_objs and raise_exception:
|
||||||
raise AttributeError
|
raise AttributeError
|
||||||
|
|
||||||
|
|
@ -655,6 +663,8 @@ class AttributeHandler(object):
|
||||||
type `attredit` on the Attribute in question.
|
type `attredit` on the Attribute in question.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
category = category.strip().lower() if category is not None else None
|
||||||
|
|
||||||
if not self._cache_complete:
|
if not self._cache_complete:
|
||||||
self._fullcache()
|
self._fullcache()
|
||||||
if accessing_obj:
|
if accessing_obj:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue