Make sessioninfo script work when user is not logged in
authorMagnus Hagander <magnus@hagander.net>
Mon, 28 Aug 2017 15:05:43 +0000 (17:05 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 28 Aug 2017 15:05:43 +0000 (17:05 +0200)
pgweb/core/management/commands/sessioninfo.py

index 670f68f8e61b105a9b94c0b7754677edc043cb73..a99f1adf01e6b791f0a1296c7133a08e6eeacee7 100644 (file)
@@ -16,14 +16,19 @@ class Command(BaseCommand):
                try:
                        session = Session.objects.get(session_key=options['sessionid']).get_decoded()
                        uid = session.get('_auth_user_id')
-                       user = User.objects.get(pk=uid)
 
                        print u"Session {0}".format(options['sessionid'])
-                       print " -- Logged in user --"
-                       print u"Userid:   {0}".format(uid)
-                       print u"Username: {0}".format(user.username)
-                       print u"Name:     {0}".format(user.get_full_name())
-                       print u"Email:    {0}".format(user.email)
+
+                       try:
+                               user = User.objects.get(pk=uid)
+                               print " -- Logged in user --"
+                               print u"Userid:   {0}".format(uid)
+                               print u"Username: {0}".format(user.username)
+                               print u"Name:     {0}".format(user.get_full_name())
+                               print u"Email:    {0}".format(user.email)
+                       except User.DoesNotExist:
+                               print "** Associated user not found. Maybe not logged in?"
+
                        # Remove known keys
                        for k in ('_auth_user_id', '_auth_user_hash', '_auth_user_backend'):
                                session.pop(k, None)
@@ -34,6 +39,4 @@ class Command(BaseCommand):
 
                except Session.DoesNotExist:
                        raise CommandError('Session not found')
-               except User.DoesNotExist:
-                       raise CommandError('Associated user not found')