Let's take a couple of days to review this code and make sure that
it's the right way, but it looks good to me, and I'm tentatively +10
on all of this because I think it will make dispatch easier for
everybody.

--Mark Ramm

On Wed, Apr 1, 2009 at 1:05 PM, percious <[email protected]> wrote:
>
> I have refactored the dispatch system to be more flexible and support
> new ways to do dispatch.  ObjectDispatch and RestDispatch are
> implemented.  All of the unit tests pass and a bunch of new ones have
> been added.  I removed a couple of tests which were class decorator-
> specific because I don't feel we are ready to support this yet.  I
> would be happy to work with Gustavo to make this work, as long as it
> is not complicated and does not affect the speed of the dispatch.
> Much of the original allow_only code has been bypassed in this
> branch.  I think there is a clear difference between TG controllers
> and Pylons controllers, and we need to maintain that distinction.  For
> instance, I don't believe that we should override or extend __before__
> to execute security functionality.
>
> Some notes on the change:
>
> __before__ and __after__ are deprecated in favor of _before and _after
> (this change is coming to pylons as well)
>
> _dispatch is a new controller method which allows the developer to
> override the way the URL is consumed.  (You my now add your own XML
> RPC dispatcher for instance)
>
> RestController now supports variable arguments when it introspects the
> controller methods in it's dispatch.
>
> The controllers.py module has been split into a few separate files:
> util.py contains helper functions like url and redirect.
> dispatch.py: Defines the basic dispatch mechanism for the system, and
> includes ObjectDispatch
> decoratedcontroller.py:  This functionality has been separated out
> into it's own class.  (dispatch is now separate functionality from
> decoration)  For instance, TGController is made up of ObjectDispatch
> and DecoratedController
> tgcontroller.py: Combines ObjectDispatch and DecoratedController
> restcontroller.py: RESTful dispatch and Controller.
> wsgiappcontroller.py:obvious
> (all api imports still work)
> Here is the branch.  I encourage one of our committers to merge it in
> with the new tip.
> http://bitbucket.org/percious/tg-21/
>
> cheers.
> -chris
> >
>



-- 
Mark Ramm-Christensen
email: mark at compoundthinking dot com
blog: www.compoundthinking.com/blog

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" 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/turbogears-trunk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to