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))
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)
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))