book previews - draft (no payments yet)
[wolnelektury.git] / src / catalogue / management / commands / update_preview_status.py
diff --git a/src/catalogue/management/commands/update_preview_status.py b/src/catalogue/management/commands/update_preview_status.py
new file mode 100644 (file)
index 0000000..cd2e8d8
--- /dev/null
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+from datetime import date
+from django.core.management.base import BaseCommand
+
+from catalogue.models import Book
+
+
+class Command(BaseCommand):
+    def handle(self, *args, **options):
+        for book in Book.objects.filter(preview=True, preview_until__lt=date.today()):
+            book.preview = False
+            book.save()
+            for format_ in Book.formats:
+                media_file = book.get_media(format_)
+                if media_file:
+                    media_file.set_readable(True)