diff options
author | André Erdmann <dywi@mailerd.de> | 2012-08-13 20:01:14 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2012-08-13 20:01:14 +0200 |
commit | aaddf097909078f6af1ca68ed53f1fe40c67bec0 (patch) | |
tree | 330fef6865cc79372dd2b688d0fb37530772721a /roverlay/packageinfo.py | |
parent | usage doc: depres console and config options (diff) | |
download | R_overlay-aaddf097909078f6af1ca68ed53f1fe40c67bec0.tar.gz R_overlay-aaddf097909078f6af1ca68ed53f1fe40c67bec0.tar.bz2 R_overlay-aaddf097909078f6af1ca68ed53f1fe40c67bec0.zip |
PackageInfo, update: filter keys with value = None
Added a set simple_keys_filter_none that matches keys
that will be only be added if their value is not None.
This is required to fix an issue caused by the remote module's
package_nofail functions that unconditionally forward keywords
like src_uri_base.
Diffstat (limited to 'roverlay/packageinfo.py')
-rw-r--r-- | roverlay/packageinfo.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py index 22e87f5..244dbb7 100644 --- a/roverlay/packageinfo.py +++ b/roverlay/packageinfo.py @@ -314,10 +314,14 @@ class PackageInfo ( object ): 'ebuild', 'ebuild_file', 'physical_only', - 'src_uri_base', 'src_uri', )) + simple_keys_filter_none = frozenset (( + 'src_uri_base', + 'distdir', + )) + self._writelock_acquire() for key, value in info.items(): @@ -325,13 +329,13 @@ class PackageInfo ( object ): if key in simple_keys: self [key] = value + elif key in simple_keys_filter_none: + if value is not None: + self [key] = value + elif key == 'filename': self._use_filename ( value ) - elif key == 'distdir': - if value is not None: - self ['distdir'] = value - elif key == 'pvr': self._use_pvr ( value ) |