From ac6ee1217d2309cbc2ab4af893f57fc5b76eaeb2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 6 Aug 2010 17:25:41 -0700 Subject: [PATCH] Bug #331429 - Fix breakage in package.properties and package.license handling due to behavior of ExtendedAtomDict.get(). We need to use setdefault() when updating ExtendedAtomDict like this. --- pym/portage/package/ebuild/config.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index ba3e91c97..ff9894d8e 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -868,12 +868,8 @@ class config(object): else: self.configdict["conf"]["ACCEPT_LICENSE"] = " ".join(v) for k, v in licdict.items(): - cp = k.cp - cp_dict = self._plicensedict.get(cp) - if not cp_dict: - cp_dict = {} - self._plicensedict[cp] = cp_dict - cp_dict[k] = self.expandLicenseTokens(v) + self._plicensedict.setdefault(k.cp, {})[k] = \ + self.expandLicenseTokens(v) #package.properties propdict = grabdict_package(os.path.join( @@ -885,12 +881,7 @@ class config(object): else: self.configdict["conf"]["ACCEPT_PROPERTIES"] = " ".join(v) for k, v in propdict.items(): - cp = k.cp - cp_dict = self._ppropertiesdict.get(cp) - if not cp_dict: - cp_dict = {} - self._ppropertiesdict[cp] = cp_dict - cp_dict[k] = v + self._ppropertiesdict.setdefault(k.cp, {})[k] = v self._local_repo_configs = {} self._local_repo_conf_path = \ -- 2.26.2