from mymontools.tools import build_q_for_fields_and_querydict from .models import Snmptt ############################################################################## def build_q_for_trap_filter(params): fields = ( 'hostname', 'eventid', 'category', 'severity', 'trapread', ) return build_q_for_fields_and_querydict(fields, params) def build_q_for_trap_exclude(params): fields = ( 'exclude_hostname', 'exclude_eventid', 'exclude_category', 'exclude_severity', 'exclude_trapread', ) return build_q_for_fields_and_querydict(fields, params) def nagtrap_get_filtered_traps_for_querydict(params, sortorder='-id'): traps = Snmptt.objects.order_by(sortorder) return traps.filter( build_q_for_trap_filter(params) ).exclude( build_q_for_trap_exclude(params) )