Exemple #1
0
 def respond_theme(self, socket, request, session_id):
     username = self.sessions[session_id]["username"]
     self.lock.acquire()
     self.users[username]['theme'] = request.headers['Path']
     self.lock.release()
     self.save_user()
     socket.send(Response())
Exemple #2
0
 def respond_get(self, socket, request, session_id):
     task_id = request.headers['Task-id']
     for idx1, task_list in enumerate(self.sessions[session_id]["data_list"]):
         for idx2, task in enumerate(task_list):
             if task['id'] == task_id:
                 socket.send(Response(content=json.dumps(task)))
                 return
     socket.send(errors.TaskNotExists().toResponse())
Exemple #3
0
 def respond_update(self, socket, request, session_id):
     task_json = json.loads(request.content)
     if self.check_task_json(task_json) is False:
         socket.send(errors.InvalidTaskJson().toResponse())
         return
     for idx1, task_list in enumerate(self.sessions[session_id]["data_list"]):
         for idx2, task in enumerate(task_list):
             if task['id'] == task_json['id']:
                 self.lock.acquire()
                 self.sessions[session_id]["data_list"][idx1][idx2] = task_json
                 self.lock.release()
                 socket.send(Response(content=json.dumps(self.sessions[session_id]["data_list"])))
                 return
     socket.send(errors.TaskNotExists().toResponse())
Exemple #4
0
 def respond_add(self, socket, request, session_id):
     task_json = json.loads(request.content)
     if task_json['title'] == '':
         socket.send(errors.TaskTitleRequired().toResponse())
         return
     if self.check_task_json(task_json) is False:
         socket.send(errors.InvalidTaskJson().toResponse())
         return
     for idx1, task_list in enumerate(self.sessions[session_id]["data_list"]):
         for idx2, task in enumerate(task_list):
             if task['id'] == task_json['id']:
                 socket.send(errors.TaskIDAlreadyExists().toResponse())
                 return
     self.lock.acquire()
     self.sessions[session_id]["data_list"][0].insert(0, task_json)
     self.lock.release()
     socket.send(Response(content=json.dumps(self.sessions[session_id]["data_list"])))
Exemple #5
0
 def respond_login(self, socket, request, session_id):
     username = request.headers['User']
     verify = request.headers['Verify']
     if username not in self.users:
         socket.send(errors.UserNotExists().toResponse())
         return False
     elif verify != self.users[username]['verify']:
         socket.send(errors.WrongUserPassword().toResponse())
         return False
     else:
         for session_id_already in self.sessions:
             session = self.sessions[session_id_already]
             if 'username' in session and session['username'] == username:
                 socket.send(errors.DuplicateLogin().toResponse())
                 return False
         socket.send(Response(headers={'Session': session_id, 'Theme': self.users[username]['theme']}))
         return True
Exemple #6
0
 def respond_move(self, socket, request, session_id):
     task_id = request.headers['Task-id']
     from_index = int(request.headers['From'])
     to_index = int(request.headers['To'])
     if from_index not in [0, 1, 2] and to_index not in [0, 1, 2]:
         socket.send(errors.InvalidListIndex().toResponse())
         return
     if from_index == to_index:
         socket.send(errors.SameFromAndToList().toResponse())
         return
     for idx1, task_list in enumerate(self.sessions[session_id]["data_list"]):
         for idx2, task in enumerate(task_list):
             if task['id'] == task_id:
                 if idx1 == from_index:
                     self.lock.acquire()
                     del self.sessions[session_id]["data_list"][idx1][idx2]
                     self.sessions[session_id]["data_list"][to_index].append(task)
                     self.lock.release()
                     socket.send(Response(content=json.dumps(self.sessions[session_id]["data_list"])))
                     return
                 else:
                     socket.send(errors.TaskNotInTheList().toResponse())
                     return
     socket.send(errors.TaskNotExists().toResponse())
Exemple #7
0
 def respond_archive(self, socket, request, session_id):
     self.lock.acquire()
     self.sessions[session_id]["data_list"][-1] = []
     self.lock.release()
     socket.send(Response(content=json.dumps(self.sessions[session_id]["data_list"])))
Exemple #8
0
 def respond_list(self, socket, request, session_id):
     socket.send(Response(content=json.dumps(self.sessions[session_id]["data_list"])))
Exemple #9
0
 def respond_logout(self, socket, request, session_id):
     socket.send(Response(headers={}))
     return True
Exemple #10
0
 def toResponse(self):
     return Response(self.error_code, 'ERROR', {'Info': self.info}, '')