summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-04-30 17:50:22 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-04-30 17:50:22 +0200
commit3d842a0a94e413185b9abb87e7b3da7c27b6d7ad (patch)
tree2f1c593bf665570899097836cbbb4091457b72e1
parente4d4cb6130b046d145ab1069df0c04d78786eedd (diff)
parent4b11762f7d7aed2f4f36c4158326c0a4332038f9 (diff)
Merge branch 'master' of github.com:django/django
-rw-r--r--django/utils/_os.py2
-rw-r--r--django/utils/datastructures.py10
-rw-r--r--docs/howto/static-files.txt2
-rw-r--r--tests/regressiontests/utils/datastructures.py6
4 files changed, 15 insertions, 5 deletions
diff --git a/django/utils/_os.py b/django/utils/_os.py
index ad4efb3264..884689fefc 100644
--- a/django/utils/_os.py
+++ b/django/utils/_os.py
@@ -61,7 +61,7 @@ def rmtree_errorhandler(func, path, exc_info):
continue without problems.
"""
exctype, value = exc_info[:2]
- # lookin for a windows error
+ # looking for a windows error
if exctype is not WindowsError or 'Access is denied' not in str(value):
raise
# file type should currently be read only
diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py
index 09d37518e0..f7042f7061 100644
--- a/django/utils/datastructures.py
+++ b/django/utils/datastructures.py
@@ -128,6 +128,12 @@ class SortedDict(dict):
return self.__class__([(key, copy.deepcopy(value, memo))
for key, value in self.iteritems()])
+ def __copy__(self):
+ # The Python's default copy implementation will alter the state
+ # of self. The reason for this seems complex but is likely related to
+ # subclassing dict.
+ return self.copy()
+
def __setitem__(self, key, value):
if key not in self:
self.keyOrder.append(key)
@@ -200,9 +206,7 @@ class SortedDict(dict):
def copy(self):
"""Returns a copy of this object."""
# This way of initializing the copy means it works for subclasses, too.
- obj = self.__class__(self)
- obj.keyOrder = self.keyOrder[:]
- return obj
+ return self.__class__(self)
def __repr__(self):
"""
diff --git a/docs/howto/static-files.txt b/docs/howto/static-files.txt
index e3a40a1a22..29a2c2f6e2 100644
--- a/docs/howto/static-files.txt
+++ b/docs/howto/static-files.txt
@@ -424,7 +424,7 @@ Here's how this might look in a fabfile::
@roles('static')
def deploy_static():
local('./manage.py collectstatic')
- project.rysnc_project(
+ project.rsync_project(
remote_dir = env.remote_static_root,
local_dir = env.local_static_root,
delete = True
diff --git a/tests/regressiontests/utils/datastructures.py b/tests/regressiontests/utils/datastructures.py
index d6db991007..000f7f76a1 100644
--- a/tests/regressiontests/utils/datastructures.py
+++ b/tests/regressiontests/utils/datastructures.py
@@ -111,6 +111,12 @@ class SortedDictTests(SimpleTestCase):
{7: 'seven', 1: 'one', 9: 'nine'}
)
+ def test_copy(self):
+ orig = SortedDict(((1, "one"), (0, "zero"), (2, "two")))
+ copied = copy.copy(orig)
+ self.assertEqual(orig.keys(), [1, 0, 2])
+ self.assertEqual(copied.keys(), [1, 0, 2])
+
def test_clear(self):
self.d1.clear()
self.assertEqual(self.d1, {})