Aymeric Augustin
428c0bbe1b
Appeased flake8 2.1.0.
2014-04-21 12:27:34 +02:00
Alex Gaynor
21a1fddcc4
Typo fix
2014-04-17 11:04:57 -07:00
Alex Gaynor
cb68eb3e6d
Use the stdlib's PBKDF2 implementation when available.
...
This is a bit faster than ours, which is good, because it lets you increase
the iteration counts.
This will be used on Python 3.4+, and, pending the acceptance of PEP466, on
newer Python 2.7s.
2014-04-17 11:02:42 -07:00
Tomasz Wysocki
c28beb4291
Refactored and commented strip_tags utility
2014-04-03 21:24:29 +02:00
Alex Gaynor
608e6eb295
Added an explanatory comment. Refs #22017
2014-04-02 09:47:18 -07:00
Alex Gaynor
666990a2a0
Revert "Merge pull request #2508 from tomwys/patch-1"
...
This reverts commit c45607e939
, reversing
changes made to 9769337ca8
.
2014-04-02 09:45:42 -07:00
Alex Gaynor
66cbd81456
Merge pull request #2509 from tomwys/patch-2
...
Refactor. Stop using memory for list copies.
2014-04-02 08:35:42 -07:00
Tomasz Wysocki
cb9704fc4f
Refactor. Stop using memory for list copies.
2014-04-02 17:32:51 +02:00
Tomasz Wysocki
6eb891f57a
Don't copy list for iteration.
2014-04-02 17:28:09 +02:00
Alex Gaynor
778ce245dd
Corrected many style guide violations that the newest version of flake8 catches
2014-03-30 12:11:05 -07:00
Aymeric Augustin
f356b6ecc3
Increased memoization cache size for language codes.
...
There may be more than 100 (default maxsize) commonly seen xx-yy values
on some sites. The additional memory consumption isn't significant.
Also added a comment explaining why this cache must have a maxsize.
2014-03-29 19:47:15 +01:00
Tim Graham
12e9adcd71
Corrected deprecation warnings.
2014-03-27 17:48:12 -04:00
Tim Graham
dadf2ee75f
Fixed a deprecation warning with the HTMLParser safe argument.
...
refs 6ca6c36f82
2014-03-27 09:17:49 -04:00
Chris Beaven
b077ba7ac1
Add a useful stacklevel to some RemovedInDjango19Warnings
2014-03-27 15:44:52 +13:00
Tim Graham
45ef4baf5c
Fixed Python 3.4 test failure.
2014-03-26 09:57:00 -04:00
Tim Graham
2ec82c7387
Updated six to 1.6.1.
2014-03-24 07:33:55 -04:00
Aymeric Augustin
232181d1c5
Advanced deprecation warnings for 1.8.
2014-03-22 21:12:58 +01:00
Alex Gaynor
684e8a941b
Removed an unused variable.
2014-03-22 10:11:39 -07:00
Claude Paroz
6ca6c36f82
Improved strip_tags and clarified documentation
...
The fact that strip_tags cannot guarantee to really strip all
non-safe HTML content was not clear enough. Also see:
https://www.djangoproject.com/weblog/2014/mar/22/strip-tags-advisory/
2014-03-22 10:59:18 +01:00
Tim Graham
4965a77407
Removed PIL compatability layer per deprecation timeline.
...
refs #19934 .
2014-03-21 10:54:53 -04:00
Tim Graham
6d1ae5e27c
Removed reading of old 'django_language' session variable per deprecation timeline.
...
refs #5789 .
2014-03-21 09:53:16 -04:00
Tim Graham
8b81dee60c
Removed fix_ampersands template filter per deprecation timeline.
...
Also removed related utility functions:
* django.utils.html.fix_ampersands
* django.utils.html.clean_html
2014-03-21 08:50:43 -04:00
Andrew Godwin
356f064c49
Merge pull request #2221 from bmispelon/LazyObject-refactor
...
Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject...
2014-03-19 21:01:24 -07:00
Matthew Somerville
61296fb1ba
Fixed #22283 -- Updated documentation referring to non-existent tuples.
2014-03-18 10:57:47 +01:00
Baptiste Mispelon
5c5b266b54
Simplified implementation of collectstatic command.
...
Since d2e242d16c6dde6f4736086fb38057424bed3edb made isinstance()
calls work correctly on LazyObject, we can simplify the
implementation of is_local_storage added in
7e27885c6e
.
2014-03-13 10:03:01 +01:00
Baptiste Mispelon
61917aa08b
Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject.
...
This commit also added tests for LazyObject and refactored
the testsuite of SimpleLazyObject so that it can share
test cases with LazyObject.
2014-03-13 10:03:01 +01:00
Claude Paroz
0c6a339952
Avoided changing raw DeprecationWarning filter behavior
...
Refs #21188 . Now pure Python DeprecationWarning visibility should
be back to Python defaults.
2014-03-08 11:13:48 +01:00
Claude Paroz
210d0489c5
Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warnings
...
Thanks Anssi Kääriäinen for the idea and Simon Charette for the
review.
2014-03-08 09:57:40 +01:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Erik Romijn
775975f15d
Fixed #22130 -- Deprecated fix_ampersands, removed utils.clean_html()
2014-03-01 14:07:57 +01:00
Bouke Haarsma
2bab9d6d9e
Fixed #21389 -- Accept most valid language codes
...
By removing the 'supported' keyword from the detection methods and only relying
on a cached settings.LANGUAGES, the speed of said methods has been improved;
around 4x raw performance. This allows us to stop checking Python's incomplete
list of locales, and rely on a less restrictive regular expression for
accepting certain locales.
HTTP Accept-Language is defined as being case-insensitive, based on this fact
extra performance improvements have been made; it wouldn't make sense to
check for case differences.
2014-02-26 16:58:04 +01:00
Alex Gaynor
2798e63fa1
Extra new line to make flake8 happy
2014-02-22 11:50:19 -06:00
Erik Romijn
8cd32f0965
Fixed #22120 -- Documented persistent activation of languages and cleaned up language session key use
2014-02-22 18:29:06 +01:00
Baptiste Mispelon
926e18d7d1
Deprecated django.utils.text.javascript_quote.
...
Refs #21725 .
2014-02-22 13:50:12 +01:00
MattBlack85
a8ba76c2d3
Fixed #19980 : Signer broken for binary keys (with non-ASCII chars).
...
With this pull request, request #878 should considered closed.
Thanks to nvie for the patch.
2014-02-16 16:50:50 +01:00
MattBlack85
1c1dffca75
Fixed #21725 -- Fixed JavaScript quoting encoding.
...
Thanks to nedbatchelder for the report.
2014-02-15 19:39:21 +01:00
Jeremy
f94f466cd3
Fixed #19496 -- Added truncatechars_html filter.
...
Thanks esevece for the suggestion and Nick Sandford and Martin Warne
for the inital work on the patch.
2014-02-13 10:27:27 -05:00
Claude Paroz
e0381cdf2e
Fixed #22017 -- Prevented RuntimeError on Python 3
...
Refs #21049 . Thanks quinox for the report.
2014-02-12 10:26:08 +01:00
Jannis Leidel
5cc0555603
Fixed #21482 -- Uplifted restriction of collectstatic using symlink option in Windows NT 6.
...
Original patch by Vajrasky Kok. Reviewed by Florian Apolloner, Aymeric Augustin.
2014-02-09 12:39:20 +00:00
Marc Tamlyn
80cd64ee17
Fixed #21247 -- Made method_decorator play nicely with descriptors
...
When a method decorator was used in conjunction with a decorator
implemented as a descriptor, method_decorator did not correctly respect
the method binding.
Thanks for Graham Dumpleton for the report and initial patch.
2014-02-09 11:23:09 +00:00
Marc Tamlyn
46a87214ca
Merge pull request #1997 from dpwrussell/method_decorator_args_fix
...
Used available_attrs in method_decorator
2014-02-09 10:12:22 +00:00
Berker Peksag
5d263dee30
Fixed #21674 -- Deprecated the import_by_path() function in favor of import_string().
...
Thanks Aymeric Augustin for the suggestion and review.
2014-02-08 11:12:19 -05:00
Vajrasky Kok
c43c469a2e
Fixed #21731 -- Made javascript_quote escapes '</'.
2014-02-06 04:02:09 -05:00
Baptiste Mispelon
a878bf9b09
Revert "Fixed #20296 -- Allowed SafeData and EscapeData to be lazy"
...
This reverts commit 2ee447fb5f
.
That commit introduced a regression (#21882 ) and didn't really
do what it was supposed to: while it did delay the evaluation
of lazy objects passed to mark_safe(), they weren't actually
marked as such so they could end up being escaped twice.
Refs #21882 .
2014-02-05 21:22:40 +01:00
Tim Graham
780ae7e9f8
Fixed #21823 -- Upgraded six to 1.5.2
2014-01-26 15:13:35 -05:00
Aymeric Augustin
2b154ae280
Fixed #21880 -- Added missing items to django.utils.timezone.__all__.
...
Thanks Wim for the report.
2014-01-26 15:35:22 +01:00
Russell Keith-Magee
d818e0c9b2
Fixed #16905 -- Added extensible checks (nee validation) framework
...
This is the result of Christopher Medrela's 2013 Summer of Code project.
Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.
Also: Fixes #8579 , fixes #3055 , fixes #19844 .
2014-01-20 10:45:21 +08:00
Marc Tamlyn
89f12c0596
Add further workarounds for HTMLParser with Python 3.4.
...
Python 3.5 will change the default value of convert_charrefs, so 3.4
gives warnings if it's not present. This is slightly technical as 2.7
doesn't have the kwarg. Thankfully, we already have a bunch of
workarounds for different versions.
2014-01-12 23:11:55 +00:00
Aymeric Augustin
d674fe6dee
Used a regular lock for app registry population.
...
Since the app registry is always populated before the first request is
processed, the situation described in #18251 for the old app cache
cannot happen any more.
Refs #18251 , #21628 .
2014-01-12 22:08:46 +01:00
dpwrussell
14940fdd96
Fixed #21513 -- Added method_decorator support for argumented decorator
...
Copied attributes into the decorated method and special case __name__
copy as this will not be present on a Class object. Added regression
test to decorator suite.
2014-01-10 10:45:26 +00:00
Claude Paroz
b8e3373f45
Fixed #21714 -- Moved logging configuration to global setup()
...
Thanks Aymeric Augustin for the report and the review.
2013-12-31 18:35:00 +01:00
ijl
71a03e01aa
Fixed #20346 -- Made cache middleware vary on the full URL.
...
Previously, only the URL path was included in the cache key.
Thanks jamey for the suggestion.
2013-12-28 11:20:18 -05:00
Aymeric Augustin
ce1bc2c94b
Made the AppConfig API marginally more consistent.
...
Eliminated the app_ prefix that was more confusing than useful.
2013-12-26 19:25:09 +01:00
Aymeric Augustin
8f04f53dd8
Removed a few gratuitous lambdas.
2013-12-26 14:03:50 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Marc Tamlyn
b4a11f2720
Fixed #21651 -- Remove recapitalize.
...
It was not used inside Django, is not tested or documented. Consequently
remove without deprecation path.
Thanks to @vajrasky for bringing it to our attention.
2013-12-22 19:43:29 +00:00
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
65cd74be8e
Stopped iterating on INSTALLED_APPS.
...
Used the app cache's get_app_configs() method instead.
2013-12-22 11:39:18 +01:00
Aymeric Augustin
73c9e65b75
Added a context manager to hold the import lock.
2013-12-22 11:39:17 +01:00
Baptiste Mispelon
3eb58f0dd1
Removed unnecessary function-level import.
2013-12-16 15:30:51 +01:00
Vajrasky Kok
db41778e8c
Removed unnecessary call to force_text in utils.html.clean_html.
...
Refs #21574
2013-12-16 15:22:54 +01:00
Aymeric Augustin
3beffea4b0
Fixed #21621 -- Removed kqueue autoreloader.
2013-12-15 14:43:52 +01:00
Loic Bistuer
6685713869
Fixed E127 pep8 warnings.
2013-12-14 11:59:15 -05:00
Baptiste Mispelon
2c837233f5
Fixed #21574 -- Handle bytes consistently in utils.text.normalize_newlines.
...
All input is now coerced to text before being normalized.
This changes nothing under Python 2 but it allows bytes
to be passed to the function without a TypeError under Python3
(bytes are assumed to be utf-8 encoded text).
Thanks to trac user vajrasky for the report.
2013-12-12 16:09:12 +01:00
Baptiste Mispelon
b9c7234e2a
Fixed PEP257 violations (single-quoted docstrings) in utils.text.
2013-12-12 16:08:59 +01:00
Loic Bistuer
a2814846ca
Fixed E124 pep8 warnings.
2013-12-10 15:12:48 -05:00
Vajrasky Kok
a7cf48a2b7
Fixed #21573 -- Improved performance of utils.text.normalize_newlines.
2013-12-07 17:19:29 +01:00
Bouke Haarsma
91c38ce4b2
Fixed 21406 -- Made blocktrans 'trimmed' option preserve line numbers.
...
Thanks Bouke Haarsma for report, fix and initial patch.
2013-12-04 08:36:20 -03:00
Aymeric Augustin
4d738fcc3b
Fixed #21546 -- Strengthened kqueue detection.
...
Thanks Loic Bistuer.
2013-12-04 10:11:42 +01:00
Loic Bistuer
9ccde8cfaf
Fixed #21545 -- autoreload kqueue events weren't cleared which caused an infinite loop.
2013-12-03 00:12:04 +07:00
Christopher Medrela
7477a4ffde
Fixed E125 pep8 warnings
2013-11-28 08:50:11 -05:00
Richard Xia
5725236c3e
Fixed #21355 -- try importing _imaging from PIL namespace first.
2013-11-26 18:51:39 +02:00
Baptiste Mispelon
e681b2861d
Fixed #21500 -- Removed imports of deprecated utils.importlib
2013-11-24 16:45:01 +01:00
Curtis Maloney
ffc37e2343
Fixed #21012 -- New API to access cache backends.
...
Thanks Curtis Malony and Florian Apolloner.
Squashed commit of the following:
commit 3380495e93
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Nov 23 14:18:07 2013 +0100
Looked up the template_fragments cache at runtime.
commit 905a74f52b
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Nov 23 14:19:48 2013 +0100
Removed all uses of create_cache.
Refactored the cache tests significantly.
Made it safe to override the CACHES setting.
commit 35e289fe92
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Nov 23 12:23:57 2013 +0100
Removed create_cache function.
commit 8e274f747a
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Nov 23 12:04:52 2013 +0100
Updated docs to describe a simplified cache backend API.
commit ee7eb0f73e
Author: Curtis Maloney <curtis@tinbrain.net>
Date: Sat Oct 19 09:49:24 2013 +1100
Fixed #21012 -- Thread-local caches, like databases.
2013-11-23 15:06:59 +01:00
Baptiste Mispelon
8f5a688d00
Fixed #21458 -- Made check_for_language more resistant to malformed input.
...
Thanks to Sergey Sorokin for the report and to Bouke Haarsma for the review.
2013-11-20 17:51:53 +01:00
xuxiang
4cfe6ba6a3
Use `classmethod` as a decorator.
2013-11-19 23:08:21 -05:00
Alex Gaynor
10a09b8e60
Fixed the use of the -ise suffix, where -ize is prefered
2013-11-15 05:23:14 -08:00
Vajrasky Kok
8ed96464e9
Fixed typo in lru_cache.py; refs #21351 .
2013-11-12 18:45:35 +01:00
Alex Gaynor
bc742ca110
Flake8 fixes -- including not runnign flake8 over a backported file
2013-11-11 14:05:14 -08:00
Aymeric Augustin
f67cce0434
Fixed #21420 once more.
2013-11-11 15:48:48 +01:00
Bouke Haarsma
2397daab4a
Fixed #9523 -- Restart runserver after compiling apps translations
...
Django also uses locales provided by apps, which also might change. Also when
i18n is disabled, there is no need for watching translation files.
2013-11-11 11:43:09 +01:00
Aymeric Augustin
dbbd10e75f
Fixed #21420 -- Autoreloader on BSD with Python 3.
...
Thanks Bouke Haarsma for the report.
2013-11-11 10:46:24 +01:00
Aymeric Augustin
6010b5360f
Fix syntax error under Python 3.2.
2013-11-11 10:43:17 +01:00
Bouke Haarsma
9b7455e918
Fixed #21351 -- Replaced memoize with Python's lru_cache.
...
Replaced the custom, untested memoize with a similar decorator from Python's
3.2 stdlib. Although some minor performance degradation (see ticket), it is
expected that in the long run lru_cache will outperform memoize once it is
implemented in C.
Thanks to EvilDMP for the report and Baptiste Mispelon for the idea of
replacing memoize with lru_cache.
2013-11-11 08:53:09 +01:00
Bouke Haarsma
7a7c789d5a
Fixed #5849 -- Strip whitespace from blocktrans
...
Add the trimmed option to the blocktrans tag to trim any newlines and
whitespace from its content.
This allows the developer to indent the blocktrans tag without adding
new lines and whitespace to the msgid in the PO file.
Thanks to mpessas for the initial patch and Dmitri Fedortchenko for the
report.
2013-11-08 00:52:17 +02:00
Alex Gaynor
e5b7045422
flake8 fixes
2013-11-06 20:00:48 -08:00
Baptiste Mispelon
8265323c91
Distinguish between browser-deprecated locales and internally
...
deprecated ones.
Thanks to bouke for pointing this out.
2013-11-06 12:27:35 +01:00
Baptiste Mispelon
79716dcca8
Fix python2 breakage caused by e5e044da87
.
2013-11-05 19:51:54 +01:00
Bouke Haarsma
e5e044da87
Fixed #18419 -- Full backwards compatibility for old language codes
...
Improved documentation about zh-* deprecation and upgrade path.
Thanks to Baptiste Mispelon for the code reviews.
2013-11-05 19:26:58 +01:00
Alex Gaynor
8a0489221e
Flake8 fixes
2013-11-05 09:17:50 -08:00
Baptiste Mispelon
bdca494464
Fixed python3 breakage introduced by c0a2388a1c
.
2013-11-04 23:57:43 +01:00
Bouke Haarsma
c0a2388a1c
Fixed #18149 -- Changed language codes for Chinese
...
Language codes for Chinese are zh_Hans (Simplified) and zh_Hant (Traditional).
Added support for browsers that still send the deprecated language codes.
Thanks to Olli Wang for the report.
2013-11-04 23:03:28 +01:00
Aymeric Augustin
cb2c3ce154
Merge pull request #1821 from Bouke/tickets/14170
...
#14170 -- Reset i18n cache when settings changed
2013-11-04 13:50:21 -08:00
Aymeric Augustin
37a2e70cec
Updated the set of watched files after each request.
...
Otherwise the kqueue-based autoreloader may not see changes to files
that weren't imported when the server started.
Thanks Bouke Haarsma for the report and Loïc Bistuer for locating the
problem.
2013-11-04 22:37:36 +01:00
Alex Gaynor
8ecba51ea0
Simplify (and very very slightly speed up) the pbkdf2 implementation
2013-11-04 09:45:27 -08:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Bouke Haarsma
d0669843d0
Fixed #14170 -- Reset i18n cache when settings change
2013-11-03 09:36:09 +01:00
Ray Ashman Jr
e2ae8b048e
Correct flake8 E302 violations
2013-11-02 19:53:29 -04:00
coagulant
3bc0d46a84
Fixed all E261 warnings
2013-11-02 18:20:39 -04:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Boryslav Larin
e737c009b8
Fixed flake8 E241
2013-11-02 21:45:40 +02:00
Alex Gaynor
ee48f4af99
Merge pull request #1848 from rayashmanjr/master
...
Correct flake8 violation E261
2013-11-02 12:34:34 -07:00
Ray Ashman Jr
dcfc8fa972
Correct flake8 violation E261
2013-11-02 15:27:47 -04:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Bouke Haarsma
c3936c0d79
Fixed #9523 -- Restart runserver after translation MO files change
...
Thanks to Krzysztof Kulewski for the initial patch.
2013-11-02 10:29:07 +01:00
Tim Graham
090315f5df
Fixed spelling ("dependant" -> "dependent")
...
Dependent means reliant on.
A dependant is a person like a child or spouse.
Thanks Andrew Wilcox for the report.
2013-11-01 21:29:39 -04:00
Aymeric Augustin
2bba0d275b
Improved resource limits handling in the kqueue autoreloader.
...
Refs #21356 . Thanks Loïc.
2013-11-01 10:31:01 +01:00
Aymeric Augustin
47217f2f29
Reduce the set of events that trigger a reload.
...
This seems to avoid multiple reloads.
2013-10-31 10:15:42 +01:00
Aymeric Augustin
8f09ec61f8
Add instant autoreload on platforms supporting kqueue.
2013-10-30 23:08:12 +01:00
Unai Zalakain
15f82c7011
Fixed #9722 - used pyinotify as change detection system when available
...
Used pyinotify (when available) to replace the "pool-every-one-second"
mechanism in `django.utils.autoreload`.
Thanks Chris Lamb and Pascal Hartig for work on the patch.
2013-10-30 11:45:43 -04:00
Alex Gaynor
b35ff0d920
Fixed all the E203 violations
2013-10-26 18:27:42 -07:00
Andrey Antukh
3351e94ffa
Fixed #21335 -- Use importlib from python3 when using python3
2013-10-26 22:53:12 +02:00
Alex Gaynor
f2d8027c9a
Fixed up some more flake8 violations (this particular violation still has many occurrences in the tests/ dir so it can't be removed from setup.cfg yet)
2013-10-26 10:50:40 -07:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Tim Graham
ae48d77ef8
Fixed E225 pep8 warnings.
2013-10-23 06:09:29 -04:00
Tim Graham
1597503a01
Fixed E221 pep8 warnings.
2013-10-22 09:51:39 -04:00
Bouke Haarsma
0d0f4f020a
Fixed #5789 -- Changed LocaleMiddleware session variable to '_language'.
...
The old 'django_language' variable will still be read from in order
to migrate users. The backwards-compatability shim will be removed in
Django 1.8.
Thanks to jdunck for the report and stugots for the initial patch.
2013-10-22 09:24:42 -04:00
Loic Bistuer
e565e1332d
Fixed #21275 -- Fixed a serializer error when generating migrations for contrib.auth.
...
The migration serializer now looks for a deconstruct method on any object.
2013-10-21 14:54:52 -04:00
Florian Apolloner
1e4f53a6eb
Fixed #21253 -- PBKDF2 with cached HMAC key
...
This gives a 2x speed increase compared to the existing implementation.
Thanks to Steve Thomas for the initial patch and Tim Graham for finishing it.
2013-10-21 19:54:47 +02:00
Tim Graham
499cd912ca
Fixed E227 pep8 warnings
2013-10-21 08:52:21 -04:00
Alasdair Nicol
b289fcf1bf
Fixed #21288 -- Fixed E126 pep8 warnings
2013-10-21 08:31:30 -04:00
Alasdair Nicol
a800036981
Fixed #21287 -- Fixed E123 pep8 warnings
2013-10-18 10:07:39 +01:00
Alasdair Nicol
bab9123daa
Fixed #21268 -- Fixed E303 pep8 warnings
2013-10-18 01:46:24 +01:00
Alasdair Nicol
dfb4cb9970
Fixed #21285 -- Fixed E121,E122 pep8 warnings
2013-10-17 20:20:11 -04:00
Bouke Haarsma
2fb5a51fa3
Fixed #18659 -- Deprecated request.REQUEST and MergeDict
...
Thanks Aymeric Augustin for the suggestion.
2013-10-17 09:42:28 -04:00
Alasdair Nicol
eb214452c3
Fixed #21270 -- Fixed E701 pep8 warnings
2013-10-17 12:12:40 +01:00
Alex Gaynor
694d7da6c5
Merge pull request #1744 from unaizalakain/ticket_7261
...
Fixed #7261 -- support for __html__ for library interoperability
2013-10-15 14:43:35 -07:00
Unai Zalakain
af64429b99
Fixed #7261 -- support for __html__ for library interoperability
...
The idea is that if an object implements __html__ which returns a string this is
used as HTML representation (eg: on escaping). If the object is a str or unicode
subclass and returns itself the object is a safe string type.
This is an updated patch based on jbalogh and ivank patches.
2013-10-15 00:42:42 +02:00
Larry O'Neill
83b9bfea44
Fixed #21266 -- Fixed E201,E202 pep8 warnings.
2013-10-14 18:12:00 -04:00
Aymeric Augustin
d9b6fb8f61
Fixed #21256 -- Error in datetime_safe.datetime.combine.
2013-10-13 19:09:26 +02:00
Aymeric Augustin
589dc49e12
Fixed #21198 -- Prevented invalid use of @python_2_unicode_compatible.
...
Thanks jpic for the report and chmodas for working on a patch.
Reverts 2ea80b94
. Refs #19362 .
2013-10-13 18:14:04 +02:00
Tim Graham
b67ab75e82
Fixed assorted flake8 errors.
2013-10-11 07:25:14 -04:00
Tim Graham
1dae4ac177
Whitespace cleanup.
...
* Removed trailing whitespace.
* Added newline to EOF if missing.
* Removed blank lines at EOF.
* Removed some stray tabs.
2013-10-10 16:49:20 -04:00
Tim Graham
ff9e8eccf8
Removed unnecessary semicolons.
2013-10-10 08:50:32 -04:00
Jaap Roes
40b95a24ae
Fixed #20568 -- truncatewords_html no longer splits words containing HTML entities.
...
Thanks yann0 at hotmail.com for the report.
2013-10-08 08:24:58 -04:00
Baptiste Mispelon
3754f4ad41
Fix #21185 : Added tests for unescape_entities.
...
Also fixed a py3 incompatibility.
Thanks to brutasse for the report.
2013-09-27 17:00:42 +02:00
Giles Richard Greenway
6c06adad1d
Fixed #20364 -- Changed urlize regexes to include quotation marks as punctation.
...
Thanks to EmilStenstrom for raising this, and to Chris Piwoński for all of the fixes and most of the tests.
2013-09-25 22:17:22 +02:00
Florian Apolloner
68540fe4df
Fixed #21138 -- Increased the performance of our PBKDF2 implementation.
...
Thanks go to Michael Gebetsroither for pointing out this issue and help on
the patch.
2013-09-24 21:06:26 +02:00
Aymeric Augustin
a5b062576b
Removed a few trailing backslashes.
...
We have always been at war with trailing backslashes.
2013-09-22 14:04:10 +02:00
Paul McMillan
a075e2ad0d
Increase default PBKDF2 iterations
...
Increases the default PBKDF2 iterations, since computers have gotten
faster since 2011. In the future, we plan to increment by 10% per
major version.
2013-09-19 18:02:25 +01:00
Tim Graham
893198509e
Fixed #15625 -- Made message in MultiValueDictKeyError less verbose.
...
Thanks margieroginski for the suggestion.
2013-09-18 06:44:38 -04:00
Juan Catalano
6feb75129f
Fixed #21060 -- Refactored admin's autodiscover method to make it reusable.
...
We want to be able to use it for instance for discovering `tasks.py` modules
inside the INSTALLED_APPS.
This commit therefore moves the logic to `autodiscover_modules` method in
django.utils.module_loading.
2013-09-13 20:09:41 -04:00
Daniel Sokolowski
ad6fcdb8d2
Fixed #20844 -- Made AdminEmailHandler respect LOGGING 'formatter' setting.
2013-09-13 07:27:54 -04:00
Gregor MacGregor
b2b763448f
Fixed #20841 -- Added messages to NotImplementedErrors
...
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00
Aymeric Augustin
d9413d33b2
Refactored code and tests that relied on django.utils.tzinfo.
...
Refs #17262 .
2013-09-09 22:32:52 +02:00
Aymeric Augustin
ec2778b445
Fixed #17262 -- Refactored tzinfo implementations.
...
This commit deprecates django.utils.tzinfo in favor of the more recent
django.utils.timezone which was introduced when Django gained support
for time zones.
2013-09-09 22:32:51 +02:00
Josh Mize
a52cc1c088
Fixed #21078 -- Handled additional bad Accept-Language header
2013-09-09 15:19:09 -04:00
Aymeric Augustin
ded11aa620
Fixed #18766 -- Pointed to pytz when LocalTimezone fails.
...
Thanks void for the report.
2013-09-08 02:04:43 -05:00
Alex Gaynor
2530735d2d
Fixed a number of flake8 errors -- particularly around unused imports and local variables
2013-09-06 21:56:40 -07:00
Adrian Holovaty
e844e10b4f
Moved a settings usage up the stack in utils/formats.py #unsettings
2013-09-06 17:01:36 -05:00
Max Burstein
559cb826b8
Fixed #21049 -- Fixed autoreload for Python 3
...
Changed th system module values check to return a list.
In Python 3 it returns a dict_view which could occassionally produce
a runtime error of "dictionary changed size during iteration".
2013-09-06 14:37:43 -05:00
Florian Apolloner
2326dedde8
Fixed #20812 -- Error out if __unicode__/__str__ doesn't return a text type.
2013-09-06 19:24:18 +02:00
Aymeric Augustin
b80be68e08
Fixed #21052 -- Small performance optimization.
2013-09-06 10:34:32 -05:00
Aymeric Augustin
e492ab8e7e
Fixed #18719 -- Made force_bytes more consistent with force_text.
2013-09-06 10:28:28 -05:00
Aymeric Augustin
6a6428a36f
Took advantage of django.utils.six.moves.urllib.*.
2013-09-05 14:39:23 -05:00
Aymeric Augustin
7b623247e8
Updated six to version 1.4.1.
2013-09-04 15:21:24 -05:00
Tim Graham
5649c0af9d
Fixed "indentation is not a multiple of four" pep8 issues.
2013-09-03 14:22:21 -04:00
Aymeric Augustin
365c3e8b73
Replaced "not PY3" by "PY2", new in six 1.4.0.
2013-09-02 12:11:02 +02:00
Aymeric Augustin
4292097078
Updated the bundled version of six to 1.4.0.
2013-09-02 12:07:03 +02:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Tim Graham
c7d0ff0cad
Fixed #20989 -- Removed explicit list comprehension inside dict() and tuple()
...
Thanks jeroen.pulles at redslider.net for the suggestion and
helper script.
2013-08-29 12:11:03 -04:00
Warren Smith
dd3a883894
Fixed #20693 -- Add timezone support to built-in time filter.
...
Modified django.utils.dateformat module, moving __init__() method and
timezone-related format methods from DateFormat class to TimeFormat
base class. Modified timezone-related format methods to return an
empty string when timezone is inappropriate for input value.
2013-08-26 16:15:53 -05:00
Simon Charette
eadecf0cdb
Avoid importing the deprecated `django.utils.importlib` package.
2013-08-21 22:30:02 +01:00
Simon Charette
e9b703f5a5
Correctly format missing Pillow/PIL exceptions messages. refs #19934
2013-08-21 22:30:02 +01:00
Andrew Godwin
b6a957f0ba
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Alex Gaynor
4090982617
Some code simplification
2013-08-18 09:43:41 -07:00
Nick Bruun
7a698c05b5
Update LazyObject method proxy declarations to simpler form.
2013-08-18 15:58:55 +02:00
Nick Bruun
b9ef96e73c
Regression test and patch for ticket #20924 .
2013-08-15 20:59:58 +02:00
Jacob Kaplan-Moss
ae3535169a
Fixed is_safe_url() to reject URLs that use a scheme other than HTTP/S.
...
This is a security fix; disclosure to follow shortly.
2013-08-13 11:06:22 -05:00
Andrew Godwin
7970d97a70
Docs tweaks (thanks timgraham)
2013-08-10 20:00:12 +01:00
Andrew Godwin
3c3d308ea3
Back SortedSet onto OrderedDict, rename it, and a few typo fixes
2013-08-10 19:50:06 +01:00
Andrew Godwin
de64c4d6e9
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/core/management/commands/flush.py
django/core/management/commands/syncdb.py
django/db/models/loading.py
docs/internals/deprecation.txt
docs/ref/django-admin.txt
docs/releases/1.7.txt
2013-08-09 14:17:30 +01:00
David Evans
8a160d5de1
Use `usegmt` flag in formatdate
...
Slightly cleaner and faster than string manipulation.
This flag has been available since Python 2.4:
http://docs.python.org/2/library/email.util.html#email.utils.formatdate
2013-08-07 12:00:39 +01:00
Curtis Maloney
07876cf02b
Deprecated SortedDict (replaced with collections.OrderedDict)
...
Thanks Loic Bistuer for the review.
2013-08-04 07:09:39 -04:00
Claude Paroz
fdd7a355bf
Deprecated django.utils.importlib
...
This was a shim for pre-Python 2.7 support.
2013-07-29 17:10:22 +02:00
Florian Apolloner
b70c371fc1
Simplified smart_urlquote and added some basic tests.
2013-07-28 10:05:39 +02:00
Andrew Godwin
d5ca169334
Fix "OK" alignment in migrate output
2013-07-26 16:52:17 +01:00
Andrew Godwin
03ec3219a0
Merge branch 'master' into schema-alteration
...
Conflicts:
django/db/backends/mysql/introspection.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/creation.py
django/db/models/base.py
django/db/models/loading.py
2013-07-22 19:04:25 +01:00
Matt Deacalion Stevens
a269ea4fe0
Fixed #14656 -- Added Atom1Feed `published` element
...
Some feed aggregators make use of the `published` element as well as
the `updated` element (within the Atom standard -- http://bit.ly/2YySb ).
The standard allows for these two elements to be present in the same
entry. `Atom1Feed` had implemented the `updated` element which was
incorrectly taking the date from `pubdate`.
2013-07-19 10:38:34 -04:00
Tim Graham
2456ffa42c
Fixed #20746 -- Removed Python 2.6 specific code/docs
2013-07-14 13:02:55 -04:00
Christopher Medrela
b4c61c2665
Added clarification comments to django.utils.image; refs #19934
2013-07-12 12:38:00 +02:00
SusanTan
d63327d843
Fixed #20711 -- Fixed broken link in timesince.py docstring
2013-07-07 12:40:05 -04:00
Andrew Godwin
b1e0ec06f0
Merge branch 'master' into schema-alteration
2013-07-02 10:49:53 +01:00
Aymeric Augustin
6c66a41c3d
Relied on NullHandler from the logging stdlib module.
2013-07-01 23:16:25 +02:00
Aymeric Augustin
72c65fea41
Deprecated django.utils.dictconfig.
...
The module still exists for whoever uses it in its current state, but it
isn't imported by Django anywhere.
2013-07-01 22:50:58 +02:00
Aymeric Augustin
09b446dfe8
This doesn't need to be a package any more.
...
Refs #20680 .
2013-07-01 22:46:35 +02:00
Aymeric Augustin
7f264e02f4
Fixed #20680 -- Deprecated django.utils.unittest.
...
Refs #19204 .
2013-07-01 14:29:33 +02:00
Aymeric Augustin
acd7b34aaf
Advanced deprecation warnings for Django 1.7.
2013-06-29 18:49:37 +02:00
Ramiro Morales
24bbf1367a
Removed django.utils.encoding.StrAndUnicode class, deprecated in Django 1.5.
2013-06-28 23:16:28 -03:00
Ramiro Morales
7379d9acea
Removed insert(), value_for_insert() SortedDict methods deprecated in Django 1.5.
2013-06-28 22:38:13 -03:00
Ramiro Morales
bb33ee5e7b
Removed django.utils.itercompat.product() as per deprecation TL.
2013-06-28 21:48:16 -03:00
Ramiro Morales
da6d303df4
Removed django.utils.simplejson as per deprecation TL.
2013-06-28 21:48:16 -03:00
Andrew Godwin
7a47ba6f6a
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/__init__.py
django/db/models/fields/related.py
tests/field_deconstruction/tests.py
2013-06-28 17:32:57 +01:00
Tim Graham
1184d07789
Fixed #14881 -- Modified password reset to work with a non-integer UserModel.pk.
...
uid is now base64 encoded in password reset URLs/views. A backwards compatible
password_reset_confirm view/URL will allow password reset links generated before
this change to continue to work. This view will be removed in Django 1.7.
Thanks jonash for the initial patch and claudep for the review.
2013-06-26 13:11:47 -04:00
Aymeric Augustin
ffcf24c9ce
Removed several unused imports.
2013-06-19 17:18:40 +02:00
Andrew Godwin
9daf81b94e
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/loading.py
2013-06-19 12:05:23 +01:00
Loic Bistuer
ee77d4b253
Fixed #20199 -- Allow ModelForm fields to override error_messages from model fields
2013-06-18 08:01:17 -04:00
Andrew Godwin
315ab41e41
Initial stab at a migrate command, it's probably quite a way off.
2013-06-07 18:47:17 +01:00
Andrew Godwin
3c296382b8
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/fields/related.py
2013-06-07 11:15:34 +01:00
Florian Apolloner
c9d07d251f
Fixed loaddata for Django checkouts with non ASCII chars in the name.
2013-06-03 13:18:16 +02:00
Alex Gaynor
09d0568697
Switched to using some constants the hmac module exposes.
2013-06-02 10:31:38 -07:00
Danilo Bargen
127d9b2792
Added minor splitting optimization in django.utils.ipv6._unpack_ipv4
2013-06-01 07:08:13 -04:00
Ramiro Morales
0fa8d43e74
Replaced `and...or...` constructs with PEP 308 conditional expressions.
2013-05-26 23:47:50 -03:00
Preston Holmes
d228c1192e
Fixed #19866 -- Added security logger and return 400 for SuspiciousOperation.
...
SuspiciousOperations have been differentiated into subclasses, and
are now logged to a 'django.security.*' logger. SuspiciousOperations
that reach django.core.handlers.base.BaseHandler will now return a 400
instead of a 500.
Thanks to tiwoc for the report, and Carl Meyer and Donald Stufft
for review.
2013-05-25 16:27:34 -07:00
Baptiste Mispelon
2ee447fb5f
Fixed #20296 -- Allowed SafeData and EscapeData to be lazy
2013-05-25 16:06:44 +02:00
Claude Paroz
b7cf44dde8
Fixed some minor translation-related issues
2013-05-25 14:32:44 +02:00
Claude Paroz
c0439b6210
Removed obsolete attribute of DjangoTranslation
2013-05-25 14:01:52 +02:00
Claude Paroz
b664cb818d
Fixed #19237 (again) - Made strip_tags consistent between Python versions
2013-05-23 14:01:27 +02:00
Claude Paroz
dc51ec8bc2
Fixed #19237 -- Used HTML parser to strip tags
...
The regex method used until now for the strip_tags utility is fast,
but subject to flaws and security issues. Consensus and good
practice lead use to use a slower but safer method.
2013-05-22 17:34:02 +02:00
Claude Paroz
fd961941cc
Imported copyreg from six.moves
2013-05-21 14:41:39 +02:00
Daniel Lindsley
e24d486fbc
Fixed #20212 - __reduce__ should only be defined for Py3+.
2013-05-21 00:49:21 -07:00
Łukasz Langa
26e3e7ecb5
Fixed #11915 : generic Accept-Language matches country-specific variants
2013-05-19 12:50:09 +02:00
Andrew Godwin
d58c98d73c
Fix proxy objects to respect !=
2013-05-19 12:27:17 +02:00
Marc Tamlyn
413735b239
Fix a typo in a comment.
2013-05-19 11:24:36 +02:00
Emil Stenström
7d77e9786a
Fixed #20246 -- Added non-breaking spaces between values an units
2013-05-18 23:01:48 +02:00
Florian Apolloner
acd0bb39df
Fixed #14894 -- Ensure that activating a translation doesn't run into threading issues.
...
Thanks to maxbublis for the report and sergeykolosov for the patch.
2013-05-18 17:36:31 +02:00
Łukasz Langa
92ebb29c53
Fixes #19919 : get_language_from_request() disregards "en-us" and "en" languages
...
when matching Accept-Language
2013-05-18 14:37:04 +02:00
Florian Apolloner
051cb1f4c6
Fixed #20411 -- Don't let invalid referers blow up CSRF same origin checks.
...
Thanks to edevil for the report and saz for the patch.
2013-05-18 12:32:47 +02:00
Andrew Godwin
b31eea069c
Merge branch 'master' into schema-alteration
2013-05-18 10:21:31 +02:00
Aymeric Augustin
9c487b5974
Replaced an antiquated pattern.
...
Thanks Lennart Regebro for pointing it out.
2013-05-17 18:08:58 +02:00
Florian Apolloner
4ecc6da20b
Removed unicode literals from PIL compat.
2013-05-15 09:00:09 +02:00
Daniel Lindsley
33793f7c3e
Fixed #19934 - Use of Pillow is now preferred over PIL.
...
This starts the deprecation period for PIL (support to end in 1.8).
2013-05-14 19:32:04 -07:00
Carl Meyer
9012833af8
Fixed #17365 , #17366 , #18727 -- Switched to discovery test runner.
...
Thanks to Preston Timmons for the bulk of the work on the patch, especially
updating Django's own test suite to comply with the requirements of the new
runner. Thanks also to Jannis Leidel and Mahdi Yusuf for earlier work on the
patch and the discovery runner.
Refs #11077 , #17032 , and #18670 .
2013-05-10 23:08:45 -04:00
Andrew Godwin
cb4b0de49e
Merge branch 'master' into schema-alteration
2013-05-10 12:55:30 +01:00
Andrew Godwin
f6801a234f
Adding a dependency graph class and tests
2013-05-10 12:52:04 +01:00
Claude Paroz
4769db6b5f
Fixed #20321 -- Added missing key name in MergeDict KeyError message
...
Thanks mark.harviston et gmail.com for the report.
2013-04-26 08:59:34 +02:00
Alex Gaynor
714161c864
Fix != operations on lazy objects.
2013-04-19 10:58:29 -07:00
Anton Baklanov
59d127e45f
Fixed #20276 -- Implemented __bool__ for MergeDict
...
MergeDict evaluates now to False if all contained dicts are empty.
Thanks til for the report and the initial patch.
2013-04-19 10:08:16 +02:00
Baptiste Mispelon
e7b9c11c3f
Fixed #20231 -- Don't use allow_lazy on smart_split
2013-04-10 13:05:29 +02:00
Claude Paroz
b474ffe63a
Fixed #20172 -- Ensured urlize supports IPv4/IPv6 addresses
...
Thanks Marc Aymerich for the report and the initial patch.
2013-04-01 15:37:37 +02:00
Joe Friedl
2d0db67813
Fixed #20167 -- Preserve the traceback of `ImportError`s in `import_by_path`.
...
Thanks @carljm for the review.
2013-03-31 23:00:06 -04:00
Gavin Wahl
ec04fd1344
Fixed spelling errors
2013-03-28 11:16:53 -06:00
Andreas
35cab0f8e4
Fixed #20016 : worked around Jython not having a buffer.
2013-03-27 13:39:52 -05:00
Claude Paroz
164528acc8
Fixed #20108 -- Fixed filepath_to_uri decoding error
...
This was a regression due to unicode_literals usage. Thanks Ivan
Virabyan for the report and the initial patch.
2013-03-22 17:55:12 +01:00
Marc Tamlyn
829dc3c5a6
Fixed #20094 - Be more careful when checking for Iterator
...
Python 2.6 has some different behaviour when checking
isinstance(foo, collections.Iterator).
2013-03-22 17:31:29 +01:00
konarkmodi
bc4111ba68
Fixed #18003 -- Preserved tracebacks when re-raising errors.
...
Thanks jrothenbuhler for draft patch, Konark Modi for updates.
2013-03-19 15:42:39 -07:00
Aymeric Augustin
9dc5702932
Fixed #19456 -- Avoid infinite recursion when tracing LazyObject.__init__.
...
Thanks blaze33 for the patch.
2013-03-18 11:22:43 +01:00
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