Beispiel #1
0
    def on_message(self, message):
        data = json.loads(message)
        if "update_type" in data and data["update_type"] == "draw":
          board_id = data["board_id"]
          broadcastData = data
          self.broadcast(board_id, broadcastData, write_to_self=False)
          return
        message_type = data.get('message_type')
        board_id = data["board_id"]

        if message_type and message_type == 'user_update':
            self._update_user(board_id, data['username'])
            self._broadcast_user_display(board_id)
        elif message_type and message_type == 'board_name_update':
            name = self._update_board_name(board_id, data['name'])
            self._broadcast_board_name_update(board_id, name)
        else:
            board = Board.get(board_id)
            item = Item(**data["item"])
            board.updateItem(item)
            board.save()

            broadcastData = {
                "update_type": "pos_change",
                "item": json.loads(item.to_json())
            }
            self.broadcast(board_id, broadcastData, write_to_self=False)
Beispiel #2
0
 def test_format_item_to_json(self):
     item = Item(1, "test name", "Medium", "This is a test description")
     item.save()
     results = item.to_json()
     expected_results = dict(id=1, user_id=1, name="test name", priority="Medium",
                             description="This is a test description")
     self.assertEqual(expected_results, results)
 def post(self):
     data = json.loads(request.data)
     if 'name' not in data:
         return make_response('The list item name is required', 400)
     else:
         name = data.get('name')
         user_id = data.get('user_id')
         description = data.get('description') if 'description' in data else None
         priority = data.get('priority') if 'priority' in data else None
         item = Item(user_id, name, priority, description)
         item.save()
         return make_response(jsonify(item.to_json()), 200)
 def test_to_json(self):
     item = Item(
         sentinel.name, sentinel.room, sentinel.weight,
         sentinel.description, sentinel.is_fragile
     )
     self.assertEquals(
         item.to_json(),
         {
             "name": sentinel.name,
             "description": sentinel.description,
             "weight": sentinel.weight,
             "is_fragile": sentinel.is_fragile
         }
     )
Beispiel #5
0
    def put(self, id=None, *args, **kwargs):
        board_id = self.get_argument('board_id')
        url = self.get_argument('url')
        image_url = self.get_argument('image_url')
        #tags = self.get_arguments('tags[]', [])
        tags = self.request.arguments.get('tags[]');
        #tags = self.get_argument('tags[]', [])
        pos_x = self.get_argument('pos_x')
        pos_y = self.get_argument('pos_y')
        scale = self.get_argument('scale')
        locked = self.get_argument('locked')

        item = Item(id=uuid.uuid4(), url=url, image_url=image_url, tags=tags,
                    pos_x=pos_x, pos_y=pos_y, scale=scale, locked=locked)
        b = Board.get(board_id)
        b.items.append(item)
        b.save()

        data = {'update_type': 'add_item', 'item': json.loads(item.to_json())}
        for socket in sockets[board_id]:
            EchoWebSocket.safe_write_to_socket(socket, json.dumps(data))