]> git.0d.be Git - django-panik-emissions.git/commitdiff
add basic command to auto close chats
authorFrédéric Péters <fpeters@0d.be>
Tue, 18 Apr 2017 14:32:55 +0000 (16:32 +0200)
committerFrédéric Péters <fpeters@0d.be>
Tue, 18 Apr 2017 14:32:55 +0000 (16:32 +0200)
emissions/management/commands/autoclose_chats.py [new file with mode: 0644]

diff --git a/emissions/management/commands/autoclose_chats.py b/emissions/management/commands/autoclose_chats.py
new file mode 100644 (file)
index 0000000..8883a4f
--- /dev/null
@@ -0,0 +1,28 @@
+import datetime
+from optparse import make_option
+
+from django.core.management.base import BaseCommand, CommandError
+from django.utils import timezone
+
+from ...models import Emission
+
+
+class Command(BaseCommand):
+    args = ''
+
+    option_list = BaseCommand.option_list + (
+            make_option('--emission',
+                dest='emission_slug',
+                metavar='SLUG',
+                default=None),
+            )
+
+    def handle(self, emission_slug, verbosity, **options):
+        self.verbose = (verbosity > 1)
+        emissions = Emission.objects.all()
+        if emission_slug:
+            emissions = emissions.filter(slug=emission_slug)
+        emissions = emissions.filter(chat_open__lt=timezone.now() - datetime.timedelta(hours=24))
+        for emission in emissions:
+            emission.chat_open = None
+            emission.save()