Skip to content

Commit 4d58533

Browse files
NRL-721 Fix sonarqube complexity warning
1 parent b494013 commit 4d58533

1 file changed

Lines changed: 47 additions & 20 deletions

File tree

scripts/seed_sandbox_table.py

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,38 @@ def _create_pointer_item(
230230
return None, None
231231

232232

233+
def _generate_pointers_for_custodian(
234+
template: dict,
235+
pointer_type: str,
236+
custodian: str,
237+
pointers_per_type: int,
238+
counter_start: int,
239+
testnum_iter,
240+
) -> tuple[list[dict], list[list[str]], int]:
241+
batch_items = []
242+
csv_rows = []
243+
counter = counter_start
244+
245+
for _ in range(pointers_per_type):
246+
counter += 1
247+
248+
try:
249+
nhs_number = next(testnum_iter)
250+
except StopIteration:
251+
print(f"\n✗ Error: Ran out of NHS numbers at pointer {counter}")
252+
break
253+
254+
put_req, csv_data = _create_pointer_item(
255+
template, custodian, nhs_number, counter, pointer_type
256+
)
257+
258+
if put_req and csv_data:
259+
batch_items.append(put_req)
260+
csv_rows.append(csv_data)
261+
262+
return batch_items, csv_rows, counter
263+
264+
233265
def _generate_and_write_pointers(
234266
table_name: str, templates: dict[str, dict], pointers_per_type: int, testnum_iter
235267
) -> tuple[list[list[str]], int]:
@@ -240,26 +272,21 @@ def _generate_and_write_pointers(
240272

241273
for pointer_type, template in templates.items():
242274
for custodian in CUSTODIANS:
243-
for _ in range(pointers_per_type):
244-
counter += 1
245-
246-
try:
247-
nhs_number = next(testnum_iter)
248-
except StopIteration:
249-
print(f"\n✗ Error: Ran out of NHS numbers at pointer {counter}")
250-
break
251-
252-
put_req, csv_data = _create_pointer_item(
253-
template, custodian, nhs_number, counter, pointer_type
254-
)
255-
256-
if put_req and csv_data:
257-
batch_upsert_items.append(put_req)
258-
pointer_data.append(csv_data)
259-
260-
if len(batch_upsert_items) >= 25:
261-
_write_batch_to_dynamodb(table_name, batch_upsert_items)
262-
batch_upsert_items = []
275+
batch_items, csv_rows, counter = _generate_pointers_for_custodian(
276+
template,
277+
pointer_type,
278+
custodian,
279+
pointers_per_type,
280+
counter,
281+
testnum_iter,
282+
)
283+
284+
batch_upsert_items.extend(batch_items)
285+
pointer_data.extend(csv_rows)
286+
287+
if len(batch_upsert_items) >= 25:
288+
_write_batch_to_dynamodb(table_name, batch_upsert_items)
289+
batch_upsert_items = []
263290

264291
_write_batch_to_dynamodb(table_name, batch_upsert_items)
265292

0 commit comments

Comments
 (0)