tools.py 792 B

12345678910111213141516171819202122232425262728293031323334
  1. from mymontools.tools import build_q_for_fields_and_querydict
  2. from .models import Snmptt
  3. ##############################################################################
  4. def build_q_for_trap_filter(params):
  5. fields = (
  6. 'hostname',
  7. 'eventid',
  8. 'category',
  9. 'severity',
  10. 'trapread',
  11. )
  12. return build_q_for_fields_and_querydict(fields, params)
  13. def build_q_for_trap_exclude(params):
  14. fields = (
  15. 'exclude_hostname',
  16. 'exclude_eventid',
  17. 'exclude_category',
  18. 'exclude_severity',
  19. 'exclude_trapread',
  20. )
  21. return build_q_for_fields_and_querydict(fields, params)
  22. def nagtrap_get_filtered_traps_for_querydict(params, sortorder='-id'):
  23. traps = Snmptt.objects.order_by(sortorder)
  24. return traps.filter( build_q_for_trap_filter(params) ).exclude( build_q_for_trap_exclude(params) )