summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-02-23 20:52:10 +0000
committerZac Medico <zmedico@gentoo.org>2009-02-23 20:52:10 +0000
commit2e8cfd62fcbab112a5aa53b85c9e1db732df650c (patch)
tree01f11e55d4b729ee807b7b7cbf550b4ae5680b4c
parent1aa2e196a062034ae82936859d0d6d21663a33d3 (diff)
downloadportage-2e8cfd62fcbab112a5aa53b85c9e1db732df650c.tar.gz
portage-2e8cfd62fcbab112a5aa53b85c9e1db732df650c.tar.bz2
portage-2e8cfd62fcbab112a5aa53b85c9e1db732df650c.zip
In LazyItemsDict, avoid storing empty lists and dicts when no positional or
keyword arguments are given. svn path=/main/trunk/; revision=12700
-rw-r--r--pym/portage/util.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/portage/util.py b/pym/portage/util.py
index a8dbf6c27..2cb14b34d 100644
--- a/pym/portage/util.py
+++ b/pym/portage/util.py
@@ -1072,6 +1072,10 @@ class LazyItemsDict(dict):
def addLazyItem(self, item_key, value_callable, *pargs, **kwargs):
"""Add a lazy item for the given key. When the item is requested,
value_callable will be called with *pargs and **kwargs arguments."""
+ if not pargs:
+ pargs = None
+ if not kwargs:
+ kwargs = None
self.lazy_items[item_key] = (value_callable, pargs, kwargs)
# make it show up in self.keys(), etc...
dict.__setitem__(self, item_key, None)
@@ -1094,6 +1098,10 @@ class LazyItemsDict(dict):
def __getitem__(self, item_key):
if item_key in self.lazy_items:
value_callable, pargs, kwargs = self.lazy_items[item_key]
+ if pargs is None:
+ pargs = ()
+ if kwargs is None:
+ kwargs = {}
return value_callable(*pargs, **kwargs)
else:
return dict.__getitem__(self, item_key)