From 291c856c06cc939bb9e9c7950836f0bac76c2f9f Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Fri, 11 Mar 2011 10:44:11 +0000 Subject: [PATCH] Blacklist checking fixes --- hr/tasks.py | 15 +++++++++++---- hr/utils.py | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/hr/tasks.py b/hr/tasks.py index d0a797b..cef2abe 100644 --- a/hr/tasks.py +++ b/hr/tasks.py @@ -4,17 +4,24 @@ from datetime import datetime, timedelta from celery.decorators import task from hr.utils import blacklist_values from django.contrib.auth.models import User +from django.core.mail import send_mail @task(ignore_result=True) def blacklist_check(): log = blacklist_check.get_logger() - users = User.objects.filter(active=True) + users = User.objects.filter(is_active=True) for u in users: - if users.groups.count() > 0: + if u.groups.count() > 0: # Has groups - val = blacklist_values(user) + val = blacklist_values(u) if len(val) > 0: # Report possible issue - log.warn("Suspect User: %s, %s entries found" % (u.username, len(val))) + log.warning("Suspect User: %s, %s entries found: %s" % (u.username, len(val), val)) + + blstr = "" + for i in val: + blstr = "%s%s - %s - %s\n" % (blstr, i.get_type_display(), i.value, i.reason) + msg = "Suspect User found: %s\nGroups: %s\nBlacklist Items:\n\n%s" % (u.username, u.groups.all(), blstr) + send_mail('Automated blacklist checker alert - %s' % u.username, msg, 'blacklist@pleaseignore.com', ['abuse@pleaseignore.com']) diff --git a/hr/utils.py b/hr/utils.py index 5b93604..3d920f3 100644 --- a/hr/utils.py +++ b/hr/utils.py @@ -1,5 +1,23 @@ +from datetime import datetime from hr.app_defines import * from hr.models import Blacklist +from django.db import models +from eve_api.models import EVEPlayerCharacter + +def installed(value): + from django.conf import settings + apps = settings.INSTALLED_APPS + if "." in value: + for app in apps: + if app == value: + return True + else: + for app in apps: + fields = app.split(".") + if fields[-1] == value: + return True + return False + def blacklist_values(user): """