Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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)