1
0
Fork 0
mirror of https://github.com/Findus23/acronomy.git synced 2024-09-19 15:33:45 +02:00
acronomy/acros/utils/checks/messages.py

46 lines
1.1 KiB
Python
Raw Normal View History

from django.urls import reverse
2020-08-03 21:27:26 +02:00
from acros.models import Acronym, Tag
DEBUG = 10
INFO = "info"
WARNING = "warning"
ERROR = 40
CRITICAL = 50
class CheckMessage:
def __init__(self, level: str, msg: str, obj=None):
self.level = level
self.msg = msg
self.obj = obj
def __str__(self):
obj = str(self.obj)
print(self.obj._meta.label)
return f"{obj}: {self.msg}"
@property
def edit_url(self):
if isinstance(self.obj, Acronym):
return reverse("edit", args=[self.obj.slug])
return None
@property
def admin_edit_url(self):
if isinstance(self.obj, Acronym):
return reverse("admin:acros_acronym_change", args=[self.obj.id])
2020-08-03 21:27:26 +02:00
if isinstance(self.obj, Tag):
return reverse("admin:acros_tag_change", args=[self.obj.id])
return None
class CheckWarning(CheckMessage):
def __init__(self, msg: str, obj=None):
super(CheckWarning, self).__init__(WARNING, msg, obj)
class CheckInfo(CheckMessage):
def __init__(self, msg: str, obj=None):
super(CheckInfo, self).__init__(INFO, msg, obj)