Aymeric Augustin
ab6cd1c839
[py3] Updated dict-like data structures for Python 3.
...
The keys/items/values methods return iterators in Python 3, and the
iterkeys/items/values methods don't exist in Python 3. The behavior
under Python 2 is unchanged.
2012-07-25 22:58:48 +02:00
Aymeric Augustin
f3c9a16a42
Fixed QueryDict.setlistdefault.
...
It was broken by a seemingly innocuous change in MultiValueDict.
Document the pitfall for now. This is fragile and should be
considered for refactoring.
2012-07-25 19:10:40 +02:00
Aymeric Augustin
942818e1b3
Rolled back a unnecessary change in 8f002867b2
.
...
This keeps the implementation of setdefault and setlistdefault
consistent. Also it's marginally faster than looking up the value
again.
2012-07-25 10:16:35 +02:00
Alex Gaynor
38ce709fe4
Added tests for deprecation warnings and fixed the argument order for the warnings.
2012-07-24 07:01:57 -07:00
Alex Gaynor
c57abd3c29
Remove DotExpandedDict, which was undocumented and unused.
2012-07-14 19:04:37 -07:00
Alex Gaynor
0f57935bcd
Fix an incredibly emberassing typo.
2012-07-14 17:08:52 -07:00
Alex Gaynor
8b3c2f2c51
Deprecate two methods (which I seriously doubt anyone ever used, but they were documented so...) because they cannot be implemented efficiently on top of collections.SortedDict in Python 2.7 and up.
2012-07-14 16:08:42 -07:00
Alex Gaynor
8f002867b2
Cleaned up the QueryDict implementation.
...
- Use super().
- Don't poke at internals.
- Don't override methods for no reason.
2012-07-14 14:07:11 -07:00
Anssi Kääriäinen
4b11762f7d
Fixed SortedDict.__copy__()
...
Fixed #18175 -- Calling SortedDict.__copy__() resulted in changes to
the original dictionary. The reason was likely related to subclassing
dict.
Thanks to linovia for report and patch.
2012-04-30 17:19:55 +03:00
Aymeric Augustin
bd58612514
Fixed #17634 -- Optimized the performance of MultiValueDict by using append instead of copy and by minimizing the number of dict lookups. Refs #736 .
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17464 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-09 18:41:20 +00:00
Jannis Leidel
97f22f2969
Fixed #12375 -- Added a dict() method to convert a MultiValueDict (such as a QueryDict) to a dictionary of key-value pairs. Thanks, oinopion and hvdklauw.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16418 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-16 16:34:55 +00:00
Jannis Leidel
fc8116cc4f
Fixed #6580 -- Added `default` parameter to `MultiValueDict.getlist` method (the base class for `QueryDict`). Many thanks to mk and andrewebdev.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16260 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-05-22 15:05:29 +00:00
Adrian Holovaty
13864703bc
Removed a bunch more Python 2.4 workarounds now that we don't support that version. Refs #15702 -- thanks to jonash for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15927 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-03-28 02:11:19 +00:00
Alex Gaynor
c6f90f0053
Fixed MultiValueDict's copy implementation to be consistant with all other copies.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14366 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-27 20:39:20 +00:00
Justin Bronn
1efa807703
Fixed #12632 -- Improved performance of `SortedDict`. Thanks, Alex Gaynor.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13742 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-09-11 02:28:16 +00:00
Malcolm Tredinnick
255147c97e
Added more readable __str__ and __repr__ methods to MergeDict.
...
Thanks, john@calixto.net . Fixed #3508 .
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13721 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-09-10 19:24:24 +00:00
Joseph Kocherhans
b3d20ade47
Fixed #12820 . Implemented other dict methods for MergeDict. Thanks, Gisle Aas.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12498 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-22 23:38:18 +00:00
Adrian Holovaty
5ceed0a053
Changed a whole bunch of places to raise exception instances instead of old-style raising exception classes plus a comma. Good for the future Python 3 conversion
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12180 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-10 18:36:20 +00:00
Russell Keith-Magee
0aa12da000
Fixed #12476 -- Forced the rollout of generators passed to SortedDict so that the data source can be read twice. Thanks to gsf for the report, and Alex for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12064 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-03 06:54:56 +00:00
Jacob Kaplan-Moss
574eafe4c0
Fixed #11753 - Q objects with callables no longer explode on Python 2.4. Thanks, Jeremy Dunck.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11901 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-17 22:06:41 +00:00
Russell Keith-Magee
333615accb
Fixed #11874 -- Optimizations and cleanups for SortedDict. Thanks to Alex Gaynor and Armin Ronacher for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11815 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-12 06:00:59 +00:00
Jacob Kaplan-Moss
c33355d86a
As long as we're micro-optomizing, do it right -- using map() shaves another dozen or so seconds off the test suite run time.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11495 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-09-10 22:49:05 +00:00
Jacob Kaplan-Moss
9d1a7c203c
Micro-optomization to SortedDict.values(). Yes, it looks silly, but it shaves 30 seconds (5%) off the run time of the test suite.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11494 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-09-10 22:23:24 +00:00
Jacob Kaplan-Moss
184ea1c91f
Fixed #8847 , #10370 : added some missing methods to MultiValueDict after [8399]. Thanks, James Turk and rfk.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10241 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-31 06:30:07 +00:00
Jacob Kaplan-Moss
9ae873fcd8
Fixed #10184 : QueryDicts with multiple values can now be safely pickled. Thanks, Alex Gaynor.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10240 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-31 05:14:13 +00:00
Malcolm Tredinnick
62b39322f3
Fixed #7496 -- It's now possible to pickle SortedDicts with pickle protocol 2
...
(used in caching). Thanks, John Huddleston.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8531 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-25 04:00:15 +00:00
Gary Wilson Jr
2b82a3bcfc
Fixed #7331 -- Made `QueryDict.iteritems` behave like `QueryDict.items`, thanks jurev.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8399 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-16 02:17:55 +00:00
Jacob Kaplan-Moss
d725cc9734
Fixed #2070 : refactored Django's file upload capabilities.
...
A description of the new features can be found in the new [http://www.djangoproject.com/documentation/upload_handing/ upload handling documentation]; the executive summary is that Django will now happily handle uploads of large files without issues.
This changes the representation of uploaded files from dictionaries to bona fide objects; see BackwardsIncompatibleChanges for details.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7814 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-01 15:10:51 +00:00
Malcolm Tredinnick
915001ad0b
Fixed #7109 -- Quote certain values before passing them for substitution in
...
Field.db_type().
This fixes a problem with using reserved words for field names in Oracle. Only
affects Oracle at the moment, but the same changes could easily be used by
other backends if they are required (requires changing creation.py, only).
This commit also reverts [7501] so that if the fix doesn't work, it will show
up in the tests (and if it does work, the tests will prevent us from breaking
it again).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7743 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-26 03:11:32 +00:00
Malcolm Tredinnick
54546f23f0
Fixed #6627 -- Made dict.clear() work for SortedDicts.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7140 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-21 21:27:44 +00:00
Malcolm Tredinnick
e7b2ad8020
Fixed #6611 -- When copying a SortedDict, make a new copy of the keys list.
...
Thanks, Jeremy Dunck.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7129 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-18 23:08:51 +00:00
Adrian Holovaty
8b3f36029f
Made a bunch of small doc rewordings from changes over the past couple of weeks
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7122 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-16 05:15:09 +00:00
Malcolm Tredinnick
2542b94fb2
Fixed #6465 -- Tweaked MergeDict.getlist() to work with Django's MultiValueDict class. Thanks, Matt McClanahan.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7062 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-03 02:02:41 +00:00
Adrian Holovaty
c5a4541f10
Edited docstring changes from [6714]
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6800 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-01 19:22:05 +00:00
Malcolm Tredinnick
caa0523cb8
Fixed #6050 -- Handled edge-case of duplicate keys being passed when
...
initialising SortedDict. Patch from Collin Grady and SmileyChris.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6751 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-29 20:09:54 +00:00
Gary Wilson Jr
c7181ec0ff
Made `MultiValueDict`'s `get` and `getlist` method docstrings more descriptive.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6714 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-25 18:14:18 +00:00
Gary Wilson Jr
891cc5df92
Minor styling fix in `DotExpandedDict.__init__`.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6713 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-25 18:11:44 +00:00
Gary Wilson Jr
303d22b0d2
Changed several hardcoding of `dict` method calls in `django.utils.datastructures.py` to use `super` instead.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6712 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-25 18:10:45 +00:00
Gary Wilson Jr
8df3d2b467
In `MergeDict` class, changed variable names to not clash with `dict` builtin.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6711 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-25 18:07:57 +00:00
Gary Wilson Jr
5e8be6978e
Simplified `SortedDict.__deepcopy__` now that the its constructor can take a sequence of tuples.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6669 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-12 03:12:47 +00:00
Malcolm Tredinnick
dbd1cb9083
Fixed #5183 -- Added __deepcopy__, pop() and popitem() to SortedDict. Based on
...
a patch from David Blewett.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6593 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-22 00:52:54 +00:00
Gary Wilson Jr
088cb3c2f3
Django coding style fixes.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6528 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-19 01:26:09 +00:00
Gary Wilson Jr
78d557bf02
Fixed #5744 -- Allowed SortedDict contructor to be passed a list of tuples to match the interface of dict, thanks Thomas Güttler.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-14 04:17:02 +00:00
Adrian Holovaty
4704412bb3
Fixed #5540 -- Made __repr__() for MultiValueDict more generic. Thanks, Thomas Guttler
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6383 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-20 01:56:02 +00:00
Malcolm Tredinnick
ec7d80b9dd
Fixed #3993 -- Added some useful dictionary methods to SortedDict, plus an insert() method. Patch from Paul Collier.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6350 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-16 03:27:38 +00:00
Russell Keith-Magee
84e824fbbf
Fixed #3036 -- Fixed some doctest strings that were failing. Thanks to pterk for the original patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6268 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-15 08:29:56 +00:00
Russell Keith-Magee
50497e3867
Refs #5138 -- Refactored implementation of __contains__ in HttpRequest introduced in [6097] after a suggestion from Malcolm. Applied a similar refactor for MergeDict and Context which had comparable behavior.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6098 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-11 14:04:40 +00:00
Malcolm Tredinnick
3757f30c99
Fixed #4947 -- Avoid displaying uploaded file contents in the debug web page. Based on a patch from eibaan@gmail.com.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5874 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-12 12:02:08 +00:00
Malcolm Tredinnick
439cb4047f
Fixed #4040 -- Changed uses of has_key() to "in". Slight performance
...
improvement and forward-compatible with future Python releases. Patch from Gary
Wilson.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-26 13:30:48 +00:00
Malcolm Tredinnick
aca569804e
Fixed #3964 -- Added a custom SortedDict.__repr__ so that the keys are printed
...
in sorted order. Based on a patch from Forest Bond.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5069 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-25 07:30:54 +00:00