aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsienkiew <sienkiew@d34015c8-bcbb-4646-8ac8-8ba5febf221d>2012-10-11 12:39:02 -0400
committersienkiew <sienkiew@d34015c8-bcbb-4646-8ac8-8ba5febf221d>2012-10-11 12:39:02 -0400
commit864374ca26c54d4b1df6a9e4b99e5cf0b0f0ba12 (patch)
tree024dba7e92923475471d5f08d58f898855dde890
parentcc232176da977a847a0df8b59060124024345dbf (diff)
downloadsteuermann-864374ca26c54d4b1df6a9e4b99e5cf0b0f0ba12.tar.gz
add IFNOT command
git-svn-id: https://svn.stsci.edu/svn/ssb/etal/steuermann/trunk@811 d34015c8-bcbb-4646-8ac8-8ba5febf221d
-rw-r--r--steuermann/specfile.exy8
1 files changed, 6 insertions, 2 deletions
diff --git a/steuermann/specfile.exy b/steuermann/specfile.exy
index f848072..de37aac 100644
--- a/steuermann/specfile.exy
+++ b/steuermann/specfile.exy
@@ -12,6 +12,7 @@ parser specfile:
token END: "$"
token HOSTGROUP: "HOSTGROUP"
token IF: "IF"
+ token IFNOT: "IFNOT"
token TABLE: "TABLE"
token HOST : "HOST"
token CMD: "CMD"
@@ -57,7 +58,9 @@ parser specfile:
rule hostgroup_front<<hg>> :
IF name
- {{ return nodes.check_condition(name, self._scanner.filename ) }}
+ {{ return nodes.check_condition(name, self._scanner.filename ) }}
+ | IFNOT name
+ {{ return not nodes.check_condition(name, self._scanner.filename ) }}
| {{ return True }}
rule hostgroup_back<<hg,accept_nodes>> :
@@ -67,7 +70,8 @@ parser specfile:
)*
rule command_cond<<table_name,hostlist>> :
- IF name COLON command {{ if nodes.check_condition(name, self._scanner.filename ) : self.data.add_command_list( table_name, hostlist, [ command ] ) }}
+ IF name COLON command {{ if nodes.check_condition(name, self._scanner.filename ) : self.data.add_command_list( table_name, hostlist, [ command ] ) }}
+ IFNOT name COLON command {{ if not nodes.check_condition(name, self._scanner.filename ) : self.data.add_command_list( table_name, hostlist, [ command ] ) }}
| command {{ self.data.add_command_list( table_name, hostlist, [ command ] ) }}
rule command: