diff --git a/ffmap/web/filters.py b/ffmap/web/filters.py index 6e567c6..8e3af2f 100644 --- a/ffmap/web/filters.py +++ b/ffmap/web/filters.py @@ -256,3 +256,7 @@ def webui_addr(router_netifs): @filters.app_template_filter('format_airtime') def format_airtime(airtime): return "%.0f %%" % (airtime*100) + +@filters.app_template_filter('format_query') +def format_query(query): + return query.replace(" ","_").replace(".","\.").replace("(","\(").replace(")","\)") diff --git a/ffmap/web/helpers.py b/ffmap/web/helpers.py index 62ebc74..d52758c 100644 --- a/ffmap/web/helpers.py +++ b/ffmap/web/helpers.py @@ -32,6 +32,10 @@ allowed_filters = ( 'bat', 'batselected', 'network', + 'os', + 'batman', + 'kernel', + 'nodewatcher', ) def parse_router_list_search_query(args): @@ -123,6 +127,9 @@ def parse_router_list_search_query(args): k = no + " router.v2 = FALSE" else: continue + elif key in ('os','batman','kernel','nodewatcher',): + k = key + " {} REGEXP %s".format(no) + t.append(value.replace("_",".")) else: k = no + key + " = %s" t.append(value)