コード例 #1
0
    def get(self, device_id_urlsafe):

        user = self.get_auth()

        if not user:
            send_error(self.response, 401)
            return

        device = Device.get_by_user_and_urlsafe_id(user.key.id(), device_id_urlsafe)

        if not device:
            send_error(self.response, 404)
            return

        photo = UnsplashPhoto()
        photo.query(device.width, device.height, device.orientation, device.image_query)

        if photo.response_code != 200:
            send_error(self.response, 500, photo.response_json)
            return

        device_json = device.to_json_ready()
        device_json["photo_url"] = photo.photo_url

        send_success(self.response, json.dumps(device_json))
コード例 #2
0
    def delete(self, device_id_urlsafe):

        user = self.get_auth()

        if not user:
            send_error(self.response, 401)
            return

        device = Device.get_by_user_and_urlsafe_id(user.key.id(), device_id_urlsafe)

        if not device:
            send_error(self.response, 404)
            return

        device.key.delete()

        send_success(self.response, None)
コード例 #3
0
    def put(self, device_id_urlsafe):

        user = self.get_auth()

        if not user:
            send_error(self.response, 401)
            return

        device = Device.get_by_user_and_urlsafe_id(user.key.id(), device_id_urlsafe)

        if not device:
            send_error(self.response, 404)
            return

        request_data = json.loads(self.request.body)
        if "name" in request_data and request_data["name"]:
            device.name = request_data["name"]
        if "height" in request_data and request_data["height"]:
            device.height = int(request_data["height"])
        if "width" in request_data and request_data["width"]:
            device.width = int(request_data["width"])
        if "orientation" in request_data and request_data["orientation"]:
            device.orientation = int(request_data["orientation"])
        if "image_query" in request_data and request_data["image_query"]:
            device.image_query = request_data["image_query"]

        device.put()

        photo = UnsplashPhoto()
        photo.query(device.width, device.height, device.orientation, device.image_query)

        if photo.response_code != 200:
            send_error(self.response, 500, photo.response_json)
            return

        device_json = device.to_json_ready()
        device_json["photo_url"] = photo.photo_url

        send_success(self.response, json.dumps(device_json))