1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #18978 -- Moved cleanup command to sessions.

This removes a dependency of 'core' on 'contrib'.
This commit is contained in:
Aymeric Augustin
2012-10-27 11:49:46 +02:00
parent 908efca817
commit 83ba0a9d4b
9 changed files with 59 additions and 11 deletions

View File

@@ -7,7 +7,13 @@ Can be run as a cronjob to clean out old data from the database (only expired
sessions at the moment).
"""
import warnings
from django.core import management
if __name__ == "__main__":
management.call_command('cleanup')
warnings.warn(
"The `daily_cleanup` script has been deprecated "
"in favor of `django-admin.py clearsessions`.",
PendingDeprecationWarning)
management.call_command('clearsessions')

View File

@@ -0,0 +1,11 @@
from django.core.management.base import NoArgsCommand
from django.utils import timezone
class Command(NoArgsCommand):
help = "Can be run as a cronjob or directly to clean out expired sessions (only with the database backend at the moment)."
def handle_noargs(self, **options):
from django.db import transaction
from django.contrib.sessions.models import Session
Session.objects.filter(expire_date__lt=timezone.now()).delete()
transaction.commit_unless_managed()

View File

@@ -1,11 +1,11 @@
from django.core.management.base import NoArgsCommand
from django.utils import timezone
import warnings
class Command(NoArgsCommand):
help = "Can be run as a cronjob or directly to clean out old data from the database (only expired sessions at the moment)."
from django.contrib.sessions.management.commands import clearsessions
class Command(clearsessions.Command):
def handle_noargs(self, **options):
from django.db import transaction
from django.contrib.sessions.models import Session
Session.objects.filter(expire_date__lt=timezone.now()).delete()
transaction.commit_unless_managed()
warnings.warn(
"The `cleanup` command has been deprecated in favor of `clearsessions`.",
PendingDeprecationWarning)
super(Command, self).handle_noargs(**options)