def post(self): from helpers import log self.load_user() self.person.add_client_id(self.client_id) if self.person_type=="student" and len(self.person.client_ids)==1: self.person.latest_logout_timestamp = None self.person.put() log("=> CHANNEL CONNECTED: {0} ({1})".format(str(self.client_id),len(self.person.client_ids))) if self.person_type=="student" and len(self.person.client_ids)==1: from client_id_utils import lesson_code_for_client_id from model import Lesson from updates import send_update_log_in lesson_code = lesson_code_for_client_id(self.client_id) lesson = Lesson.get_by_key_name(lesson_code) send_update_log_in(student=self.person, teacher=lesson.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))