diff options
author | André Erdmann <dywi@mailerd.de> | 2013-08-28 11:35:51 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2013-08-28 11:35:51 +0200 |
commit | 13c5623a12b5f85e68272a719e981462650111c1 (patch) | |
tree | 6e9aa7531121ca040b998fd7bb361a03870f78c1 /roverlay/depres | |
parent | package rule parser, depstr_ignore: minor changes (diff) | |
download | R_overlay-13c5623a12b5f85e68272a719e981462650111c1.tar.gz R_overlay-13c5623a12b5f85e68272a719e981462650111c1.tar.bz2 R_overlay-13c5623a12b5f85e68272a719e981462650111c1.zip |
roverlay/depres/channels: add_dependencies_filtered()
Like add_dependencies(), but accepts two additional args, a common and a
specific dep string blacklist. A dep str won't be added if it appears in any of
these blacklists.
Diffstat (limited to 'roverlay/depres')
-rw-r--r-- | roverlay/depres/channels.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/roverlay/depres/channels.py b/roverlay/depres/channels.py index d3ba725..ed51df4 100644 --- a/roverlay/depres/channels.py +++ b/roverlay/depres/channels.py @@ -136,6 +136,33 @@ class _EbuildJobChannelBase ( DependencyResolverChannel ): self.add_dependency ( dep_str=dep_str, deptype_mask=deptype_mask ) # --- end of add_dependencies (...) --- + def add_dependencies_filtered ( + self, dep_list, deptype_mask, common_blacklist, specific_blacklist + ): + if common_blacklist: + if specific_blacklist: + for dep_str in dep_list: + if ( + dep_str not in common_blacklist and + dep_str not in specific_blacklist + ): + self.add_dependency ( dep_str, deptype_mask ) + + else: + for dep_str in dep_list: + if dep_str not in common_blacklist: + self.add_dependency ( dep_str, deptype_mask ) + + elif specific_blacklist: + for dep_str in dep_list: + if dep_str not in specific_blacklist: + self.add_dependency ( dep_str, deptype_mask ) + else: + for dep_str in dep_list: + self.add_dependency ( dep_str, deptype_mask ) + # --- end of add_dependencies_filtered (...) --- + + def collect_dependencies ( self ): """Returns a list that contains all resolved deps, including ignored deps that resolve to None. |