From d518cb2b77aadf9b51a803ac1e1bc38335d01706 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sat, 24 Apr 2021 19:18:45 -0500 Subject: [PATCH] lint cleanups --- ircbot/models.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/ircbot/models.py b/ircbot/models.py index a0d6050..9b01e1b 100644 --- a/ircbot/models.py +++ b/ircbot/models.py @@ -1,5 +1,4 @@ """Track basic IRC settings and similar.""" - import logging import re @@ -7,12 +6,14 @@ from django.conf import settings from django.db import models from django.utils import timezone - log = logging.getLogger('ircbot.models') class LowerCaseCharField(models.CharField): + """Provide a case-insensitive, forced-lower CharField.""" + def get_prep_value(self, value): + """Manipulate the field value to make it lowercase.""" value = super(LowerCaseCharField, self).get_prep_value(value) if value is not None: value = value.lower() @@ -20,21 +21,22 @@ class LowerCaseCharField(models.CharField): class Alias(models.Model): - """Allow for aliasing of arbitrary regexes to normal supported commands.""" pattern = models.CharField(max_length=200, unique=True) replacement = models.CharField(max_length=200) class Meta: + """Settings for the model.""" + verbose_name_plural = "aliases" def __str__(self): - """String representation.""" - + """Provide string representation.""" return "{0:s} -> {1:s}".format(self.pattern, self.replacement) def replace(self, what): + """Match the regex and replace with the command.""" command = None if re.search(self.pattern, what, flags=re.IGNORECASE): command = re.sub(self.pattern, self.replacement, what, flags=re.IGNORECASE) @@ -43,25 +45,24 @@ class Alias(models.Model): class BotUser(models.Model): - """Configure bot users, which can do things through the bot and standard Django auth.""" nickmask = models.CharField(max_length=200, unique=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) class Meta: + """Settings for the model.""" + permissions = ( ('quit_bot', "Can tell the bot to quit via IRC"), ) def __str__(self): - """String representation.""" - + """Provide string representation.""" return "{0:s} (Django user {1:s})".format(self.nickmask, self.user.username) class IrcChannel(models.Model): - """Track channel settings.""" name = LowerCaseCharField(max_length=200, unique=True) @@ -74,30 +75,31 @@ class IrcChannel(models.Model): markov_learn_from_channel = models.BooleanField(default=True) class Meta: + """Settings for the model.""" + permissions = ( ('manage_current_channels', "Can join/part channels via IRC"), ) def __str__(self): - """String representation.""" - + """Provide string representation.""" return "{0:s}".format(self.name) class IrcPlugin(models.Model): - """Represent an IRC plugin and its loading settings.""" path = models.CharField(max_length=200, unique=True) autoload = models.BooleanField(default=False) class Meta: + """Settings for the model.""" + ordering = ['path'] permissions = ( ('manage_loaded_plugins', "Can load/unload plugins via IRC"), ) def __str__(self): - """String representation.""" - + """Provide string representation.""" return "{0:s}".format(self.path)