From a6e3096bae39c6652a93c7abbf0a1b09b2f47122 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Sat, 23 Jul 2011 09:07:59 +0100 Subject: [PATCH] Escape the text, avoid parse problems --- app/hr/utils.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/hr/utils.py b/app/hr/utils.py index 64f609c..6ca9210 100644 --- a/app/hr/utils.py +++ b/app/hr/utils.py @@ -1,3 +1,5 @@ +import re + from datetime import datetime from hr.app_defines import * from hr.models import Blacklist, Application @@ -43,19 +45,19 @@ def blacklist_values(user): evechars = EVEPlayerCharacter.objects.filter(eveaccount__user=user).select_related('corporation', 'corporation__alliance') # Check Character blacklists - characters = evechars.values_list('name', flat=True) + characters = [re.escape(x) for x in evechars.values_list('name', flat=True)] if len(characters): objs = bl_items.filter(type=BLACKLIST_TYPE_CHARACTER, value__iregex=r'(' + '|'.join(characters) + ')') blacklist.extend(objs) # Check Corporation blacklists - corporations = evechars.values_list('corporation__name', flat=True) + corporations = [re.escape(x) for x in evechars.values_list('corporation__name', flat=True)] if len(corporations): objs = bl_items.filter(type=BLACKLIST_TYPE_CORPORATION, value__iregex=r'(' + '|'.join(corporations) + ')') blacklist.extend(objs) # Check Alliance blacklists - alliances = [x for x in evechars.values_list('corporation__alliance__name', flat=True) if x] + alliances = [re.escape(x) for x in evechars.values_list('corporation__alliance__name', flat=True) if x] if len(alliances): objs = bl_items.filter(type=BLACKLIST_TYPE_ALLIANCE, value__iregex=r'(' + '|'.join([x for x in alliances if x]) + ')') blacklist.extend(objs)