1 |
commit: 18ea92d1aeffa20e0f333fb0d187017a98cbfd67 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Tue Aug 27 15:29:45 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Tue Aug 27 15:29:45 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=18ea92d1 |
7 |
|
8 |
dep rule parser: '#! ERROR' statement |
9 |
|
10 |
lets the dep parser raise an exception, which causes roverlay to exit. |
11 |
|
12 |
--- |
13 |
roverlay/depres/simpledeprule/rulemaker.py | 8 +++++++- |
14 |
1 file changed, 7 insertions(+), 1 deletion(-) |
15 |
|
16 |
diff --git a/roverlay/depres/simpledeprule/rulemaker.py b/roverlay/depres/simpledeprule/rulemaker.py |
17 |
index 1edbdb9..f58f96b 100644 |
18 |
--- a/roverlay/depres/simpledeprule/rulemaker.py |
19 |
+++ b/roverlay/depres/simpledeprule/rulemaker.py |
20 |
@@ -25,7 +25,8 @@ from roverlay.depres.simpledeprule.pool import SimpleDependencyRulePool |
21 |
|
22 |
class SimpleRuleMaker ( roverlay.util.mapreader.MapFileParser ): |
23 |
|
24 |
- breakparse = set (( '! NOPARSE', '! BREAK' )) |
25 |
+ breakparse = frozenset ({ '! NOPARSE', '! BREAK' }) |
26 |
+ kw_error = frozenset ({ '! ERROR', }) |
27 |
|
28 |
def __init__ ( self, rule_separator=None ): |
29 |
super ( SimpleRuleMaker, self ).__init__() |
30 |
@@ -181,6 +182,11 @@ class SimpleRuleMaker ( roverlay.util.mapreader.MapFileParser ): |
31 |
elif line in self.breakparse: |
32 |
self.stop_reading = True |
33 |
|
34 |
+ elif line in self.kw_error: |
35 |
+ self.stop_reading = True |
36 |
+ raise Exception ( "#! ERROR" ) |
37 |
+ return False |
38 |
+ |
39 |
# else is a "real" comment |
40 |
return True |
41 |
# --- end of handle_comment_line (...) --- |