Ralfp 12 лет назад
Родитель
Сommit
b5d0fb0703
2 измененных файлов с 12 добавлено и 2 удалено
  1. 9 0
      misago/management/commands/clearmonitor.py
  2. 3 2
      misago/monitor.py

+ 9 - 0
misago/management/commands/clearmonitor.py

@@ -0,0 +1,9 @@
+from django.core.management.base import BaseCommand
+from misago.models import MonitorItem
+
+class Command(BaseCommand):
+    help = 'Clears forum monitor'
+
+    def handle(self, *args, **options):
+        MonitorItem.objects.filter(_value__isnull=True).delete()
+        self.stdout.write('\nForum monitor has been cleared.\n')

+ 3 - 2
misago/monitor.py

@@ -25,6 +25,7 @@ class Monitor(object):
 
     def __setitem__(self, key, value):
         self._items[key][0] = value
+        self._items[key][1] = timezone.now()
         cache.set('monitor', self._items)
         sync_item = MonitorItem(
                                 id=key,
@@ -39,10 +40,10 @@ class Monitor(object):
         pass
 
     def increase(self, key, i=1):
-        self[key] = int(self[key]) + i
+        self[key] = self[key] + i
 
     def decrease(self, key, i=1):
-        self[key] = int(self[key]) - i
+        self[key] = self[key] - i
 
     def get(self, key, default=None):
         if not key in self._items: