1 |
commit: 13c5623a12b5f85e68272a719e981462650111c1 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Wed Aug 28 09:35:51 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Wed Aug 28 09:35:51 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=13c5623a |
7 |
|
8 |
roverlay/depres/channels: add_dependencies_filtered() |
9 |
|
10 |
Like add_dependencies(), but accepts two additional args, a common and a |
11 |
specific dep string blacklist. A dep str won't be added if it appears in any of |
12 |
these blacklists. |
13 |
|
14 |
--- |
15 |
roverlay/depres/channels.py | 27 +++++++++++++++++++++++++++ |
16 |
1 file changed, 27 insertions(+) |
17 |
|
18 |
diff --git a/roverlay/depres/channels.py b/roverlay/depres/channels.py |
19 |
index d3ba725..ed51df4 100644 |
20 |
--- a/roverlay/depres/channels.py |
21 |
+++ b/roverlay/depres/channels.py |
22 |
@@ -136,6 +136,33 @@ class _EbuildJobChannelBase ( DependencyResolverChannel ): |
23 |
self.add_dependency ( dep_str=dep_str, deptype_mask=deptype_mask ) |
24 |
# --- end of add_dependencies (...) --- |
25 |
|
26 |
+ def add_dependencies_filtered ( |
27 |
+ self, dep_list, deptype_mask, common_blacklist, specific_blacklist |
28 |
+ ): |
29 |
+ if common_blacklist: |
30 |
+ if specific_blacklist: |
31 |
+ for dep_str in dep_list: |
32 |
+ if ( |
33 |
+ dep_str not in common_blacklist and |
34 |
+ dep_str not in specific_blacklist |
35 |
+ ): |
36 |
+ self.add_dependency ( dep_str, deptype_mask ) |
37 |
+ |
38 |
+ else: |
39 |
+ for dep_str in dep_list: |
40 |
+ if dep_str not in common_blacklist: |
41 |
+ self.add_dependency ( dep_str, deptype_mask ) |
42 |
+ |
43 |
+ elif specific_blacklist: |
44 |
+ for dep_str in dep_list: |
45 |
+ if dep_str not in specific_blacklist: |
46 |
+ self.add_dependency ( dep_str, deptype_mask ) |
47 |
+ else: |
48 |
+ for dep_str in dep_list: |
49 |
+ self.add_dependency ( dep_str, deptype_mask ) |
50 |
+ # --- end of add_dependencies_filtered (...) --- |
51 |
+ |
52 |
+ |
53 |
def collect_dependencies ( self ): |
54 |
"""Returns a list that contains all resolved deps, |
55 |
including ignored deps that resolve to None. |