Aymeric Augustin
0efafa4c54
Fixed #18447 -- Made LazyObject unwrap on dict access.
...
Thanks Roman Gladkov and Zbigniew Siciarz.
2013-03-18 11:10:19 +01:00
Aymeric Augustin
7cf0f04230
Clarified that constant_time_compare doesn't protect string lengths.
2013-03-18 09:45:44 +01:00
Aymeric Augustin
e11ccc76d3
Updated bundled version of six.
2013-03-17 10:44:28 +01:00
Claude Paroz
2f121dfe63
Fixed #17051 -- Removed some 'invalid' field error messages
...
When the 'invalid' error message is set at field level, it masks
the error message raised by the validator, if any.
2013-03-14 17:03:43 +01:00
Anssi Kääriäinen
d3f00bd570
Refactored qs.add_q() and utils/tree.py
...
The sql/query.py add_q method did a lot of where/having tree hacking to
get complex queries to work correctly. The logic was refactored so that
it should be simpler to understand. The new logic should also produce
leaner WHERE conditions.
The changes cascade somewhat, as some other parts of Django (like
add_filter() and WhereNode) expect boolean trees in certain format or
they fail to work. So to fix the add_q() one must fix utils/tree.py,
some things in add_filter(), WhereNode and so on.
This commit also fixed add_filter to see negate clauses up the path.
A query like .exclude(Q(reversefk__in=a_list)) didn't work similarly to
.filter(~Q(reversefk__in=a_list)). The reason for this is that only
the immediate parent negate clauses were seen by add_filter, and thus a
tree like AND: (NOT AND: (AND: condition)) will not be handled
correctly, as there is one intermediary AND node in the tree. The
example tree is generated by .exclude(~Q(reversefk__in=a_list)).
Still, aggregation lost connectors in OR cases, and F() objects and
aggregates in same filter clause caused GROUP BY problems on some
databases.
Fixed #17600 , fixed #13198 , fixed #17025 , fixed #17000 , fixed #11293 .
2013-03-13 10:44:49 +02:00
Aymeric Augustin
679af4058d
Restricted a workaround for a bug in Python to the affected versions.
2013-03-12 14:05:10 +01:00
Loic Bistuer
6983a1a540
Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet.
2013-03-08 10:11:45 -05:00
Preston Holmes
876fc39128
PEP8 cleanup of functional.py
2013-03-06 16:14:46 -08:00
Preston Holmes
0ea5bf88dd
Fixed #19543 -- implemented SimpleLazyObject.__repr__
...
Thanks to Florian Hahn for the patch
2013-03-06 16:13:12 -08:00
Claude Paroz
8e8c9b908a
Fixed getting default encoding in get_system_username
...
Refs #19933 .
2013-03-02 22:41:08 +01:00
Claude Paroz
384c180e41
Fixed #19917 -- Added microseconds in default TIME_INPUT_FORMATS
...
Thanks minddust for the report.
2013-03-02 18:11:10 +01:00
Claude Paroz
d680a3f447
Added support for serializing BinaryField
2013-03-02 10:29:02 +01:00
Claude Paroz
8ee1eddb7e
Add a BinaryField model field
...
Thanks Michael Jung, Charl Botha and Florian Apolloner for review
and help on the patch.
2013-03-02 10:29:02 +01:00
Łukasz Langa
40b9f4fb8b
[py3] Always fed hashlib with bytes.
2013-02-27 10:02:07 +01:00
Łukasz Langa
6a057e1595
Fixed #18191 -- Don't consider Accept-Language redundantly in cache key.
...
Thanks to choongmin for the original patch.
2013-02-25 16:10:57 -07:00
Aymeric Augustin
e76147a83a
Fixed #19634 -- Added proper __hash__ methods.
...
Classes overriding __eq__ need a __hash__ such that equal objects have
the same hash.
Thanks akaariai for the report and regebro for the patch.
2013-02-25 23:05:20 +01:00
Łukasz Langa
8c8f94fe9d
Fixes #19763 - LocaleMiddleware should check for supported languages in settings.LANGUAGE_CODE
2013-02-24 14:43:45 +01:00
Tomek Paczkowski
b88abd6840
Fixed #19872
...
Made cached_property to behave as property when accessed via class.
2013-02-23 23:20:00 +01:00
Łukasz Langa
539900f117
Fixes #17866 : Vary: Accept-Language header when language prefix used
2013-02-23 19:41:33 +01:00
Konrad Hałas
48dc0cbf2a
Changed %r to %s in get_language_info error message.
2013-02-23 18:54:54 +01:00
Konrad Hałas
6bd6a56896
Fixed #19811 - Added language code fallback in get_language_info.
2013-02-23 17:02:07 +01:00
Claude Paroz
b19d83fc12
Improved input sanitizing with thousand separators
...
For languages with non-breaking space as thousand separator,
standard space input should also be allowed, as few people know
how to enter non-breaking space on keyboards. Refs #17217 .
Thanks Alexey Boriskin for the report and initial patch.
2013-02-15 16:37:52 +01:00
Claude Paroz
ac4faa6dc3
Fixed #19693 -- Made truncatewords_html handle self-closing tags
...
Thanks sneawo for the report and Jonathan Loy for the patch.
2013-02-13 18:24:49 +01:00
Aymeric Augustin
5a3d9490f1
Accepted None in tzname().
...
This is required by the tzinfo API, see Python's docs.
Also made _get_timezone_name deterministic.
2013-02-11 21:56:35 +01:00
Alexey Boriskin
d18f796a48
Fixed #19704 -- Make use of new ungettext_lazy function at appropriate places
2013-02-06 22:01:55 +01:00
Claude Paroz
d7504a3d7b
Improved regex in strip_tags
...
Thanks Pablo Recio for the report. Refs #19237 .
2013-02-06 21:20:43 +01:00
Simon Charette
5449240c54
Fixed #9800 -- Allow "isPermaLink" attribute in <guid> element of an RSS item.
...
Thanks @rtnpro for the patch!
2013-02-06 05:28:05 -05:00
Claude Paroz
7c5b244826
Fixed #17061 -- Factored out importing object from a dotted path
...
Thanks Carl Meyer for the report.
2013-02-04 16:38:25 +01:00
Aymeric Augustin
ace9d4efc3
Made ungettext_lazy usable for messages that do not contain the count.
...
Fixed #19160 (again). Thanks Alexey Boriskin.
2013-02-02 10:58:31 +01:00
Claude Paroz
04141c525d
Fixed #19663 -- Allowed None in colorize() text parameter
...
Thanks Jonathan Liuti for the report and the initial patch, and
Simon Charette for the review.
2013-02-01 22:53:18 +01:00
Aymeric Augustin
9a4a1ce323
Fixed #19708 -- Exception in timezone.override(None).
...
Thanks rafales.
2013-01-31 16:01:50 +01:00
Aymeric Augustin
3f1a0c0040
Fixed #19160 -- Made lazy plural translations usable.
...
Many thanks to Alexey Boriskin, Claude Paroz and Julien Phalip.
2013-01-30 20:28:16 +01:00
Ramiro Morales
47ddd6a408
Fixed #19552 -- Enhanced makemessages handling of ``{# #}``-style template comments.
...
They are simply ignored now. This allows for a more correct behavior when
they are placed before translatable constructs on the same line.
Previously, the latter were wrongly ignored because the former were
preserved when converting template code to the internal Python-syntax
form later fed to xgettext but Python has no ``/* ... */``-style
comments.
Also, special comments directed to translators are now only taken in
account when they are located at the end of a line. e.g.::
{# Translators: ignored #}{% trans "Literal A" %}{# Translators: valid, associated with "Literal B" below #}
{% trans "Literal B" %}
Behavior of ``{% comment %}...{% endcomment %}``tags remains unchanged.
Thanks juneih at redpill-linpro dot com for the report and Claude for
his work on the issue.
2013-01-29 19:13:23 -03:00
Aymeric Augustin
55416e235d
Fixed #19589 -- assertRegexpMatches is deprecated in Python 3.3.
2013-01-26 13:47:11 +01:00
Tim Graham
eafc036476
Fixed #19577 - Added HTML escaping to admin examples.
...
Thanks foo@ for the report and Florian Apolloner for the review.
2013-01-25 06:53:40 -05:00
Claude Paroz
c6e0dedbdb
Fixed #19637 -- Ensured AdminEmailHandler fails silently
...
Thanks lsaffre for the report. Refs #19325 .
2013-01-21 20:32:36 +01:00
Thomas Bartelmess
f9a46d7bc9
Made dev server autoreloader ignore filenames reported as None.
...
Useful under Jython. Thanks Thomas Bartelmess for the report and patch.
Ref #9589 .
2013-01-11 15:31:39 -03:00
Florian Apolloner
c5ce0e8a68
Updated our six module to follow upstream changes.
...
This includes fixes for the java/jython detection and a new license header.
Thanks to Thomas Bartelmess for the report.
2013-01-01 16:21:32 +01:00
Aymeric Augustin
ef017a5f00
Advanced pending deprecation warnings.
...
Also added stacklevel argument, fixed #18127 .
2012-12-29 21:59:07 +01:00
Aymeric Augustin
9f9a4cdecd
Removed truncate_words and truncate_html_words.
2012-12-29 21:59:07 +01:00
Aymeric Augustin
e00d1b6dc6
Removed obsolete compatibility functions for old Pythons.
2012-12-29 21:59:07 +01:00
Aymeric Augustin
f27a4ee327
Removed django.contrib.localflavor.
...
Each localflavor lives on as a separate app.
2012-12-29 21:59:06 +01:00
Aymeric Augustin
fb9f1b9bfb
Removed backwards-compatibility shim for #16288 .
...
Also unit-tested django.utils.log.RequireDebugTrue for consistency.
2012-12-29 21:58:12 +01:00
Florian Apolloner
4a71b84266
Fixed #19204 -- Replaced python2-style exception syntax.
...
Thanks to garrison for the report and patch.
2012-12-24 14:05:36 +01:00
Aymeric Augustin
bbabfdccce
Fixed #19485 -- Python 3 compatibility for c2a6b2a4
.
...
Refs #9589 .
2012-12-17 09:46:26 +01:00
Tim Graham
507c081484
Fixed #18718 - Documented django.utils.encoding.filepath_to_uri
2012-12-16 14:39:37 -05:00
Ramiro Morales
730c0d2e72
Fixed a couple of docstring typos.
2012-12-15 10:22:22 -03:00
Ramiro Morales
c2a6b2a43f
Fixed #9589 -- Made development web server more robust in the presence of a wider variety of code errors.
...
Thanks goes to contributor with Trac user 'berto' for the patch.
2012-12-15 10:17:25 -03:00
Florian Apolloner
a2f2a39956
Fixed #18856 -- Ensured that redirects can't be poisoned by malicious users.
2012-12-10 22:11:39 +01:00
Claude Paroz
c91667338a
Fixed #19357 -- Allow non-ASCII chars in filesystem paths
...
Thanks kujiu for the report and Aymeric Augustin for the review.
2012-12-08 11:13:52 +01:00
Tom Insam
74809fdcc7
cope with unsplittable urls in smarl_urlquote.
2012-12-03 12:13:24 +00:00
Claude Paroz
349c4c37f8
Fixed #19015 -- Add ISO input formats to all formats
2012-12-01 14:05:52 +01:00
Chris Khoo
bf1871d874
Fixed #19237 -- Improved strip_tags utility
...
The previous pattern didn't properly addressed cases where '>'
was present inside quoted tag content.
2012-11-24 12:16:52 +01:00
Hannes Struss
f9891f2087
Fixed #19325 - Made email backend of AdminEmailHandler configurable
2012-11-20 11:23:12 +01:00
Preston Holmes
44046e8a38
Fixed #18985 -- made DeprecationWarnings loud
...
Capture warnings in Python >= 2.7 and route through
console handler, which is subject to DEBUG==True
Thanks to dstufft for the idea, and claudep for initial patch
2012-11-16 17:07:38 -08:00
Claude Paroz
550ddc66b4
Fixed #19272 -- Fixed gettext_lazy returned type on Python 2
...
Thanks tyrion for the report.
2012-11-14 10:50:15 +01:00
Anssi Kääriäinen
fa18b0ac89
Some changes to SortedDict to make it faster under py2
...
Refs #19276
2012-11-13 22:48:25 +02:00
Adrian Holovaty
09a39ca082
Negligible spacing fix in utils/log.py
2012-11-12 14:19:11 -06:00
Aymeric Augustin
fc10418fba
Fixed #18963 -- Used a subclass-friendly pattern
...
for Python 2 object model compatibility methods.
2012-11-03 22:07:35 +01:00
Andrew Godwin
7f75460fd6
Fixed #19070 -- urlize filter no longer raises exceptions on 2.7
...
Thanks to claudep for the patch.
2012-10-31 10:58:14 +00:00
Ian Clelland
3266c26eb2
Properly support pickling of LazyObjects in Python 3.3
2012-10-26 01:40:33 +01:00
Aymeric Augustin
45c8818503
Ensured get_version returns a native string.
...
Returning unicode triggers a bug in Python 2.7:
http://bugs.python.org/issue11638
This problem was introduced in 4a103086
(unicode_literals).
2012-10-25 21:49:18 +02:00
Alex Gaynor
ce1eb320e5
Remove a case that is no longer reachable in encodings.py.
...
This case was originally designed to handle Exception's which didn't gracefully support coercing themselves to unicode. However, because it lives in the `else` case of `if hasattr(s, '__unicode__'):` we can be sure it's no longer reachable in djanog anymore, because since Python 2.5 exception has subclassed object, which means Exception objects always have an __unicode__ method.
2012-10-24 15:53:00 -07:00
Claude Paroz
22471a41ba
Merge pull request #457 from JanBednarik/ticket_19142
...
Fixed #19142 -- Language codes can include numbers (RFC 3066)
2012-10-21 10:35:01 -07:00
Alex Gaynor
6b3d2bc981
Merge pull request #444 from mitar/patch-2
...
Allow reversed iteration over SortedDict.
2012-10-20 20:39:49 -07:00
Jan Bednařík
e6b34193c5
Fixed #19142 -- Language codes can include numbers (RFC 3066).
2012-10-21 01:25:35 +02:00
Aymeric Augustin
4b27813198
Fixed #7581 -- Added streaming responses.
...
Thanks mrmachine and everyone else involved on this long-standing ticket.
2012-10-20 20:05:11 +02:00
Mitar
c3fabb282d
Allow reversed iteration over SortedDict.
...
Iterators cannot be reversed easily without this method.
2012-10-15 04:16:46 -07:00
Claude Paroz
afbf913b90
Build context strings out of [u|n]gettext
...
The context strings in [n]pgettext functions should not be marked
themselves for translation.
2012-10-15 10:00:22 +02:00
Anssi Kääriäinen
a8b1861fc4
Revert "Fixed #16211 -- Added comparison and negation ops to F() expressions"
...
This reverts commit 28abf5f0eb
.
Conflicts:
docs/releases/1.5.txt
2012-10-10 01:15:29 +03:00
Anssi Kääriäinen
28abf5f0eb
Fixed #16211 -- Added comparison and negation ops to F() expressions
...
Work done by Walter Doekes and Trac alias knoeb. Reviewed by Simon
Charette.
2012-09-30 17:51:06 +03:00
Claude Paroz
10e505b1b3
Moved filter at handler level
...
Filters at logger level are only processed for messages directly
logged to the specific logger, not for loggers in the parent chain.
As the 'django' logger is almost always processed as an inherited
logger, it makes more sense to filter messages at the 'console'
handler level.
2012-09-29 23:50:34 +02:00
Claude Paroz
f0f327bbfe
Fixed #18993 -- 'django' logger logs to console when DEBUG=True
...
Thanks Preston Holmes for the review.
2012-09-29 22:56:18 +02:00
Claude Paroz
a014ddfef2
Combined Django DEFAULT_LOGGING with user LOGGING config
...
Refs #18993 .
2012-09-29 22:56:18 +02:00
Julien Phalip
b8244c654c
Fixed #18881 -- Made the context option in {% trans %} and {% blocktrans %} accept literals wrapped in single quotes. Thanks to lanyjie for the report.
2012-09-27 20:34:45 -07:00
Claude Paroz
b3ee80a0cf
Fixed parse_http_date docstring and moved related tests
...
Refs #18675 .
2012-09-26 21:10:17 +02:00
Aymeric Augustin
822cfce3df
Fixed #18951 -- Formatting of microseconds.
...
Thanks olofom at gmail com for the report.
2012-09-22 12:02:21 +02:00
Dave Hall
44767f2caf
Use unicode.translate to speed up js escaping.
2012-09-18 21:15:15 +02:00
Florian Apolloner
319e135519
Fixed #18800 -- Support numbers bigger than max float in `numberformat`.
...
Thanks to jbvsmo for the patch and Brad Pitcher for the tests.
2012-09-18 19:43:50 +02:00
Carl Meyer
fcec904e4f
Fix an HTML-parser test that's failed in Python 2.6.8 since 5c79dd58
.
...
The problem description in #18239 asserted that
http://bugs.python.org/issue670664 was fixed in Python 2.6.8, but based on
http://bugs.python.org/issue670664#msg146770 it appears that's not correct; the
fix was only applied in 2.7, 3.2, and Python trunk. Therefore we must use our
patched HTMLParser subclass in all Python 2.6 versions.
2012-09-09 12:13:42 -06:00
Alex Gaynor
b865009d41
Fixed #12397 -- allow safe_join to work with the root file system path, which means you can have your root template or file upload path at this location. You almost certainly don't want to do this, except in *very* limited sandboxed situations.
2012-09-07 16:49:22 -04:00
Alex Gaynor
292322f977
[py3k] Silence many warnings while running the tests.
2012-09-07 13:17:34 -04:00
Claude Paroz
cc9b767fc6
Fixed #18902 -- Made force_bytes properly handle exception input
...
Thanks Aymeric Augustin for the report and the initial patch.
2012-09-04 09:27:28 +02:00
Claude Paroz
ae88e73fa6
Replaced some smart_xxx by force_xxx equivalent
...
smart_str/smart_text should only be used when a potential lazy
string should be preserved in the result of the function call.
2012-08-30 15:46:16 +02:00
Claude Paroz
ebc773ada3
Replaced many smart_bytes by force_bytes
...
In all those occurrences, we didn't care about preserving the
lazy status of the strings, but we really wanted to obtain a
real bytestring.
2012-08-29 11:20:32 +02:00
Aymeric Augustin
20012b961e
[py3] Updated bundled version of six
2012-08-28 23:20:55 +02:00
Aymeric Augustin
03671ad7e3
Reordered imports
...
to avoid an error introduced in 5301a9d7b1
.
2012-08-23 10:24:50 +02:00
Aymeric Augustin
5301a9d7b1
[py3] Removed duplicate imports.
...
Fixed #18837 . Refs #18791 .
2012-08-23 10:16:16 +02:00
Claude Paroz
ab2f65bb7f
Removed obsolete __members__ definitions
...
This was useful for pre-Python 2.6 support. See commit c6e8e5d9
.
2012-08-21 11:20:22 +02:00
Aymeric Augustin
e89bc39935
Reverted type check added in 62954ba04c
.
...
Refs #17040 .
2012-08-21 09:00:55 +02:00
Aymeric Augustin
62954ba04c
[py3] Fixed #17040 -- ported django.utils.crypto.constant_time_compare.
...
This is a private API; adding a type check is acceptable.
2012-08-20 22:50:49 +02:00
Aymeric Augustin
2f59e94a41
Fixed #18728 -- Made colon optional in tzinfo
...
Made two-digit hours and minutes mandatory in tzinfo (the code used
to crash if a one-digit representation was provided).
Added standalone tests for django.utils.dateparse.
2012-08-19 21:47:41 +02:00
Aymeric Augustin
a43ecc0444
Removed an inaccurate statement
...
in docstrings of dateparse functions.
2012-08-19 21:25:41 +02:00
Aymeric Augustin
afc1bd7ab8
[py3] Made 212b9826bd
Python 3-friendly
2012-08-18 17:51:16 +02:00
Aymeric Augustin
a120fac65a
Introduced force_bytes and force_str.
...
This is consistent with the smart_* series of functions and it's going
to be used by the next commit.
2012-08-18 16:38:49 +02:00
Marc Tamlyn
212b9826bd
Fixed #14516 -- Extract methods from removetags and slugify template filters
...
Patch by @jphalip updated to apply, documentation and release notes
added.
I've documented strip_tags as well as remove_tags as the difference
between the two wouldn't be immediately obvious.
2012-08-18 15:07:21 +01:00
Aymeric Augustin
547b181046
[py3] Ported django.utils.safestring.
...
Backwards compatibility aliases were created under Python 2.
2012-08-18 16:04:06 +02:00
Aymeric Augustin
85e7a5e140
[py3] Stopped attempting to translate bytes.
...
That goes actively against the goal of cleaning string handling.
2012-08-18 11:36:09 +02:00
Aymeric Augustin
4c1286cf78
[py3] Added compatibility import of thread/_thread
...
This commit fixes the auto-reload of the development server.
I should have done that change in ca07fda2
.
2012-08-18 10:56:56 +02:00
Claude Paroz
5c79dd5865
Fixed #18239 -- Subclassed HTMLParser only for selected Python versions
...
Only Python versions affected by http://bugs.python.org/issue670664
should patch HTMLParser.
Thanks Raphaël Hertzog for the initial patch (for 1.4).
2012-08-16 21:03:11 +02:00