Tim Graham
0d8d30b7dd
Fixed #23157 -- Removed O(n) algorithm when uploading duplicate file names.
...
This is a security fix. Disclosure following shortly.
2014-08-20 14:39:40 -04:00
Loic Bistuer
6e8d614acd
Made the vendored NamedTemporaryFile work as a context manager. Refs #22680 .
...
This fixes a regression on Windows introduced by b7de5f5
.
Thanks Tim Graham for the report and review.
2014-06-12 08:07:34 +07:00
Florian Apolloner
e2efc8965e
Fixed #22680 -- I/O operation on closed file.
...
This patch is two-fold; first it ensure that Django does close everything in
request.FILES at the end of the request and secondly the storage system should
no longer close any files during save, it's up to the caller to handle that --
or let Django close the files at the end of the request.
2014-06-11 08:57:30 +02:00
Claude Paroz
fb9d8f0652
Fixed #22717 -- Auto-corrected missing ending slash in FileSystemStorage
...
Thanks David Fischer for the report and Moayad Mardini for the
review.
2014-06-04 08:53:17 +02:00
Alex Gaynor
1dcc603eff
Fixed several typos in Django
2014-05-28 17:39:14 -07:00
Florian Apolloner
9d1bf8f841
Removed executeable bit from a few files.
2014-05-25 23:16:40 +02:00
Andrew Godwin
6944418277
Fixed #22337 : FileSystemStorage marked as deconstructible and tested.
2014-05-06 22:23:23 -07:00
Baptiste Mispelon
96fc3908ad
Fixed a failing test introduced in 918a16bc4c
.
...
Refs #22307 .
2014-03-22 18:05:56 +01:00
Hans Lawrenz
918a16bc4c
Fixed #22307 -- Fixed SpooledTemporaryFile bug in File class.
...
Added condition to prevent checking the existence of a file name of a
file like object when the name attribute is None. This is necessary
because a SpooledTemporaryFile won't exist on the file system or have a
name until it has reached its max_size. Also added tests.
2014-03-21 22:34:47 +01:00
Tim Graham
4965a77407
Removed PIL compatability layer per deprecation timeline.
...
refs #19934 .
2014-03-21 10:54:53 -04:00
smallcode
61fdb8d487
Fixed regression in file locking on some platforms.
...
Some platforms with os.name == 'posix' do not have the
fcntl module, e.g. AppEngine.
refs #19373 .
2014-03-18 10:35:22 -04: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
Baptiste Mispelon
3841feee86
Fixed #22107 -- Fixed django.core.files.File object iteration.
...
Due to a mixup between text and bytes, iteration over
a File instance was broken under Python 3.
Thanks to trac user pdewacht for the report and patch.
2014-02-20 19:13:25 +01:00
Dmitro
d3e33fff12
Made content_type_extra optional for TemporaryUploadedFile and MemoryUploadedFile.
...
This provides better backwards compatibility for those constructing these
objects manually.
Refs #13721 .
2014-02-18 07:49:42 -05:00
Kevin Christopher Henry
6fe26bd3ee
Fixed #19373 -- Ported Windows file locking from PyWin32 to ctypes
...
There wasn't any file locking under Windows unless PyWin32 was
installed. This removes that (undocumented) dependency by using ctypes
instead.
Thanks to Anatoly Techtonik for writing the ctypes port upon which this
is based.
2014-02-08 15:52:06 -05: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
José Moreira
8649833cf8
fixed typo on docstring
2014-01-20 16:33:11 +00:00
Loic Bistuer
6685713869
Fixed E127 pep8 warnings.
2013-12-14 11:59:15 -05:00
Vajrasky Kok
7e2d61a972
Fixed #21380 -- Added a way to set different permission for static directories.
...
Previously when collecting static files, the directories would receive permissions
from the global umask. Now the default permission comes from FILE_UPLOAD_DIRECTORY_PERMISSIONS
and there's an option to specify the permissions by subclassing any of the
static files storage classes and setting the directory_permissions_mode parameter.
2013-11-29 08:01:30 -05:00
xuxiang
4cfe6ba6a3
Use `classmethod` as a decorator.
2013-11-19 23:08:21 -05:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Milton Mazzarri
cbc7cbbc5b
Fixed flake8 E251 violations
2013-11-03 03:22:11 -06: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
Alex Gaynor
4ad9f4d4ea
Replaced a hardcoded "2" with the right named constant
2013-11-02 12:55:36 -07:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Vajrasky Kok
9eecb91695
Fixed #21219 -- Added a way to set different permission for static files.
...
Previously, when collecting static files, the files would receive permission
from FILE_UPLOAD_PERMISSIONS. Now, there's an option to give different
permission from uploaded files permission by subclassing any of the static
files storage classes and setting the file_permissions_mode parameter.
Thanks dblack at atlassian.com for the suggestion.
2013-10-24 17:40:01 -04:00
Alex Gaynor
9bf5610890
Start attacking E231 violations
2013-10-24 10:30:03 -07:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Tim Graham
b67ab75e82
Fixed assorted flake8 errors.
2013-10-11 07:25:14 -04:00
Kevin Christopher Henry
59a34c43a8
Fixed #18744 -- Updated docstring to highlight limitations of NamedTemporaryFile
...
- Noted that this does not allow for reading and writing the same open
file in different processes under Windows.
- Noted that the keyword arguments to NamedTemporaryFile no longer
match the Python version.
2013-09-19 10:12:03 -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
John Hensley
30fc49a7ca
Fixed #21057 -- Prevented FileSystemStorage from leaving temporary files.
2013-09-10 08:33:53 -04:00
homm
7008ed61c5
Fixed #21033 -- Fixed uploaded filenames not always being truncated to 255 characters
2013-09-10 01:55:16 +02:00
Christopher Adams
b2f5ac1656
Fixed #11857 -- Added missing 'closed' property on TemporaryFile class.
...
- TemporaryFile now minimally mocks the API of the Python standard
library class tempfile.NamedTemporaryFile to avoid AttributeError
exceptions.
- The symbol django.core.files.NamedTemporaryFile is actually assigned
as a different class on different operating systems.
- The bug only occurred if Django is running on Windows, hence why it
was hard to diagnose.
2013-09-06 14:32:46 -04:00
Aymeric Augustin
6a6428a36f
Took advantage of django.utils.six.moves.urllib.*.
2013-09-05 14:39:23 -05:00
Mel Collins
6bdb3b1135
Fixed #13518 -- Added FILE_UPLOAD_DIRECTORY_PERMISSIONS setting
...
This setting does for new directories what FILE_UPLOAD_PERMISSIONS
does for new files.
Thanks jacob@ for the suggestion.
2013-08-12 07:15:59 -04:00
Benjamin Kagia
b0953dc913
Fixed #13721 -- Added UploadedFile.content_type_extra.
...
Thanks Waldemar Kornewald and mvschaik for work on the patch.
2013-07-11 09:11:59 -04:00
Claude Paroz
7fbab3ebaf
Do not allow FileSystemStorage.delete to receive an empty name
...
Refs #20660 .
2013-06-29 18:09:31 +02:00
Russell Keith-Magee
18e79f1425
Fixed #20486 -- Ensure that file_move_safe raises an error if the destination already exists.
...
Thanks to kux for the report, and Russ Webber for the patch.
2013-06-20 18:55:27 +08: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
Claude Paroz
838f28974e
Fixed #20427 -- Moved a variable initialization in storage.py
...
This is fixing commit 4e70ad11d2
. Thanks mattias at elements.nl
for the report and Baptiste Mispelon for identifying the faulty
commit.
2013-05-17 18:31:52 +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
Marcin Biernat
664855b74e
#18899 FileSystemStorage.save should support any file-like objects
2013-02-23 16:40:50 +01: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
Florian Apolloner
7cb0cd5aff
Replaced six.reraise with a simple raise.
2013-01-01 13:20:36 +01:00
Florian Apolloner
a4a4b139cd
Replaced e.message with e.args[0] in 3aa4b8165d
.
2013-01-01 13:14:55 +01:00
Anton Baklanov
3aa4b8165d
Fixed #19457 -- ImageField size detection failed for some files.
...
This was caused by PIL raising a zlib truncated stream error since we fed
the parser with chunks instead of the whole image.
2013-01-01 11:54:56 +01:00
Claude Paroz
34dcf51e06
Fixed #19367 -- Fixed saving ContentFile in filesystem storage
...
This was not working properly when ContentFile was initialized with
an unicode string.
Thanks Alexey Boriskin for the report and the test.
2012-12-06 17:14:44 +01: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
Florian Apolloner
e8c6aff3bf
Fixed #18947 -- Don't make uploaded files executeable by default.
...
Thanks to Lauri Tirkkonen for the patch.
2012-09-17 22:53:10 +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
4e70ad11d2
Made FileSystemStorage accept both text and byte streams
...
Thanks Alexey Boriskin for his help on the patch.
2012-08-29 16:37:37 +02:00
Claude Paroz
361d6738f8
Fixed #11739 -- Made ContentFile support Unicode input
2012-08-29 11:21:33 +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
Karen Tracey
e99293250e
[py3] Fixed slow path through file_move_safe
...
This path is taken on Windows.
2012-08-18 15:44:09 -04:00
Aymeric Augustin
1ad05172cb
[py3] Fixed file_storage tests.
2012-08-18 10:24:23 +02:00
Claude Paroz
dce34dc969
[py3] Made __repr__ return str with Python 3
2012-08-12 20:45:39 +02:00
Aymeric Augustin
d4a0b27838
[py3] Refactored __unicode__ to __str__.
...
* Renamed the __unicode__ methods
* Applied the python_2_unicode_compatible decorator
* Removed the StrAndUnicode mix-in that is superseded by
python_2_unicode_compatible
* Kept the __unicode__ methods in classes that specifically
test it under Python 2
2012-08-12 14:44:40 +02:00
Aymeric Augustin
e7e08fd48b
[py3] Replaced some __str__ methods by __unicode__
...
These methods actually return unicode.
2012-08-12 14:44:40 +02:00
Aymeric Augustin
2bb2eecb63
[py3] Removed redundant __str__ methods.
...
These classes already have an identical __unicode__ method, which
will be used after an upcoming refactoring.
2012-08-12 14:44:40 +02:00
Claude Paroz
576ec12f8e
[py3] Replaced __nonzero__ by __bool__
...
Of course, __nonzero__ alias has been kept for Python 2 compatibility.
2012-08-08 15:02:31 +02:00
Aymeric Augustin
c5ef65bcf3
[py3] Ported django.utils.encoding.
...
* Renamed smart_unicode to smart_text (but kept the old name under
Python 2 for backwards compatibility).
* Renamed smart_str to smart_bytes.
* Re-introduced smart_str as an alias for smart_text under Python 3
and smart_bytes under Python 2 (which is backwards compatible).
Thus smart_str always returns a str objects.
* Used the new smart_str in a few places where both Python 2 and 3
want a str.
2012-08-07 12:00:22 +02:00
Florian Apolloner
dd16b17099
Fixed a security issue in image uploading. Disclosure and release forthcoming.
2012-07-30 21:54:29 +02:00
Aymeric Augustin
0d914d08a0
[py3] Updated urllib/urllib2/urlparse imports.
...
Lots of functions were moved. Use explicit imports in all cases
to keey it easy to identify where the functions come from.
2012-07-22 09:29:55 +02:00
Claude Paroz
4a103086d5
Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.
...
Thanks Vinay Sajip for the support of his django3 branch and
Jannis Leidel for the review.
2012-06-07 18:08:47 +02:00
Claude Paroz
2626ea4a74
Fixed #14681 -- Do not set mode to None on file-like objects.
...
gzip.GzipFile does not support files with mode set to None.
2012-05-31 10:02:35 +02:00
Claude Paroz
38408f8007
Marked bytestrings with b prefix. Refs #18269
...
This is a preparation for unicode literals general usage in
Django (Python 3 compatibility).
2012-05-19 17:43:34 +02:00
Claude Paroz
169b1a404c
Replaced foo.next() by next(foo).
...
This new syntax for next() has been introduced in Python 2.6 and is
compatible with Python 3.
2012-05-10 20:15:49 +02:00
Claude Paroz
57102ce781
Used io.BytesIO also for ContentFile.
...
io.StringIO would force the content to be Unicode, which would be
slightly backwards incompatible.
2012-05-05 22:33:08 +02:00
Claude Paroz
d7dfab59ea
Replaced cStringIO.StringIO by io.BytesIO.
...
Also replaced StringIO.StringIO by BytesIO in some other appropriate
places. StringIO is not available in Python 3.
2012-05-05 21:41:44 +02:00
Alex Gaynor
1583d40224
Fixed the syntax used for the Python repl examples in docs and docstrings.
2012-05-05 09:54:30 -05:00
Claude Paroz
865cd35c9b
Made more extensive usage of context managers with open.
2012-05-05 14:06:36 +02:00
Claude Paroz
3904b74a3f
Fixed #18013 -- Use the new 'as' syntax for exceptions.
...
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Claude Paroz
5c954136ea
Fixed #15644 -- Improved Django File wrapper to support more file-like objects. Thanks nickname123 and Michael Palumbo for working on the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17871 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-04-05 15:44:04 +00:00
Aymeric Augustin
c458700382
Fixed #16590 -- Accepted a 'name' argument in the constructor of ContentFile, for consistency with File.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17298 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-30 14:51:05 +00:00
Jannis Leidel
c4cc875643
Fixed #16703 -- Raise an exception if the storage location of the DefaultStorageFinder is empty.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16863 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-09-21 15:58:32 +00:00
Jannis Leidel
f3ae496201
Fixed #16833 -- Removed undocumented `mixin` parameter from the `Storage.open()` method as this was an undocumented and obscure feature. Thanks to Marty and Russell for sanity-checking.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16824 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-09-13 15:10:49 +00:00
Jannis Leidel
d34bb3c833
Fixed #16108 -- Fixed another race condition in the FileSystemStorage backend with regard to deleting a file. Refs #16082 , too. Thanks, Aymeric Augustin.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16287 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-05-28 13:06:08 +00:00
Jannis Leidel
723b620c7e
Fixed #16082 -- Fixed race condition in the FileSystemStorage backend with regard to creating directories. Thanks, pjdelport.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16280 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-05-26 08:21:35 +00:00
Russell Keith-Magee
090ff64204
Fixed #15181 -- Ensure that special characters are escaped when querying for the URL of an uploaded file. Thanks to e.generalov for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15409 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-02-04 14:43:10 +00:00
Alex Gaynor
f5f18a38ab
Fixed #14749 -- added support for using Django's file object as context managers. Thanks to Florian Apolloner for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14671 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-21 17:51:41 +00:00
Alex Gaynor
34b5739216
Remove the executable flag from uploadhandler.py, it wasn't. Thanks to Florian for the report.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14528 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-11 17:51:14 +00:00
Alex Gaynor
3d69b21790
Fixed #14577 -- fixed a docstring typo. Thanks to dauerbaustelle for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14364 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-27 20:08:20 +00:00
Russell Keith-Magee
a904e55859
Fixed #11509 -- Modified usage of "Web" to match our style guide in various documentation, comments and code. Thanks to timo and Simon Meers for the work on the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14069 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-09 08:12:50 +00:00
Jannis Leidel
58b704d8da
Fixed #10497 -- Added a few time-related methods to the storage API. Thanks for the report and patch to Stephan Jaekel.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14012 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-08 15:11:59 +00:00
Luke Plant
76249c3964
Fixed #11158 - get_image_dimensions very slow/incorrect after 1 call
...
Thanks to kua for the report, and to kua, SmileyChris and SAn for the patch
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13715 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-09-10 18:45:25 +00:00
Karen Tracey
600aa6679e
Fixed #11030 : Reverted a change that assumed the file system encoding was utf8, and changed a test to demonstrate how that assumption corrupted uploaded non-ASCII file names on systems that don't use utf8 as their file system encoding (Windows for one, specifically). Thanks for the report to vrehak.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12661 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-03-02 21:58:49 +00:00
Jacob Kaplan-Moss
5366aa96fe
Fixed #10258 : handle duplicate file names better.
...
Instead of just continually appending "_" to duplicate file names, Django's
default storage now appends `_1`, `_2`, `_3`, etc.
Thanks to ianschenck and Thilo.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12552 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-23 22:39:22 +00:00
Jacob Kaplan-Moss
7578981626
Fixed #6054 : work around PIL's installation brokeness by detecting either of the two ways it can end up being installed.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12429 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-14 18:28:28 +00:00
Luke Plant
c6e8e5d9f0
Fixed non-standard introspection support in LazyObject.
...
LazyObject called a public method ``get_all_members`` on wrapped objects in
order to allow introspection. This could easily cause name clashes with
existing methods on wrapped objects, and so has been changed to use the
standard methods. This could be slightly backwards-incompatible, in obscure
cases, if the undocumented LazyObject has been used externally.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11636 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-10-19 21:48:06 +00:00
Karen Tracey
50745cc31e
Fixed #11066 -- Corrected 15 duplicate "the"s found in docs and code comments. Thanks kaikuehne.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10801 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-17 16:45:28 +00:00
Jacob Kaplan-Moss
772f68c20e
Fixed #11055 : fixed a regression in [10717] that caused uploaded files to have incorrectly set file pointers. They're now, as before, reset to the beginning upon successful upload.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10739 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-11 10:13:43 +00:00
Jacob Kaplan-Moss
2b0903b2c4
Fixed #10404 : ImageField height_field and width_field options no longer depend on putting the image field after the height/width fields as they did after r9766.
...
This bug actually exposed a related handful of inconsistancies in the underlying file handling and wraping, so a few related changes are in here as well:
* Dimensions are also now calculated the moment the image is assigned to the field instead of upon save.
* The base `File` object now when possible delegates its closed attribute down to the os-level file it wrapps.
* In-memory files' `close()` now is a no-op. Without this certain APIs that should be able to handle in-memory files were failing.
* Accessing `FieldFile.closed` used to open the file. That's silly, and it doesn't any more.
* Some over-eager error handling was squishing some errors that would normally be raised. One unit test was incorrectly depending on this behavior, so the test was removed.
Thanks to Armin Ronacher for much of this work.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10737 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-11 09:57:19 +00:00
Jacob Kaplan-Moss
c40f715257
Fixed #10687 : fixed request parsing when upload_handlers is empty. Thanks, Armin Ronacher.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10723 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-08 17:22:34 +00:00
Jacob Kaplan-Moss
68a890e79f
Fixed #7712 , #9404 , #10249 , #10300 : a light refactor and cleanup of file storage and the `File` object. Thanks to Armin Ronacher and Alex Gaynor.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10717 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-08 15:08:09 +00:00
Jacob Kaplan-Moss
a7faf6424a
Fixed #8817 : get_image_dimensions correctly closes the files it opens, and leaves open the ones it doesn't. Thanks, mitsuhiko.
...
While I was at it, I converted the file_storage doctests to unit tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10707 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-08 10:56:51 +00:00
Gary Wilson Jr
59507753c7
Fixed #9610 -- Fixed duplicate uploaded file name mangling when directory contained a dot and file didn't. Based on patches from fadlytabrani and adurdin.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10701 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-08 05:50:31 +00:00
Gary Wilson Jr
304785bf26
Fixed #9344 -- In the `TemporaryFile` class used by Windows, proxy to the wrapped file object. Thanks julien and mitsuhiko.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10699 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-08 04:44:33 +00:00