summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/undelete
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/undelete')
-rw-r--r--lib/python2.7/site-packages/undelete/__init__.py0
-rw-r--r--lib/python2.7/site-packages/undelete/managers.py40
-rw-r--r--lib/python2.7/site-packages/undelete/models.py30
3 files changed, 0 insertions, 70 deletions
diff --git a/lib/python2.7/site-packages/undelete/__init__.py b/lib/python2.7/site-packages/undelete/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/lib/python2.7/site-packages/undelete/__init__.py
+++ /dev/null
diff --git a/lib/python2.7/site-packages/undelete/managers.py b/lib/python2.7/site-packages/undelete/managers.py
deleted file mode 100644
index e4712cd..0000000
--- a/lib/python2.7/site-packages/undelete/managers.py
+++ /dev/null
@@ -1,40 +0,0 @@
-from django.db import models
-
-class TrashableQuerySet(models.query.QuerySet):
- """Special QuerySet that explicitly calls delete() method on each model.
- If we don't do this, QuerySet delete() will bypass our TrashableMixin
- delete().
-
- This is only used for the NonTrashedManager. TrashedManager returns
- trashed objects, which should be truly deleted when delete() is called.
- Logic is the same for TrashableMixin at second delete().
-
- @author: Charl P. Botha <cpbotha@timescapers.com>
- """
-
- def delete(self, trash=True):
- """Overrides normal QuerySet delete to call explicitly object's
- delete() method.
- """
- if trash:
- for m in self:
- m.delete()
-
- else:
- super(TrashableQuerySet, self).delete()
-
-class NonTrashedManager(models.Manager):
- ''' Query only objects which have not been trashed. '''
- def get_query_set(self):
- # class Manager instantiates QuerySet() at every call of
- # get_query_set() also. see django/db/models/manager.py
- # we use special TrashableQuerySet which makes sure that
- # model delete()s get called explicitly.
- query_set = TrashableQuerySet(self.model, using=self._db)
- return query_set.filter(trashed_at__isnull=True)
-
-class TrashedManager(models.Manager):
- ''' Query only objects which have been trashed. '''
- def get_query_set(self):
- query_set = super(TrashedManager, self).get_query_set()
- return query_set.filter(trashed_at__isnull=False)
diff --git a/lib/python2.7/site-packages/undelete/models.py b/lib/python2.7/site-packages/undelete/models.py
deleted file mode 100644
index 26c4c5f..0000000
--- a/lib/python2.7/site-packages/undelete/models.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from datetime import datetime
-from django.db import models
-from django.utils.translation import ugettext_lazy as _
-
-from undelete.managers import TrashedManager, NonTrashedManager
-
-class TrashableMixin(models.Model):
- trashed_at = models.DateTimeField(_('Trashed'), editable=False, blank=True, null=True)
-
- objects = NonTrashedManager()
- trash = TrashedManager()
-
- def delete(self, *args, **kwargs):
- # keyword argument trash has default value True
- trash=kwargs.get('trash', True)
- if not self.trashed_at and trash:
- self.trashed_at = datetime.now()
- self.save()
- else:
- super(TrashableMixin, self).delete(*args, **kwargs)
-
- def restore(self, commit=True):
- self.trashed_at = None
- if commit:
- self.save()
-
- class Meta:
- abstract = True
-
-