From f513b241d204d58599e0785480f3ae2842e36745 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Thu, 17 Sep 2015 22:55:25 -0500 Subject: [PATCH] ircbot: force lowercase IrcChannel channel name --- .../migrations/0013_auto_20150917_2255.py | 20 +++++++++++++++++++ dr_botzo/ircbot/models.py | 10 +++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 dr_botzo/ircbot/migrations/0013_auto_20150917_2255.py diff --git a/dr_botzo/ircbot/migrations/0013_auto_20150917_2255.py b/dr_botzo/ircbot/migrations/0013_auto_20150917_2255.py new file mode 100644 index 0000000..3db26de --- /dev/null +++ b/dr_botzo/ircbot/migrations/0013_auto_20150917_2255.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import ircbot.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ircbot', '0012_ircchannel_markov_learn_from_channel'), + ] + + operations = [ + migrations.AlterField( + model_name='ircchannel', + name='name', + field=ircbot.models.LowerCaseCharField(unique=True, max_length=200), + ), + ] diff --git a/dr_botzo/ircbot/models.py b/dr_botzo/ircbot/models.py index 318daef..7b7156f 100644 --- a/dr_botzo/ircbot/models.py +++ b/dr_botzo/ircbot/models.py @@ -13,6 +13,14 @@ from django.utils import timezone log = logging.getLogger('ircbot.models') +class LowerCaseCharField(models.CharField): + def get_prep_value(self, value): + value = super(LowerCaseCharField, self).get_prep_value(value) + if value is not None: + value = value.lower() + return value + + class Alias(models.Model): """Allow for aliasing of arbitrary regexes to normal supported commands.""" @@ -58,7 +66,7 @@ class IrcChannel(models.Model): """Track channel settings.""" - name = models.CharField(max_length=200, unique=True) + name = LowerCaseCharField(max_length=200, unique=True) autojoin = models.BooleanField(default=False) topic_msg = models.TextField(default='', blank=True)