From 2e8cfd62fcbab112a5aa53b85c9e1db732df650c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 23 Feb 2009 20:52:10 +0000 Subject: In LazyItemsDict, avoid storing empty lists and dicts when no positional or keyword arguments are given. svn path=/main/trunk/; revision=12700 --- pym/portage/util.py | 8 ++++++++ 1 file changed, 8 insertions(+) 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) -- cgit v1.2.3-1-g7c22