On Thursday, December 19, 2019 at 12:26:34 PM UTC-5, Michael Merickel wrote:
>
> You didn't make it completely clear what you're doing with your
> view_config but I assume it's something to do with the match_param
> predicate after your factory updates the matchdict. That's fine, and you
> could use it to annotate the request with another attribute and then write
> a custom predicate for your views to use instead of the match_param. Think
> something like request.user_focus = 'a_username',
> and @view_config(route_name='user_focus', user_type='a_username') which
> will work well if they are mutually exclusive.
>
Thanks, Michael. I'm not doing that, but it looks like i should!
Your reply gave me enough insight/hints to get something working, and I'm
pretty happy with it from a maintainability standpoint.
I'm now doing the following:
def factory__user_type_discriminator(request):
"""inspects the matchdict's 'integrated_user_identifier' placeholder;
sets 'user_type=A' or 'user_type=B' in the matchdict
"""
pass
config.add_route("integrated_user_focus",
"/users/{integrated_user_identifier}",
factory=factory__user_type_discriminator
)
class ViewClass(handler):
@view_config(route_name="integrated_user_focus", match_param=
'user_type=A')
def view_type_a(self, request):
pass
@view_config(route_name="integrated_user_focus", match_param=
'user_type=B')
def view_type_b(self, request):
pass
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/pylons-discuss/351ad616-1ba0-4f16-b20d-4b8a59590230%40googlegroups.com.