Hi,
I've taken the WSGI specific changes from Jason's
private_JMB_MPS_Wsgi_Detangled branch, and copied them into this branch -
private_JMB_MPS_WSGI. That branch has been restructured somewhat and merged.
After reviewing them, there's a lot of code in there which is actually app
specific - for example custom routing which most people using WSGI wouldn't
use; wsgi values called kp.* etc, - so I've decided to shift out all this
code into two places.
Specifically a Kamaelia.Apps.JMB namespace to hold all the core code
relatively unchanged - but so that it will play nicely with the rest of the
system.
Also, Apps/GSOC_JMB has been created to package up Jason's code cleanly,
along with applications using the app specific wsgi routing included.
Detailed description of what's been merged.
Apps/GSOC_JMB/App/
* Holds the 2 examples of how to use JMB's WSGI code. This contains
some app specific things, and hence is seperated out as an app. The
generic code will get merged onto core after refactoring/simplification.
* Examples:
Apps/GSOC_JMB/App/simple_wsgi_example.py
* Hosts a simple wsgi application.
Apps/GSOC_JMB/App/wsgi_example.py
* Hosts 2 simple wsgi applications based on an "url list".
Apps/GSOC_JMB/DistBuild/
Distribution/release build scripts:
* BuildRelease.sh
* CleanBuild.sh
* setup.py.src
* upload.sh
Apps/GSOC_JMB/Config/
Config directory for future use.
Apps/GSOC_JMB/Doc
Docs directory. Docs need writing.
Apps/GSOC_JMB/MANIFEST.in
* Standard packaging file.
Kamaelia/Kamaelia/Apps/JMB/__init__.py
Base directory for JMB's project(s)
Kamaelia/Kamaelia/Apps/JMB/WSGI/__init__.py
Base directory for JMB's WSGI related code.
Kamaelia/Kamaelia/Apps/JMB/WSGI/Apps/
Base directory of App specific wsgi adaptors to work with JMB's wsgi
server. Current example Apps/adaptors:
* Simple.py
* CpyApp.py
* PasteApp.py
* Test.py
* Moin.py
* ErrorHandler.py
* Static.py
Kamaelia/Kamaelia/Apps/JMB/WSGI/_WSGIHandler.py
File containing the *actual* WSGI handling code
(NB: MPS is Baffled as to why this isn't exposed as a regular component,
and it's due to the multiple levels of indirection in the code that
this is in the apps directory, as well as the app specific ( kp.* )
wsgi application values.)
Kamaelia/Kamaelia/Apps/JMB/WSGI/_factory.py
Factory system for spawning WSGI applications based on specific routing.
Problem is that is in itself really a function of wsgi, and there's much
better things out there for doing this, so this is really an app specific
router, rather than general router. It's interesting, but I can see some
serious issues with it myself.
Kamaelia/setup.py
Changed to pull in the Apps.JMB namespaces as well.
Regards,
Michael.
--
http://yeoldeclue.com/blog
http://twitter.com/kamaelian
http://www.kamaelia.org/Home
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"kamaelia" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/kamaelia?hl=en
-~----------~----~----~----~------~----~------~--~---