diff --git a/croud/clusters/commands.py b/croud/clusters/commands.py index 66f7c7f5..23d9ed16 100644 --- a/croud/clusters/commands.py +++ b/croud/clusters/commands.py @@ -266,7 +266,10 @@ def import_jobs_create(args: Namespace, extra_payload: Dict[str, Any]) -> None: cluster_id=args.cluster_id, request_params={"import_job_id": import_job_id}, operation_status_func=_get_import_job_operation_status, - feedback_func=_import_job_feedback_func, + feedback_func=( + _data_job_feedback_func, + ("import",), + ), ) @@ -679,7 +682,10 @@ def export_jobs_create(args: Namespace) -> None: cluster_id=args.cluster_id, request_params={"export_job_id": export_job_id}, operation_status_func=_get_export_job_operation_status, - feedback_func=_export_job_feedback_func, + feedback_func=( + _data_job_feedback_func, + ("export",), + ), post_success_func=( _download_exported_file, (client, args.cluster_id, args.save_as, export_job_id), @@ -795,27 +801,16 @@ def _get_formatted_records_normalized(feedback: dict) -> str: return records_normalized -def _import_job_feedback_func(status: str, feedback: dict): - records_normalized = _get_formatted_records_normalized(feedback) - size = _get_formatted_size(feedback) - - if status == "SUCCEEDED": - print_info(f"Done importing {records_normalized} records and {size}.") - else: - print_info( - f"Importing... {records_normalized} records and {size} imported so far." - ) - - -def _export_job_feedback_func(status: str, feedback: dict): +def _data_job_feedback_func(status: str, feedback: dict, job_type: str): records_normalized = _get_formatted_records_normalized(feedback) size = _get_formatted_size(feedback) if status == "SUCCEEDED": - print_info(f"Done exporting {records_normalized} records and {size}.") + print_info(f"Done {job_type}ing {records_normalized} records and {size}.") else: print_info( - f"Exporting... {records_normalized} records and {size} exported so far." + f"{job_type}ing... {records_normalized} records and {size} {job_type}ed " + "so far." ) @@ -918,7 +913,8 @@ def _wait_for_completed_operation( # Call for custom feedback if function available and there is status to report. if status in ["IN_PROGRESS", "SUCCEEDED"] and feedback_func: - feedback_func(status, feedback) + (feedback_func, feedback_args) = feedback_func + feedback_func(status, feedback, *feedback_args) # Final statuses if status == "SUCCEEDED":