Commit 351a3ca1 authored by Gary Wilson Jr's avatar Gary Wilson Jr
Browse files

Removed several deprecated features for 1.0 (refs #7830):

 * "simple" cache backend
 * `ObjectPaginator`
 * `edit_inline_type` argument for `ForeignKey` fields
 * `QOperator`, `QNot`, `QAnd` and `QOr`
 * `maxlength` argument 


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8191 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent cbbd54d5
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -30,22 +30,12 @@ BACKENDS = {
    'dummy': 'dummy',
}

DEPRECATED_BACKENDS = {
    # deprecated backend --> replacement module
    'simple': 'locmem',
}

def get_cache(backend_uri):
    if backend_uri.find(':') == -1:
        raise InvalidCacheBackendError, "Backend URI must start with scheme://"
    scheme, rest = backend_uri.split(':', 1)
    if not rest.startswith('//'):
        raise InvalidCacheBackendError, "Backend URI must start with scheme://"
    if scheme in DEPRECATED_BACKENDS:
        import warnings
        warnings.warn("'%s' backend is deprecated. Use '%s' instead." % 
            (scheme, DEPRECATED_BACKENDS[scheme]), DeprecationWarning)
        scheme = DEPRECATED_BACKENDS[scheme]

    host = rest[2:]
    qpos = rest.find('?')
+0 −62
Original line number Diff line number Diff line
@@ -118,65 +118,3 @@ class Page(object):
        if self.number == self.paginator.num_pages:
            return self.paginator.count
        return self.number * self.paginator.per_page

class ObjectPaginator(Paginator):
    """
    Legacy ObjectPaginator class, for backwards compatibility.

    Note that each method on this class that takes page_number expects a
    zero-based page number, whereas the new API (Paginator/Page) uses one-based
    page numbers.
    """
    def __init__(self, query_set, num_per_page, orphans=0):
        Paginator.__init__(self, query_set, num_per_page, orphans)
        import warnings
        warnings.warn("The ObjectPaginator is deprecated. Use django.core.paginator.Paginator instead.", DeprecationWarning)

        # Keep these attributes around for backwards compatibility.
        self.query_set = query_set
        self.num_per_page = num_per_page
        self._hits = self._pages = None

    def validate_page_number(self, page_number):
        try:
            page_number = int(page_number) + 1
        except ValueError:
            raise PageNotAnInteger
        return self.validate_number(page_number)

    def get_page(self, page_number):
        try:
            page_number = int(page_number) + 1
        except ValueError:
            raise PageNotAnInteger
        return self.page(page_number).object_list

    def has_next_page(self, page_number):
        return page_number < self.pages - 1

    def has_previous_page(self, page_number):
        return page_number > 0

    def first_on_page(self, page_number):
        """
        Returns the 1-based index of the first object on the given page,
        relative to total objects found (hits).
        """
        page_number = self.validate_page_number(page_number)
        return (self.num_per_page * (page_number - 1)) + 1

    def last_on_page(self, page_number):
        """
        Returns the 1-based index of the last object on the given page,
        relative to total objects found (hits).
        """
        page_number = self.validate_page_number(page_number)
        if page_number == self.num_pages:
            return self.count
        return page_number * self.num_per_page

    # The old API called it "hits" instead of "count".
    hits = Paginator.count

    # The old API called it "pages" instead of "num_pages".
    pages = Paginator.num_pages
+0 −5
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ from django.utils.itercompat import tee
from django.utils.text import capfirst
from django.utils.translation import ugettext_lazy, ugettext as _
from django.utils.encoding import smart_unicode, force_unicode, smart_str
from django.utils.maxlength import LegacyMaxlength
from django.utils import datetime_safe

class NOT_PROVIDED:
@@ -62,10 +61,6 @@ def manipulator_validator_unique(f, opts, self, field_data, all_data):
#     getattr(obj, opts.pk.attname)

class Field(object):
    # Provide backwards compatibility for the maxlength attribute and
    # argument for this class and all subclasses.
    __metaclass__ = LegacyMaxlength

    # Designates whether empty strings fundamentally are allowed at the
    # database level.
    empty_strings_allowed = True
+0 −5
Original line number Diff line number Diff line
@@ -626,11 +626,6 @@ class ForeignKey(RelatedField, Field):
            to_field = to_field or to._meta.pk.name
        kwargs['verbose_name'] = kwargs.get('verbose_name', None)

        if 'edit_inline_type' in kwargs:
            import warnings
            warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.", DeprecationWarning)
            kwargs['edit_inline'] = kwargs.pop('edit_inline_type')

        kwargs['rel'] = rel_class(to, to_field,
            num_in_admin=kwargs.pop('num_in_admin', 3),
            min_num_in_admin=kwargs.pop('min_num_in_admin', None),
+1 −4
Original line number Diff line number Diff line
@@ -5,9 +5,7 @@ Add SubfieldBase as the __metaclass__ for your Field subclass, implement
to_python() and the other necessary methods and everything will work seamlessly.
"""

from django.utils.maxlength import LegacyMaxlength

class SubfieldBase(LegacyMaxlength):
class SubfieldBase(type):
    """
    A metaclass for custom Field subclasses. This ensures the model's attribute
    has the descriptor protocol attached to it.
@@ -50,4 +48,3 @@ def make_contrib(func=None):
        setattr(cls, self.name, Creator(self))

    return contribute_to_class
Loading