# HG changeset patch # User paulb # Date 1193182037 0 # Node ID f088392648a8986c2f52c91db8485b4a50ab4040 # Parent 1ee4c8497ba0dbfeb532a9d37570808a69b87b53 [project @ 2007-10-23 23:27:17 by paulb] Initialise FileContent fields with streams instead of strings. Updated release information. diff -r 1ee4c8497ba0 -r f088392648a8 WebStack/Django.py --- a/WebStack/Django.py Tue Oct 23 23:26:37 2007 +0000 +++ b/WebStack/Django.py Tue Oct 23 23:27:17 2007 +0000 @@ -265,7 +265,11 @@ def _get_files(self): files = {} for name, file in self.request.FILES.items(): - files[name] = [FileContent(file.get("content", ""), { + + # NOTE: Django does not seem to expose a stream for a file upload. + + files[name] = [FileContent( + StringIO(file.get("content", "")), { "Content-Type" : file.get("content-type", ""), "Content-Disposition" : "%s; filename=%s" % (name, file.get("filename", "")) })] diff -r 1ee4c8497ba0 -r f088392648a8 WebStack/JavaServlet.py --- a/WebStack/JavaServlet.py Tue Oct 23 23:26:37 2007 +0000 +++ b/WebStack/JavaServlet.py Tue Oct 23 23:27:17 2007 +0000 @@ -626,11 +626,11 @@ # Convert input stream content. if isinstance(subcontent, java.io.InputStream): - subcontent = Stream(subcontent).read() + subcontent = Stream(subcontent) # Record string content. - if type(subcontent) == type(""): + if isinstance(subcontent, (type(""), Stream)): # Should get: form-data; name="x" diff -r 1ee4c8497ba0 -r f088392648a8 WebStack/ModPython.py --- a/WebStack/ModPython.py Tue Oct 23 23:26:37 2007 +0000 +++ b/WebStack/ModPython.py Tue Oct 23 23:27:17 2007 +0000 @@ -297,7 +297,7 @@ # Detect and store file uploads. if field.filename: - fields[field_name].append(FileContent(field.value, parse_headers(field.headers))) + fields[field_name].append(FileContent(field.file, parse_headers(field.headers))) else: fields[field_name].append(get_body_field(field.value, encoding)) diff -r 1ee4c8497ba0 -r f088392648a8 WebStack/__init__.py --- a/WebStack/__init__.py Tue Oct 23 23:26:37 2007 +0000 +++ b/WebStack/__init__.py Tue Oct 23 23:27:17 2007 +0000 @@ -20,6 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA """ -__version__ = "1.2.6" +__version__ = "1.2.7" # vim: tabstop=4 expandtab shiftwidth=4