def _attempt_to_identify_as_teacher(self):
        from model import Teacher
        from google.appengine.api import users

        self.user = users.get_current_user()  # authenticated Google user
        authenticated_google_user = self.user

        # Teacher is identified solely by their Google account.  If they're logged into
        # the Google account, then they're logged into Search Party.

        if authenticated_google_user is None:
            teacher = None
        else:
            teacher = Teacher.get_by_key_name(authenticated_google_user.user_id())

        return teacher
    def load_user(self):
        self.client_id = self.request.get('from', None)
        import client_id_utils
        self.person_type = client_id_utils.person_type_for_client_id(self.client_id)
        assert self.person_type in ("student", "teacher")

        self.person = None
        person_key = client_id_utils.person_key_for_client_id(self.client_id)
        if self.person_type == "teacher":
            from model import Teacher
            self.person = Teacher.get_by_key_name(person_key)
        else:
            from model import Student
            lesson_code = client_id_utils.lesson_code_for_client_id(self.client_id)
            student_key = "::".join((person_key, lesson_code))
            self.person = Student.get_by_key_name(student_key)
            
        if self.person is None:
            from helpers import log
            log("***** ERROR: Person not found for client_id {0}".format(self.client_id))