Author: russellm
Date: 2008-07-13 03:48:18 -0500 (Sun, 13 Jul 2008)
New Revision: 7914
Added:
django/trunk/tests/regressiontests/utils/itercompat.py
Modified:
django/trunk/django/utils/itercompat.py
django/trunk/tests/modeltests/basic/models.py
django/trunk/tests/modeltests/or_lookups/models.py
django/trunk/tests/regressiontests/admin_scripts/management/commands/app_command.py
django/trunk/tests/regressiontests/admin_scripts/management/commands/base_command.py
django/trunk/tests/regressiontests/admin_scripts/management/commands/label_command.py
django/trunk/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
django/trunk/tests/regressiontests/defaultfilters/tests.py
django/trunk/tests/regressiontests/model_inheritance_regress/models.py
django/trunk/tests/regressiontests/queries/models.py
django/trunk/tests/regressiontests/utils/datastructures.py
django/trunk/tests/regressiontests/utils/tests.py
Log:
Fixed #7718 -- Added a naive implementation of sorted() for Python 2.3
compatibility, and modified test cases to import the function when required.
Modified: django/trunk/django/utils/itercompat.py
===================================================================
--- django/trunk/django/utils/itercompat.py 2008-07-13 08:45:17 UTC (rev
7913)
+++ django/trunk/django/utils/itercompat.py 2008-07-13 08:48:18 UTC (rev
7914)
@@ -67,3 +67,8 @@
else:
return True
+def sorted(in_value):
+ "A naive implementation of sorted"
+ out_value = in_value[:]
+ out_value.sort()
+ return out_value
Modified: django/trunk/tests/modeltests/basic/models.py
===================================================================
--- django/trunk/tests/modeltests/basic/models.py 2008-07-13 08:45:17 UTC
(rev 7913)
+++ django/trunk/tests/modeltests/basic/models.py 2008-07-13 08:48:18 UTC
(rev 7914)
@@ -4,12 +4,18 @@
This is a basic model with only two non-primary-key fields.
"""
-
+# Python 2.3 doesn't have set as a builtin
try:
set
except NameError:
from sets import Set as set
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
from django.db import models
class Article(models.Model):
Modified: django/trunk/tests/modeltests/or_lookups/models.py
===================================================================
--- django/trunk/tests/modeltests/or_lookups/models.py 2008-07-13 08:45:17 UTC
(rev 7913)
+++ django/trunk/tests/modeltests/or_lookups/models.py 2008-07-13 08:48:18 UTC
(rev 7914)
@@ -8,6 +8,11 @@
clauses using the variable ``django.db.models.Q`` (or any object with an
add_to_query method).
"""
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
from django.db import models
Modified:
django/trunk/tests/regressiontests/admin_scripts/management/commands/app_command.py
===================================================================
---
django/trunk/tests/regressiontests/admin_scripts/management/commands/app_command.py
2008-07-13 08:45:17 UTC (rev 7913)
+++
django/trunk/tests/regressiontests/admin_scripts/management/commands/app_command.py
2008-07-13 08:48:18 UTC (rev 7914)
@@ -1,4 +1,9 @@
from django.core.management.base import AppCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(AppCommand):
help = 'Test Application-based commands'
Modified:
django/trunk/tests/regressiontests/admin_scripts/management/commands/base_command.py
===================================================================
---
django/trunk/tests/regressiontests/admin_scripts/management/commands/base_command.py
2008-07-13 08:45:17 UTC (rev 7913)
+++
django/trunk/tests/regressiontests/admin_scripts/management/commands/base_command.py
2008-07-13 08:48:18 UTC (rev 7914)
@@ -1,5 +1,10 @@
from django.core.management.base import BaseCommand
from optparse import make_option
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
Modified:
django/trunk/tests/regressiontests/admin_scripts/management/commands/label_command.py
===================================================================
---
django/trunk/tests/regressiontests/admin_scripts/management/commands/label_command.py
2008-07-13 08:45:17 UTC (rev 7913)
+++
django/trunk/tests/regressiontests/admin_scripts/management/commands/label_command.py
2008-07-13 08:48:18 UTC (rev 7914)
@@ -1,4 +1,9 @@
from django.core.management.base import LabelCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(LabelCommand):
help = "Test Label-based commands"
Modified:
django/trunk/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
===================================================================
---
django/trunk/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
2008-07-13 08:45:17 UTC (rev 7913)
+++
django/trunk/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
2008-07-13 08:48:18 UTC (rev 7914)
@@ -1,4 +1,9 @@
from django.core.management.base import NoArgsCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(NoArgsCommand):
help = "Test No-args commands"
Modified: django/trunk/tests/regressiontests/defaultfilters/tests.py
===================================================================
--- django/trunk/tests/regressiontests/defaultfilters/tests.py 2008-07-13
08:45:17 UTC (rev 7913)
+++ django/trunk/tests/regressiontests/defaultfilters/tests.py 2008-07-13
08:48:18 UTC (rev 7914)
@@ -537,6 +537,12 @@
from django.template.defaultfilters import *
import datetime
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
if __name__ == '__main__':
import doctest
doctest.testmod()
Modified: django/trunk/tests/regressiontests/model_inheritance_regress/models.py
===================================================================
--- django/trunk/tests/regressiontests/model_inheritance_regress/models.py
2008-07-13 08:45:17 UTC (rev 7913)
+++ django/trunk/tests/regressiontests/model_inheritance_regress/models.py
2008-07-13 08:48:18 UTC (rev 7914)
@@ -6,6 +6,12 @@
from django.db import models
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
Modified: django/trunk/tests/regressiontests/queries/models.py
===================================================================
--- django/trunk/tests/regressiontests/queries/models.py 2008-07-13
08:45:17 UTC (rev 7913)
+++ django/trunk/tests/regressiontests/queries/models.py 2008-07-13
08:48:18 UTC (rev 7914)
@@ -8,6 +8,12 @@
from django.db import models
from django.db.models.query import Q
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
class Tag(models.Model):
name = models.CharField(max_length=10)
parent = models.ForeignKey('self', blank=True, null=True,
Modified: django/trunk/tests/regressiontests/utils/datastructures.py
===================================================================
--- django/trunk/tests/regressiontests/utils/datastructures.py 2008-07-13
08:45:17 UTC (rev 7913)
+++ django/trunk/tests/regressiontests/utils/datastructures.py 2008-07-13
08:48:18 UTC (rev 7914)
@@ -48,4 +48,11 @@
['one', 'second-two']
>>> d.values() # Here the order of SortedDict values *is* what we are testing
['second-two', 'one']
-"""
\ No newline at end of file
+"""
+
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
\ No newline at end of file
Added: django/trunk/tests/regressiontests/utils/itercompat.py
===================================================================
--- django/trunk/tests/regressiontests/utils/itercompat.py
(rev 0)
+++ django/trunk/tests/regressiontests/utils/itercompat.py 2008-07-13
08:48:18 UTC (rev 7914)
@@ -0,0 +1,15 @@
+"""
+# Tests of the utils itercompat library.
+
+>>> from django.utils.itercompat import sorted as compat_sorted
+
+# Check the replacement version of sorted
+>>> x = [5,1,4,2,3]
+>>> y = compat_sorted(x)
+>>> print y
+[1, 2, 3, 4, 5]
+
+>>> print x
+[5, 1, 4, 2, 3]
+
+"""
\ No newline at end of file
Modified: django/trunk/tests/regressiontests/utils/tests.py
===================================================================
--- django/trunk/tests/regressiontests/utils/tests.py 2008-07-13 08:45:17 UTC
(rev 7913)
+++ django/trunk/tests/regressiontests/utils/tests.py 2008-07-13 08:48:18 UTC
(rev 7914)
@@ -8,12 +8,14 @@
import timesince
import datastructures
+import itercompat
from decorators import DecoratorFromMiddlewareTests
# Extra tests
__test__ = {
'timesince': timesince,
'datastructures': datastructures,
+ 'itercompat': itercompat,
}
class TestUtilsHtml(TestCase):
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---