> > Lessons to be learnt: > 1. Why have 3 different routing systems? One obvious way of doing > things? ha! >
What's the third routing system (besides parameter-based and pattern-based) -- the default routing? Anyway, the parameter-based system was introduced to provide an easier method to handle the most common use cases, but the pattern-based system had to be retained for backward compatibility (not to mention that it is needed to handle the more complicated cases). "One obvious way" doesn't necessarily extend to all levels of the system (what if their were only one Python framework with which to build a web application?). > 2. Regex is almost always beyond someone like me -- unless I have > recipes to follow. Note, even the pattern-based system provides a simpler non-regex syntax for the less complex cases. Ultimately, though, if you want the ability to do arbitrary rewriting, you'll need some regex. > All the obvious routing ideas should be spelt out in one list. Yes, I think the rewrite documentation could be improved, particularly with more examples for cases like this. Note, the parameter-based system does domain mapping and also converts from underscores to hyphens, but it won't map your "prettyurl" to "plugin_wiki" (hmm, I wonder if you can simply change the name of "plugin_wiki"). I believe the pattern-based system should be able to map domains as well, but it might be trickier to get it to handle the hyphen conversions via regex. Ultimately, it would be nice if the two systems could be used together. Anthony --