def get(self, request): engine = import_module(settings.SESSION_ENGINE) session_store = engine.SessionStore current_session = request.session.session_key session_keys = request.user.session_keys result = [] modified = False for key in session_keys[:]: session = session_store(key) # session does not exist or is expiry if not session._session: session_keys.remove(key) modified = True continue s = {} if current_session == key: s["current_session"] = True s["ip"] = session["ip"] s["user_agent"] = session["user_agent"] s["last_activity"] = datetime2str(session["last_activity"]) s["session_key"] = key result.append(s) if modified: request.user.save() return self.success(result)
def get(self, request): engine = import_module(settings.SESSION_ENGINE) session_store = engine.SessionStore result = [] username = request.GET.get("username") if not username: return self.error("Invalid Parameter, username is required") try: user = User.objects.get(username=username) except User.DoesNotExist: return self.error("User does not exist") session_keys = user.session_keys for key in session_keys[:]: session = session_store(key) if not session._session: continue s = {} s["ip"] = session["ip"] s["user_agent"] = session["user_agent"] s["last_activity"] = datetime2str(session["last_activity"]) s["session_key"] = key result.append(s) return self.success(result)
def get(self, request): id = request.GET.get("id") if not id: return self.error("Invalid parameter, id is required") try: contest = Contest.objects.get(id=id, visible=True) except Contest.DoesNotExist: return self.error("Contest does not exist") data = ContestSerializer(contest).data data["now"] = datetime2str(now()) return self.success(data)
def get(self, request): id = request.GET.get("id") if not id: return self.error("IНеверный параметр, требуется id") try: contest = Contest.objects.get(id=id, visible=True) except Contest.DoesNotExist: return self.error("Соревнование не существует") data = ContestSerializer(contest).data data["now"] = datetime2str(now()) return self.success(data)
def get(self, request): id = request.GET.get("id") if not id or not check_is_id(id): return self.error("Invalid parameter, id is required") try: contest = Contest.objects.get(id=id, visible=True) except Contest.DoesNotExist: return self.error("Contest does not exist") data = ContestSerializer(contest).data data["now"] = datetime2str(now()) courses = contest.course_set.all().order_by("-s_year") data["course"] = CourseSerializer(courses, many=True).data return self.success(data)
def get(self, request): engine = import_module(settings.SESSION_ENGINE) session_store = engine.SessionStore result = [] ip = request.GET.get("ip") if not ip: return self.error("Invalid Parameter, ip is required") users = User.objects.all() for user in users: session_keys = user.session_keys for key in session_keys[:]: session = session_store(key) if not session._session: continue s = {} if ip == session["ip"]: s["ip"] = session["ip"] s["user_agent"] = session["user_agent"] s["last_activity"] = datetime2str(session["last_activity"]) s["session_key"] = key s["username"] = user.username result.append(s) return self.success(result)