wsgi.py
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:2k
源码类别:

数据库编程

开发平台:

Visual C++

  1. #!/usr/bin/env python
  2. """
  3. FCKeditor - The text editor for Internet - http://www.fckeditor.net
  4. Copyright (C) 2003-2007 Frederico Caldeira Knabben
  5. == BEGIN LICENSE ==
  6. Licensed under the terms of any of the following licenses at your
  7. choice:
  8.  - GNU General Public License Version 2 or later (the "GPL")
  9.    http://www.gnu.org/licenses/gpl.html
  10.  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  11.    http://www.gnu.org/licenses/lgpl.html
  12.  - Mozilla Public License Version 1.1 or later (the "MPL")
  13.    http://www.mozilla.org/MPL/MPL-1.1.html
  14. == END LICENSE ==
  15. Connector/QuickUpload for Python (WSGI wrapper).
  16. See config.py for configuration settings
  17. """
  18. from connector import FCKeditorConnector
  19. from upload import FCKeditorQuickUpload
  20. import cgitb
  21. from cStringIO import StringIO
  22. # Running from WSGI capable server (recomended)
  23. def App(environ, start_response): 
  24. "WSGI entry point. Run the connector"
  25. if environ['SCRIPT_NAME'].endswith("connector.py"):
  26. conn = FCKeditorConnector(environ)
  27. elif environ['SCRIPT_NAME'].endswith("upload.py"):
  28. conn = FCKeditorQuickUpload(environ)
  29. else:
  30. start_response ("200 Ok", [('Content-Type','text/html')])
  31. yield "Unknown page requested: "
  32. yield environ['SCRIPT_NAME']
  33. return
  34. try:
  35. # run the connector
  36. data = conn.doResponse()
  37. # Start WSGI response:
  38. start_response ("200 Ok", conn.headers)
  39. # Send response text
  40. yield data
  41. except:
  42. start_response("500 Internal Server Error",[("Content-type","text/html")])
  43. file = StringIO()
  44. cgitb.Hook(file = file).handle()    
  45. yield file.getvalue()