From b72304203c1a5dce1eeab64966368852a5941a44 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Mon, 13 Mar 2017 10:56:33 -0700 Subject: [PATCH] Add default option to getOriginal. This eliminates some double lookups and simplifies the code. --- eos/modifiedAttributeDict.py | 7 +++++-- gui/itemStats.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/eos/modifiedAttributeDict.py b/eos/modifiedAttributeDict.py index ab2ab21bc..a9b284fb2 100644 --- a/eos/modifiedAttributeDict.py +++ b/eos/modifiedAttributeDict.py @@ -128,7 +128,7 @@ class ModifiedAttributeDict(collections.MutableMapping): if key in self.__intermediary: del self.__intermediary[key] - def getOriginal(self, key): + def getOriginal(self, key, default=None): if self.overrides: val = self.overrides.get(key, None) @@ -139,6 +139,9 @@ class ModifiedAttributeDict(collections.MutableMapping): if self.original: val = self.original.get(key, None) + if val is None and val != default: + val = default + return val.value if hasattr(val, "value") else val def __setitem__(self, key, val): @@ -216,7 +219,7 @@ class ModifiedAttributeDict(collections.MutableMapping): val = self.__intermediary.get(key, self.__preAssigns.get(key, - self.getOriginal(key) if key in self.original else default + self.getOriginal(key, default) ) ) diff --git a/gui/itemStats.py b/gui/itemStats.py index 325793e86..3ac94ce0c 100644 --- a/gui/itemStats.py +++ b/gui/itemStats.py @@ -1043,7 +1043,7 @@ class ItemAffectedBy(wx.Panel): container = {} for attrName in attributes.iterAfflictions(): # if value is 0 or there has been no change from original to modified, return - if attributes[attrName] == (attributes.getOriginal(attrName) or 0): + if attributes[attrName] == (attributes.getOriginal(attrName, 0)): continue for fit, afflictors in attributes.getAfflictions(attrName).iteritems(): @@ -1170,7 +1170,7 @@ class ItemAffectedBy(wx.Panel): container = {} for attrName in attributes.iterAfflictions(): # if value is 0 or there has been no change from original to modified, return - if attributes[attrName] == (attributes.getOriginal(attrName) or 0): + if attributes[attrName] == (attributes.getOriginal(attrName, 0)): continue for fit, afflictors in attributes.getAfflictions(attrName).iteritems():