diff --git a/eos/gamedata.py b/eos/gamedata.py index 10317dab2..fca14263a 100644 --- a/eos/gamedata.py +++ b/eos/gamedata.py @@ -244,9 +244,12 @@ class Item(EqBase): return self.__attributes def getAttribute(self, key, default=None): - if key in self.attributes: - return self.attributes[key].value - else: + try: + if key in self.attributes: + return self.attributes[key].value + else: + return default + except AttributeError: return default def isType(self, type): diff --git a/eos/modifiedAttributeDict.py b/eos/modifiedAttributeDict.py index e558dc64d..417a459c2 100644 --- a/eos/modifiedAttributeDict.py +++ b/eos/modifiedAttributeDict.py @@ -26,17 +26,23 @@ cappingAttrKeyCache = {} class ItemAttrShortcut(object): def getModifiedItemAttr(self, key, default=None): - if key in self.itemModifiedAttributes: - return self.itemModifiedAttributes[key] - else: + try: + if key in self.itemModifiedAttributes: + return self.itemModifiedAttributes[key] + else: + return default + except AttributeError: return default class ChargeAttrShortcut(object): def getModifiedChargeAttr(self, key, default=None): - if key in self.chargeModifiedAttributes: - return self.chargeModifiedAttributes[key] - else: + try: + if key in self.chargeModifiedAttributes: + return self.chargeModifiedAttributes[key] + else: + return default + except AttributeError: return default