[Twisted-web] mailman with twisted
Tommi Virtanen
tv at twistedmatrix.com
Thu Feb 10 16:10:38 MST 2005
Andrea Arcangeli wrote:
> Index: Nevow/nevow/vhost.py
> ===================================================================
> --- Nevow/nevow/vhost.py (revision 1192)
> +++ Nevow/nevow/vhost.py (working copy)
> @@ -19,7 +19,7 @@
> """
>
> def getStyleSheet(self):
> - return self.stylesheet
> + return VirtualHostList.stylesheet
>
> def data_hostlist(self, context, data):
> return self.nvh.hosts.keys()
Why would you do that?
self.stylesheet allows subclasses to override the stylesheet easily.
> Index: Nevow/nevow/static.py
> ===================================================================
> --- Nevow/nevow/static.py (revision 1192)
> +++ Nevow/nevow/static.py (working copy)
> @@ -271,7 +271,7 @@
> return self.redirect(request)
>
> #for content-length
> - fsize = size = self.getFileSize()
> + fsize = csize = self.getFileSize()
>
> request.setHeader('accept-ranges','bytes')
>
> @@ -302,20 +302,20 @@
> "Syntactically invalid http range header!"
> start, end = string.split(bytesrange[1],'-')
> if start:
> - f.seek(int(start))
> + start = int(start)
> + f.seek(start)
> if end:
> - end = int(end)
> - size = end
> + csize = int(end) - start + 1
> else:
> - end = size
> + csize -= start
> request.setResponseCode(http.PARTIAL_CONTENT)
> request.setHeader('content-range',"bytes %s-%s/%s " % (
> - str(start), str(end), str(size)))
> + str(start), str(end), str(fsize)))
> #content-length should be the actual size of the stuff we're
> #sending, not the full size of the on-server entity.
> fsize = end - int(start)
>
> - request.setHeader('content-length', str(fsize))
> + request.setHeader('content-length', str(csize))
> except:
> traceback.print_exc(file=log.logfile)
>
> @@ -323,7 +323,7 @@
> return ''
>
> # return data
> - FileTransfer(f, size, request)
> + FileTransfer(f, csize, request)
> # and make sure the connection doesn't get closed
> return request.deferred
>
This part I just wrote independently and committed.
> @@ -354,17 +354,16 @@
> self.file = file
> self.size = size
> self.request = request
> - self.written = self.file.tell()
> request.registerProducer(self, 0)
>
> def resumeProducing(self):
> if not self.request:
> return
> - data = self.file.read(min(abstract.FileDescriptor.bufferSize, self.size - self.written))
> + data = self.file.read(min(abstract.FileDescriptor.bufferSize, self.size))
> if data:
> - self.written += len(data)
> self.request.write(data)
> - if self.file.tell() == self.size:
> + self.size -= len(data)
> + if self.size <= 0:
> self.request.unregisterProducer()
> self.request.finish()
> self.request = None
..and now this part, too. r1197
More information about the Twisted-web
mailing list