def handle_export_post(**kwargs): """Handle export post""" check_import_export_headers() request_json = request.json objects = request_json.get("objects") exportable_objects = request_json.get("exportable_objects", []) current_time = request.json.get("current_time") user = login.get_current_user() if user.system_wide_role == 'No Access': raise wzg_exceptions.Forbidden() if not objects or not current_time: raise wzg_exceptions.BadRequest( app_errors.INCORRECT_REQUEST_DATA.format(job_type="Export")) try: filename = import_helper.get_export_filename(objects, current_time, exportable_objects) ie = import_export.create_import_export_entry( job_type="Export", status="In Progress", title=filename, start_at=datetime.utcnow(), ) run_background_export(ie.id, objects, exportable_objects) return make_import_export_response(ie.log_json()) except Exception as e: logger.exception(e.message) raise wzg_exceptions.BadRequest( app_errors.INCORRECT_REQUEST_DATA.format(job_type="Export"))
def handle_import_post(**kwargs): """ Handle import post """ check_import_export_headers() import_export.delete_previous_imports() file_meta = request.json csv_data, csv_content, filename = fa.get_gdrive_file_data(file_meta) try: objects, results, failed = count_objects(csv_data) ie = import_export.create_import_export_entry( content=csv_content, gdrive_metadata=file_meta, title=filename, status="Not Started" if not failed else "Analysis Failed", results=results) return make_import_export_response({ "objects": objects if not failed else [], "import_export": ie.log_json() }) except Unauthorized: raise except Exception as e: logger.exception("Import failed due incorrect request data: %s", e.message) raise BadRequest("Import failed due incorrect request data")
def handle_import_post(**kwargs): """ Handle import post """ check_import_export_headers() import_export.delete_previous_imports() file_meta = request.json csv_data, csv_content, filename = fa.get_gdrive_file_data(file_meta) check_import_filename(filename) try: objects, results, failed = import_helper.count_objects(csv_data) ie = import_export.create_import_export_entry( content=csv_content, gdrive_metadata=file_meta, title=filename, status="Not Started" if not failed else "Analysis Failed", results=results) return make_import_export_response({ "objects": objects if not failed else [], "import_export": ie.log_json() }) except wzg_exceptions.Unauthorized: raise except Exception as e: logger.exception(e.message) raise wzg_exceptions.BadRequest( app_errors.INCORRECT_REQUEST_DATA.format(job_type="Import"))
def handle_export_post(**kwargs): """Handle export post""" check_import_export_headers() objects = request.json.get("objects") current_time = request.json.get("current_time") user = get_current_user() if user.system_wide_role == 'No Access': raise Forbidden() if not objects or not current_time: raise BadRequest("Export failed due incorrect request data") try: filename = get_export_filename(objects, current_time) ie = import_export.create_import_export_entry( job_type="Export", status="In Progress", title=filename, start_at=datetime.utcnow(), ) deferred.defer(run_export, objects, ie.id, user.id, get_url_root(), _queue="ggrcImport") return make_import_export_response(ie.log_json()) except Exception as e: logger.exception("Export failed due incorrect request data: %s", e.message) raise BadRequest("Export failed due incorrect request data")
def handle_import_post(**kwargs): """ Handle import post """ check_import_export_headers() import_export.delete_previous_imports() file_meta = request.json csv_data, csv_content, filename = fa.get_gdrive_file_data(file_meta) try: objects, results, failed = count_objects(csv_data) ie = import_export.create_import_export_entry( content=csv_content, gdrive_metadata=file_meta, title=filename, status="Not Started" if not failed else "Analysis Failed", results=results) return make_import_export_response({ "objects": objects if not failed else [], "import_export": ie.log_json()}) except Unauthorized: raise except Exception as e: logger.exception("Import failed due incorrect request data: %s", e.message) raise BadRequest("Import failed due incorrect request data")
def handle_import_post(**kwargs): """ Handle import post """ check_import_export_headers() import_export.delete_previous_imports() file_meta = request.json csv_data, csv_content, filename = fa.get_gdrive_file_data(file_meta) check_import_filename(filename) try: objects, results, failed = import_helper.count_objects(csv_data) ie = import_export.create_import_export_entry( content=csv_content, gdrive_metadata=file_meta, title=filename, status="Not Started" if not failed else "Analysis Failed", results=results) return make_import_export_response({ "objects": objects if not failed else [], "import_export": ie.log_json()}) except wzg_exceptions.Unauthorized: raise except Exception as e: logger.exception(e.message) raise wzg_exceptions.BadRequest( app_errors.INCORRECT_REQUEST_DATA.format(job_type="Import"))