Suitable libraries for implementing a "push"-type matching engine?
Andrew Warkentin
andreww591 at gmail.com
Fri Apr 11 05:23:08 EDT 2008
I am trying to write a matching engine for a matching language for a
filtering proxy compatible with that of The Proxomitron. The matching
language is basically an extended superset of shell-style globs, with
functionality comparable to regexps (see
http://www.proxomitron.info/45/help/Matching%20Rules.html). Can anyone
recommend any Python libraries that would be suitable for my purposes? I
think that I can implement a parser for the patterns themselves with
pyparsing, but I'm not sure if anything suitable for finding matches in
an input stream of text exists. I don't want to reinvent the wheel if I
don't have to.
A matching engine for a filtering proxy has to be able to handle partial
input and "hold" data until enough is received to determine whether
there is a match (or else the entire document would have to be held
until the end is reached, filtered, and then sent all at once to the
remote client, and that would make it appear much less responsive and
possibly break some applications). I also need to be able to associate
specific patterns (matching commands and certain backslash-escapes) with
functions that are called to determine if they match.
More information about the Python-list
mailing list