def api_sketch2model(): """Main API: Takes an image, runs sketch2model image processing and returns model as a png image""" try: ## Add more validation here sketch = request.files['sketch'] except Exception as e: app.logger.error('API Sketch Error: %s', e) result = { 'ok': False, 'error': 'sketch not found or could not be opened' } return jsonify(result) try: model = sketch2model(sketch) response = make_response(model.getvalue()) response.mimetype = 'image/png' except Exception as e: app.logger.error('API Sketch2Model Error: %s', e) result = { 'ok': False, 'error': 'sketch2model image processing failed' } return jsonify(result) return(response)
def model_sketch(filename, bucket, upload_folder, model_folder): """Pulls sketch image from S3, runs sketch2model image processing on the image and then uploads result to S3.""" s3 = resource('s3') s3_upload = s3.Object(bucket, upload_folder + '/' + filename) sketch = s3_upload.get()['Body'] s3_model = s3.Object(bucket, model_folder + '/' + filename) model_object = sketch2model(sketch) s3_model.put(Body=model_object, ContentType='image/jpeg') model_object.close()