* Eduardo Habkost <ehabkost@xxxxxxxxxx> [2011-02-09 10:22]: > On Wed, Feb 09, 2011 at 10:06:03AM -0600, Ryan Harper wrote: > > > > > > Instead of regular expressions in the filters, the following syntax is used: > > > > > > , means OR > > > .. means AND > > > . means IMMEDIATELY-FOLLOWED-BY > > > > Is there any reason we can't use | for or, and & for AND? I know this > > is just nit picking, but, it certainly reads easier and doesn't need a > > translation. AFAICT, in the implementation, we're just using .split(), > > so, I think the delimiters aren't critical. > > I think the main reason is that " " also means "OR" today (as we use > .split() and I guess we don't want to diverge too much from the previous > format), and having C-like operators that don't allow spaces would lead > to confusion. e.g. I am sure somebody would try to write > "foo & bar | baz" eventually--how would we interpret that? isn't the comma taking the place for " " as OR? Are you keeping both? ".." looks like a mistake to me where one meant to put "." I'd suggest ignoring " " as a OR operator, then as with most operations, you need either parens or order of operation precendence which one can use to interpret foo & bar | baz. > > > > > > > > > Example: > > > > > > only qcow2..Fedora.14, RHEL.6..raw..boot, smp2..qcow2..migrate..ide > > > > > > means select all dicts whose names have: > > > > > > (qcow2 AND (Fedora IMMEDIATELY-FOLLOWED-BY 14)) OR > > > ((RHEL IMMEDIATELY-FOLLOWED-BY 6) AND raw AND boot) OR > > > (smp2 AND qcow2 AND migrate AND ide) > > > > >>> config = "qcow2&Fedora.14|RHEL.6&raw&boot|smp2&qcow2&migrate&ide" > > >>> config > > 'qcow2&Fedora.14|RHEL.6&raw&boot|smp2&qcow2&migrate&ide' > > >>> config.split("|") > > ['qcow2&Fedora.14', 'RHEL.6&raw&boot', 'smp2&qcow2&migrate&ide'] > > What bothers me about the examples above is the absense of spaces, that > makes it not very readable to my eyes. I don't disagree, but the . and .. I don't find very readable either and I need a look-up table to distinguish , from .. and . and " ". The logical operators are well known and recognized. > > -- > Eduardo -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx ryanh@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html