diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-09 02:33:53 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-09 02:33:53 +0200 |
commit | 397f56881ba04a6bcec32bd45616b4382834dab3 (patch) | |
tree | e09d545ecf8e7066446045d531124af1647d616a | |
parent | 42af6fc151d0bff8ad07e10ed7f11f2151744d0c (diff) | |
download | psutil-397f56881ba04a6bcec32bd45616b4382834dab3.tar.gz |
refactoring
-rw-r--r-- | psutil/_common.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/psutil/_common.py b/psutil/_common.py index 350ffe79..14b564a0 100644 --- a/psutil/_common.py +++ b/psutil/_common.py @@ -474,7 +474,7 @@ class _WrapNumbers: def __init__(self): self.lock = threading.Lock() self.cache = {} - self.reminders = defaultdict(int) + self.reminders = {} self.rmap = defaultdict(list) def _remove_dead_reminders(self, input_dict, name): @@ -485,13 +485,14 @@ class _WrapNumbers: gone_keys = set(old_dict.keys()) - set(input_dict.keys()) for gone_key in gone_keys: for remkey in self.rmap[name + "-" + gone_key]: - del self.reminders[remkey] + del self.reminders[name][remkey] del self.rmap[name + "-" + gone_key] def run(self, input_dict, name): if name not in self.cache: # This was the first call. self.cache[name] = input_dict + self.reminders[name] = defaultdict(int) return input_dict self._remove_dead_reminders(input_dict, name) @@ -513,8 +514,8 @@ class _WrapNumbers: old_value = old_nt[i] remkey = (name, key, i) if input_value < old_value: - self.reminders[remkey] += old_value - bits.append(input_value + self.reminders[remkey]) + self.reminders[name][remkey] += old_value + bits.append(input_value + self.reminders[name][remkey]) self.rmap[name + "-" + key].append(remkey) new_dict[key] = input_nt._make(bits) @@ -530,15 +531,14 @@ class _WrapNumbers: self.rmap.clear() else: self.cache.pop(name) + self.reminders[name].clear() self.rmap.pop(name) -_wn = _WrapNumbers() - - def wrap_numbers(input_dict, name): with _wn.lock: return _wn.run(input_dict, name) +_wn = _WrapNumbers() wrap_numbers.cache_clear = _wn.cache_clear |