Skip to content

Commit

Permalink
Refactor data job feedback func
Browse files Browse the repository at this point in the history
  • Loading branch information
tomach committed Jul 18, 2023
1 parent 8041764 commit e58445a
Showing 1 changed file with 14 additions and 18 deletions.
32 changes: 14 additions & 18 deletions croud/clusters/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",),
),
)


Expand Down Expand Up @@ -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),
Expand Down Expand Up @@ -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."
)


Expand Down Expand Up @@ -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":
Expand Down

0 comments on commit e58445a

Please sign in to comment.