#2070: [patch] Large streaming uploads --------------------------------------+------------------------------------- Reporter: [EMAIL PROTECTED] | Owner: jacob Type: enhancement | Status: new Priority: normal | Milestone: Component: Core framework | Version: Severity: normal | Resolution: Keywords: timezone, time zone, UTC | --------------------------------------+------------------------------------- Changes (by jacob):
* owner: adrian => jacob * status: reopened => new Comment: Right, I've finally had a chance to play with this patch. It's a big one, so I want to make sure I understand what's going on before I check it in. So apologies if I'm being dense, but I gotta understand this stuff: * I'm confused about why you needed to override {{{Message.readline}}}} just to change the argument to {{{self.fp.readline()}}} (django/http/__init__.py, line 105). Is the Python implementation broken in some way? What happens if you take that bit out? * Pretty much the same question for the FieldStorage subclass. This is a *lot* of duplicated code from the builtin cgi module, and it gives me pause. Can you explain why you need to do this (and perhaps think about if there's another way?) * The upload status info stored in /tmp is pretty awesome. However, it doesn't seem to work all the time for me; while uploading a big file if I keep cat'ing that /tmp file it's often just empty. Seems something keeps emptying it out? Also, using the session ID seems like it would cause issues if I tried to upload multiple files at the same time (a very real possibility if I'm uploading really big-ass things). * Related to that, setting {{{os.envrion['SESSIONID']}}} (done in both the WSGI and the mod_python handler) seems very leaky. We've had bugs before with this type of env monkeybusiness... Could you use a threadlocal instead? I should end, however, by saying that the behavior of this patch rocks. Being able to upload a 2 GB file without locking my server is super-nice, and the status stuff absolutely kicks ass (I think I already said that). I'm pretty sure I can clean up all the stuff I just bitched about, but I've got a pretty long todo.txt and if you can take care of these problems and/or answer my questions, I'll check this in PDQ. -- Ticket URL: <http://code.djangoproject.com/ticket/2070> Django <http://code.djangoproject.org/> The web framework for perfectionists with deadlines. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-updates -~----------~----~----~----~------~----~------~--~---