commit a274a2d22b5ea1244ba5e08a4d3bc1c2ae670138
parent b1f6afc9b5dd0b00f45d4b7f42cbfd442aafcfc2
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date: Wed, 9 Oct 2013 17:08:56 +0200
WIP aat filters
Diffstat:
1 file changed, 26 insertions(+), 0 deletions(-)
diff --git a/bin/aat.awk b/bin/aat.awk
@@ -252,6 +252,32 @@ function aat_process(str) {
}
}
# TODO filters
+ while(str) {
+ if(!match(str, /^\|[a-zA-Z_][a-zA-Z0-9_.]*/)) {
+ print "ERROR: invalid filter: " str >"/dev/stderr"
+ exit 1
+ }
+ filter_name = substr(str, 2, RLENGTH-1)
+ str = substr(str, RLENGTH+1)
+ if(str == "") {
+ args = ""
+ } else if(match(str, /^</)) {
+ expand_remaining = substr(str, 2)
+ args = ", " expand_query()
+ str = expand_remaining
+ while(match(str, /^,</)) {
+ expand_remaining = substr(str, 3)
+ args = args ", " expand_query()
+ str = expand_remaining
+ }
+ if(match(str, /^[^|]+/)) {
+ args = args substr(str, 1, RLENGTH)
+ str = substr(str, RLENGTH+1)
+ }
+ # TODO
+ }
+ processed = filter_name "(" processed args ")"
+ }
return processed
}