def on_post(self, req, resp): barcode = req.get_param('barcode', required=True) action = req.get_param('action', required=True) server_domain = req.get_param('server_domain', required=True) if server_domain != settings.OFF_SERVER_DOMAIN: logger.info( "Rejecting webhook event from {}".format(server_domain)) resp.media = { 'status': 'rejected', } return logger.info("New webhook event received for product {} (action: {}, " "domain: {})".format(barcode, action, server_domain)) if action not in ('updated', 'deleted'): raise falcon.HTTPBadRequest(title="invalid_action", description="action must be one of " "`deleted`, `updated`") if action == 'updated': send_ipc_event('product_updated', { 'barcode': barcode, }) elif action == 'deleted': send_ipc_event('product_deleted', { 'barcode': barcode, }) resp.media = { 'status': 'scheduled', }
def on_post(self, req: falcon.Request, resp: falcon.Response): barcode = req.get_param("barcode", required=True) image_url = req.get_param("image_url", required=True) ocr_url = req.get_param("ocr_url", required=True) server_domain = req.get_param("server_domain", required=True) if server_domain != settings.OFF_SERVER_DOMAIN: logger.info("Rejecting image import from {}".format(server_domain)) resp.media = { "status": "rejected", } return send_ipc_event( "import_image", { "barcode": barcode, "image_url": image_url, "ocr_url": ocr_url, "server_domain": server_domain, }, ) resp.media = { "status": "scheduled", }
def on_post(self, req, resp): logger.info("New insight import request") insight_type = req.get_param("type", required=True) server_domain = req.get_param("server_domain", required=True) if insight_type not in (t.name for t in InsightType): raise falcon.HTTPBadRequest(description="unknown insight type: " "'{}'".format(insight_type)) content = req.get_param("file", required=True) logger.info("Insight type: '{}'".format(insight_type)) lines = [l for l in io.TextIOWrapper(content.file)] send_ipc_event( "import_insights", { "insight_type": insight_type, "items": lines, "server_domain": server_domain, }, ) logger.info("Import scheduled") resp.media = { "status": "scheduled", }
def launch_object_detection_job(barcode: str, image_url: str, server_domain: str): send_ipc_event( "object_detection", { "barcode": barcode, "image_url": image_url, "server_domain": server_domain }, )
def on_post(self, req: falcon.Request, resp: falcon.Response): barcode = req.get_param("barcode", required=True) action = req.get_param("action", required=True) server_domain = req.get_param("server_domain", required=True) if server_domain != settings.OFF_SERVER_DOMAIN: logger.info("Rejecting webhook event from {}".format(server_domain)) resp.media = { "status": "rejected", } return logger.info( "New webhook event received for product {} (action: {}, " "domain: {})".format(barcode, action, server_domain) ) if action not in ("updated", "deleted"): raise falcon.HTTPBadRequest( title="invalid_action", description="action must be one of " "`deleted`, `updated`", ) if action == "updated": send_ipc_event( "product_updated", { "barcode": barcode, "server_domain": server_domain, # add some latency "task_delay": settings.UPDATED_PRODUCT_WAIT, }, ) elif action == "deleted": send_ipc_event( "product_deleted", {"barcode": barcode, "server_domain": server_domain} ) resp.media = { "status": "scheduled", }
def on_post(self, req, resp): barcode = req.get_param('barcode', required=True) image_url = req.get_param('image_url', required=True) ocr_url = req.get_param('ocr_url', required=True) server_domain = req.get_param('server_domain', required=True) if server_domain != settings.OFF_SERVER_DOMAIN: logger.info("Rejecting image import from {}".format(server_domain)) resp.media = { 'status': 'rejected', } return send_ipc_event('import_image', { 'barcode': barcode, 'image_url': image_url, 'ocr_url': ocr_url, }) resp.media = { 'status': 'scheduled', }
def on_post(self, req, resp): logger.info("New insight import request") insight_type = req.get_param('type', required=True) if insight_type not in (t.name for t in InsightType): raise falcon.HTTPBadRequest(description="unknown insight type: " "'{}'".format(insight_type)) content = req.get_param('file', required=True) logger.info("Insight type: '{}'".format(insight_type)) lines = [l for l in io.TextIOWrapper(content.file)] send_ipc_event('import_insights', { 'insight_type': insight_type, 'items': lines, }) logger.info("Import scheduled") resp.media = { 'status': 'scheduled', }
def on_post(self, req: falcon.Request, resp: falcon.Response): send_ipc_event("download_dataset") resp.media = { "status": "scheduled", }
def on_post(self, req, resp): send_ipc_event('download_dataset') resp.media = { 'status': 'scheduled', }
def on_post(self, req, resp): send_ipc_event("download_dataset") resp.media = { "status": "scheduled", }