In trying to use the spamquestion plugin to reduce the amount of blog spam, I encountered what appears to be a small bug in the session.py plugin.
In session.py:152, the line self._cookie_path = base_url[base_url.find('/', base_url.find('://')+3):] does not handle the situation if the url has no trailing slash. In such a situation, it slices the string [-1:], which is not an error oddly enough. I guess I don’t understand Python well enough yet?.
session.py uses a cookie to store the session ID, and the malformed URL above would lead to an impossible cookie path being stored. This created a new session ID each time, which prevented spamquestion from remembering the spam question that was asked (and thus unable to correlate to the correct answer).
My fix is perhaps not “pythonic”, but putting a condition block around that line and creating an alternate for cases where there is no trailing slash works well enough.