Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[1.5.x] Fixed #18978 -- Moved cleanup command to sessions.

This removes a dependency of 'core' on 'contrib'.

Backport of 83ba0a9 from master.

This deprecation occurs after the alpha, but it's a prerequisite
for fixing decently #18194 which is a release blocker.
  • Loading branch information...
commit b760503a270484679ad0e06b73e3ed417a113221 1 parent 15ea36d
@aaugustin aaugustin authored
View
8 django/bin/daily_cleanup.py
@@ -7,7 +7,13 @@
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
0  django/contrib/sessions/management/__init__.py
No changes.
View
0  django/contrib/sessions/management/commands/__init__.py
No changes.
View
11 django/contrib/sessions/management/commands/clearsessions.py
@@ -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
16 django/core/management/commands/cleanup.py
@@ -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)
View
5 docs/internals/deprecation.txt
@@ -293,6 +293,11 @@ these changes.
* The ``AUTH_PROFILE_MODULE`` setting, and the ``get_profile()`` method on
the User model, will be removed.
+* The ``cleanup`` management command will be removed. It's replaced by
+ ``clearsessions``.
+
+* The ``daily_cleanup.py`` script will be removed.
+
2.0
---
View
15 docs/ref/django-admin.txt
@@ -96,6 +96,9 @@ cleanup
Can be run as a cronjob or directly to clean out old data from the database
(only expired sessions at the moment).
+.. versionchanged:: 1.5
+ :djadmin:`cleanup` is deprecated. Use :djadmin:`clearsessions` instead.
+
compilemessages
---------------
@@ -1187,6 +1190,18 @@ This command is only available if :doc:`GeoDjango </ref/contrib/gis/index>`
Please refer to its :djadmin:`description <ogrinspect>` in the GeoDjango
documentation.
+``django.contrib.sessions``
+---------------------------
+
+clearsessions
+~~~~~~~~~~~~~~~
+
+.. django-admin:: clearsessions
+
+Can be run as a cron job or directly to clean out expired sessions.
+
+This is only supported by the database backend at the moment.
+
``django.contrib.sitemaps``
---------------------------
View
13 docs/releases/1.5.txt
@@ -613,7 +613,6 @@ Define a ``__str__`` method and apply the
The :func:`~django.utils.itercompat.product` function has been deprecated. Use
the built-in :func:`itertools.product` instead.
-
``django.utils.markup``
~~~~~~~~~~~~~~~~~~~~~~~
@@ -621,3 +620,15 @@ The markup contrib module has been deprecated and will follow an accelerated
deprecation schedule. Direct use of python markup libraries or 3rd party tag
libraries is preferred to Django maintaining this functionality in the
framework.
+
+``cleanup`` management command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The :djadmin:`cleanup` management command has been deprecated and replaced by
+:djadmin:`clearsessions`.
+
+``daily_cleanup.py`` script
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The undocumented ``daily_cleanup.py`` script has been deprecated. Use the
+:djadmin:`clearsessions` management command instead.
View
2  docs/topics/http/sessions.txt
@@ -460,7 +460,7 @@ table. Django updates this row each time the session data changes. If the user
logs out manually, Django deletes the row. But if the user does *not* log out,
the row never gets deleted.
-Django provides a sample clean-up script: ``django-admin.py cleanup``.
+Django provides a sample clean-up script: ``django-admin.py clearsessions``.
That script deletes any session in the session table whose ``expire_date`` is
in the past -- but your application may have different requirements.
Please sign in to comment.
Something went wrong with that request. Please try again.