INNER CODE UNIT · Python
dry_run_report
defiprime/defiprime1 · scripts/algolia-index.py:187
def dry_run_report(records, index, app_id, cap):
biggest, biggest_size = largest_record(records)
batches = batch_records(records, MAX_BATCH_BYTES, MAX_BATCH_RECORDS)
lines = [
f"target index: {index} (app {app_id})",
f"records: {len(records)}",
f"total bytes: {total_bytes(records)}",
f"batches: {len(batches)} (max {MAX_BATCH_RECORDS} records, {MAX_BATCH_BYTES} bytes)",
f"record byte cap: {cap}",
"largest record: {} bytes ({})".format(
biggest_size, biggest.get("objectID") if biggest else "none"
),
"first record:",
json.dumps(records[0], ensure_ascii=False, indent=2) if records else "none",
]
return "\n".join(lines)