diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-02-23 20:52:10 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-02-23 20:52:10 +0000 |
commit | 2e8cfd62fcbab112a5aa53b85c9e1db732df650c (patch) | |
tree | 01f11e55d4b729ee807b7b7cbf550b4ae5680b4c | |
parent | 1aa2e196a062034ae82936859d0d6d21663a33d3 (diff) | |
download | portage-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.py | 8 |
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) |