Author: jacob
Date: 2008-08-27 15:29:45 -0500 (Wed, 27 Aug 2008)
New Revision: 8634
Modified:
django/trunk/django/core/files/uploadedfile.py
Log:
Fixed #7769: Added a couple missing file methods to `TemporaryUploadedFile`.
Thanks, Mads S?\195?\188lau J?\195?\184rgensen.
Modified: django/trunk/django/core/files/uploadedfile.py
===================================================================
--- django/trunk/django/core/files/uploadedfile.py 2008-08-27 19:59:29 UTC
(rev 8633)
+++ django/trunk/django/core/files/uploadedfile.py 2008-08-27 20:29:45 UTC
(rev 8634)
@@ -84,8 +84,9 @@
# We can't directly subclass because NamedTemporaryFile is actually a
# factory function
def read(self, *args): return self._file.read(*args)
- def seek(self, offset): return self._file.seek(offset)
+ def seek(self, *args): return self._file.seek(*args)
def write(self, s): return self._file.write(s)
+ def tell(self, *args): return self._file.tell(*args)
def __iter__(self): return iter(self._file)
def readlines(self, size=None): return self._file.readlines(size)
def xreadlines(self): return self._file.xreadlines()
@@ -107,39 +108,39 @@
"""
def __init__(self, file, field_name, name, content_type, size, charset):
super(InMemoryUploadedFile, self).__init__(name, content_type, size,
charset)
- self.file = file
+ self._file = file
self.field_name = field_name
- self.file.seek(0)
+ self._file.seek(0)
- def seek(self, *args, **kwargs):
- self.file.seek(*args, **kwargs)
-
def open(self):
- self.seek(0)
+ self._file.seek(0)
- def read(self, *args, **kwargs):
- return self.file.read(*args, **kwargs)
-
def chunks(self, chunk_size=None):
- self.file.seek(0)
+ self._file.seek(0)
yield self.read()
def multiple_chunks(self, chunk_size=None):
# Since it's in memory, we'll never have multiple chunks.
return False
+ # proxy methods to StringIO
+ def read(self, *args): return self._file.read(*args)
+ def seek(self, *args): return self._file.seek(*args)
+ def tell(self, *args): return self._file.tell(*args)
+ def close(self): return self._file.close()
+
class SimpleUploadedFile(InMemoryUploadedFile):
"""
A simple representation of a file, which just has content, size, and a
name.
"""
def __init__(self, name, content, content_type='text/plain'):
- self.file = StringIO(content or '')
+ self._file = StringIO(content or '')
self.name = name
self.field_name = None
self.size = len(content or '')
self.content_type = content_type
self.charset = None
- self.file.seek(0)
+ self._file.seek(0)
def from_dict(cls, file_dict):
"""
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---