From cc9f9a1dd3e8f3d0aa642e2a987a9d075e59d3d8 Mon Sep 17 00:00:00 2001 From: Elrond Date: Tue, 13 Mar 2012 00:17:06 +0100 Subject: [PATCH] Another .one -> .find_one Same idea as in the previous commit. Joar caught this one. To reproduce 1. Create a user with an all-decimal ObjectId in mongo 2. Login using that user, while mongodb is enabled. 3. Switch instance to sql. 4. Restart. 5. Refresh any page. This will error, because no user with that object id exists any more. While around, improved logging. --- mediagoblin/tools/request.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index a45f716a..ae372c92 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -14,8 +14,12 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import logging from mediagoblin.db.util import ObjectId, InvalidId +_log = logging.getLogger(__name__) + + def setup_user_in_request(request): """ Examine a request and tack on a request.user parameter if that's @@ -30,12 +34,12 @@ def setup_user_in_request(request): except InvalidId: user = None else: - user = request.db.User.one({'_id': oid}) + user = request.db.User.find_one({'_id': oid}) if not user: # Something's wrong... this user doesn't exist? Invalidate # this session. - print "Killing session for %r" % request.session['user_id'] + _log.warn("Killing session for user id %r", request.session['user_id']) request.session.invalidate() request.user = user -- 2.25.1