home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1467 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.4 KB  |  68 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import warnings
  6. import cherrypy
  7.  
  8. def start_response(status, response_headers, exc_info = None):
  9.     cherrypy.response.status = status
  10.     headers_dict = dict(response_headers)
  11.     cherrypy.response.headers.update(headers_dict)
  12.  
  13.  
  14. def make_environ():
  15.     request = cherrypy.request
  16.     environ = dict()
  17.     environ['wsgi.version'] = (1, 0)
  18.     environ['wsgi.url_scheme'] = request.scheme
  19.     environ['wsgi.input'] = request.rfile
  20.     environ['wsgi.errors'] = sys.stderr
  21.     environ['wsgi.multithread'] = True
  22.     environ['wsgi.multiprocess'] = False
  23.     environ['wsgi.run_once'] = False
  24.     environ['REQUEST_METHOD'] = request.method
  25.     environ['SCRIPT_NAME'] = request.script_name
  26.     environ['PATH_INFO'] = request.path_info
  27.     environ['QUERY_STRING'] = request.query_string
  28.     environ['SERVER_PROTOCOL'] = request.protocol
  29.     environ['SERVER_NAME'] = request.local.name
  30.     environ['SERVER_PORT'] = request.local.port
  31.     environ['REMOTE_HOST'] = request.remote.name
  32.     environ['REMOTE_ADDR'] = request.remote.ip
  33.     environ['REMOTE_PORT'] = request.remote.port
  34.     headers = request.headers
  35.     environ['CONTENT_TYPE'] = headers.get('Content-type', '')
  36.     environ['CONTENT_LENGTH'] = headers.get('Content-length', '')
  37.     for k, v in headers.iteritems():
  38.         envname = 'HTTP_' + k.upper().replace('-', '_')
  39.         environ[envname] = v
  40.     
  41.     return environ
  42.  
  43.  
  44. def run(app, env = None):
  45.     warnings.warn('This module is deprecated and will be removed in Cherrypy 3.2. See http://www.cherrypy.org/ticket/700 for more information.')
  46.     
  47.     try:
  48.         environ = cherrypy.request.wsgi_environ.copy()
  49.         environ['SCRIPT_NAME'] = cherrypy.request.script_name
  50.         environ['PATH_INFO'] = cherrypy.request.path_info
  51.     except AttributeError:
  52.         environ = make_environ()
  53.  
  54.     if env:
  55.         environ.update(env)
  56.     
  57.     response = app(environ, start_response)
  58.     
  59.     try:
  60.         cherrypy.response.body = [ x for x in response ]
  61.     finally:
  62.         if hasattr(response, 'close'):
  63.             response.close()
  64.         
  65.  
  66.     return True
  67.  
  68.