diff options
author | sienkiew <sienkiew@d34015c8-bcbb-4646-8ac8-8ba5febf221d> | 2012-10-11 12:39:02 -0400 |
---|---|---|
committer | sienkiew <sienkiew@d34015c8-bcbb-4646-8ac8-8ba5febf221d> | 2012-10-11 12:39:02 -0400 |
commit | 864374ca26c54d4b1df6a9e4b99e5cf0b0f0ba12 (patch) | |
tree | 024dba7e92923475471d5f08d58f898855dde890 | |
parent | cc232176da977a847a0df8b59060124024345dbf (diff) | |
download | steuermann-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.exy | 8 |
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: |