ipython/ipython — pull request #1368 by minrk (2012-02-02 22:48:09+00:00)
Title: Ensure handler patterns are str, not unicode

Python < 2.6.5 doesn't accept unicode keys in `f(**kwargs)`, and base_project_url will always be unicode, which will in turn make the patterns unicode, and ultimately result in unicode keys in kwargs to `handler._execute(**kwargs)` in tornado (by way of `re.match.groupdict()`). This enforces that base_project_url be ascii, which it always should be anyway.

Note that the URLs these patterns check against are escaped, and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'.

If you actually use u'héllo' in your regex, it will not match the URLs you think it should.

Bug introduced by PR #1332

closes #1360