Creates the grammar to be used by a spec matcher.
The grammar created supports the following operations.
= :
equal to or greater than. This is equivalent to >=
and is
supported for legacy reasons
!= :
Float/integer value not equal
<= :
Float/integer value less than or equal
< :
Float/integer value less than
== :
Float/integer value equal
>= :
Float/integer value greater than or equal
> :
Float/integer value greater
s!= :
Not equal
s< :
Less than
s<= :
Less than or equal
s== :
Equal
s> :
Greater than
s>= :
Greater than or equal
<all-in> :
All items ‘in’ value
<in> :
Item ‘in’ value, like a substring in a string.
<or> :
Logical ‘or’
If no operator is specified the default is s==
(string equality comparison)
">= 60"
Is the numerical value greater than or equal to 60
"<or> spam <or> eggs"
Does the value contain spam
or eggs
"s== 2.1.0"
Is the string value equal to 2.1.0
"<in> gcc"
Is the string gcc
contained in the value string
"<all-in> aes mmx"
Are both aes
and mmx
in the value
A pyparsing.MatchFirst object. See https://pythonhosted.org/pyparsing/ for details on pyparsing.
Match a given value to a given spec DSL.
This uses the grammar defined by make_grammar()
cmp_value – Value to be checked for match.
spec – The comparison specification string, for example ">= 70"
or "s== string_value"
. See make_grammar()
for examples
of a specification string.
True if cmp_value is a match for spec. False otherwise.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.