from logging import Filter, INFO
from django.urls import reverse

class Http404AsInfoFilter(Filter):
	def filter(self, record):
		if record.name == 'django.request' and record.status_code == 404:
			record.levelno = INFO
		return 1 # Keep the log record

class StripSensitiveFormDataFilter(Filter):
	def filter(self, record):
		if hasattr(record, 'request') and record.request.path in [
				reverse('login'),
				reverse('logout'),
				reverse('personalni_prihlaska'),
				reverse('personalni_resitel_edit'),
				reverse('reset_password'),
				reverse('reset_password_done'),
				# FIXME
				#reverse('reset_password_confirm'),
				reverse('reset_password_complete'),
				reverse('change_password'),
				]:
			if record.request.method == 'POST':
				from django.http import QueryDict
				record.request.POST=QueryDict('OriginalPostData=HaveBeenRemoved')
		return 1