aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/request.py
diff options
context:
space:
mode:
authorAaron Williamson <aaron@copiesofcopies.org>2012-01-17 00:59:21 -0500
committerAaron Williamson <aaron@copiesofcopies.org>2012-01-17 00:59:21 -0500
commit99a270e95298b248a77b07203ab3921078bd7906 (patch)
tree34711abf27ab7a614c92842b456bf74ec3d5d5fb /mediagoblin/tools/request.py
parent25b48323a86a1036112f2f33c889d5d12d5dee9c (diff)
parent8c7701f9f1653cf4038143cfb7a497ae21edf108 (diff)
downloadmediagoblin-99a270e95298b248a77b07203ab3921078bd7906.tar.lz
mediagoblin-99a270e95298b248a77b07203ab3921078bd7906.tar.xz
mediagoblin-99a270e95298b248a77b07203ab3921078bd7906.zip
Merged changes with upstream
Diffstat (limited to 'mediagoblin/tools/request.py')
-rw-r--r--mediagoblin/tools/request.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py
index b1cbe119..7e193125 100644
--- a/mediagoblin/tools/request.py
+++ b/mediagoblin/tools/request.py
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from mediagoblin.db.util import ObjectId
+from mediagoblin.db.util import ObjectId, InvalidId
def setup_user_in_request(request):
"""
@@ -25,13 +25,17 @@ def setup_user_in_request(request):
request.user = None
return
- user = None
- user = request.app.db.User.one(
- {'_id': ObjectId(request.session['user_id'])})
+ try:
+ oid = ObjectId(request.session['user_id'])
+ except InvalidId:
+ user = None
+ else:
+ user = request.db.User.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']
request.session.invalidate()
request.user = user