| Index: third_party/cherrypy/lib/__init__.py
|
| ===================================================================
|
| --- third_party/cherrypy/lib/__init__.py (revision 0)
|
| +++ third_party/cherrypy/lib/__init__.py (revision 0)
|
| @@ -0,0 +1,45 @@
|
| +"""CherryPy Library"""
|
| +
|
| +# Deprecated in CherryPy 3.2 -- remove in CherryPy 3.3
|
| +from cherrypy.lib.reprconf import unrepr, modules, attributes
|
| +
|
| +class file_generator(object):
|
| + """Yield the given input (a file object) in chunks (default 64k). (Core)"""
|
| +
|
| + def __init__(self, input, chunkSize=65536):
|
| + self.input = input
|
| + self.chunkSize = chunkSize
|
| +
|
| + def __iter__(self):
|
| + return self
|
| +
|
| + def __next__(self):
|
| + chunk = self.input.read(self.chunkSize)
|
| + if chunk:
|
| + return chunk
|
| + else:
|
| + if hasattr(self.input, 'close'):
|
| + self.input.close()
|
| + raise StopIteration()
|
| + next = __next__
|
| +
|
| +def file_generator_limited(fileobj, count, chunk_size=65536):
|
| + """Yield the given file object in chunks, stopping after `count`
|
| + bytes has been emitted. Default chunk size is 64kB. (Core)
|
| + """
|
| + remaining = count
|
| + while remaining > 0:
|
| + chunk = fileobj.read(min(chunk_size, remaining))
|
| + chunklen = len(chunk)
|
| + if chunklen == 0:
|
| + return
|
| + remaining -= chunklen
|
| + yield chunk
|
| +
|
| +def set_vary_header(response, header_name):
|
| + "Add a Vary header to a response"
|
| + varies = response.headers.get("Vary", "")
|
| + varies = [x.strip() for x in varies.split(",") if x.strip()]
|
| + if header_name not in varies:
|
| + varies.append(header_name)
|
| + response.headers['Vary'] = ", ".join(varies)
|
|
|
| Property changes on: third_party/cherrypy/lib/__init__.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|