Skip to content

Commit 9114730

Browse files
NRL-1798 Update script help notes
1 parent d960e69 commit 9114730

File tree

1 file changed

+17
-23
lines changed

1 file changed

+17
-23
lines changed

scripts/delete_pointers_by_id.py

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -263,36 +263,30 @@ def _batch_delete_pointers(
263263
def _delete_pointers_by_id(
264264
table_name: str,
265265
ods_code: str,
266-
pointers_to_delete: List[str] | None = None,
266+
pointers_to_delete: list[str] | None = None,
267267
pointers_file: str | None = None,
268268
) -> None:
269269
"""
270-
Delete pointers from DynamoDB table.
270+
Delete DynamoDB pointers by ID with ODS code validation.
271+
272+
REQUIRED: Provide either --pointers_to_delete OR --pointers_file (but not both)
271273
272274
Can accept pointers as:
273-
- list of strings: pointers_to_delete=["id1", "id2"]
274-
- JSON file: pointers_file=/path/to/pointers.json (array of objects with "id" field)
275-
- text file: pointers_file=/path/to/ids.txt (one id per line)
276-
277-
Parameters:
278-
- table_name: DynamoDB table name
279-
- ods_code: ODS code of the organisation that the pointers belong to
280-
- pointers_to_delete: list of pointer ids to delete
281-
- pointers_file: path to JSON file (array of objects with "id" field) or text file (one id per line)
282-
283-
Sample usage:
284-
- Delete by list of ids:
285-
python delete_pointers_by_id.py --table_name MyTable --ods_code ABC123 --pointers_to_delete '["ABC123-12345678910", "ABC123-109876543210"]'
286-
- Delete by JSON file:
287-
python delete_pointers_by_id.py --table_name MyTable --ods_code ABC123 --pointers_file /path/to/pointers.json
288-
- Delete by text file:
289-
python delete_pointers_by_id.py --table_name MyTable --ods_code ABC123 --pointers_file /path/to/ids.txt
275+
- list of strings: --pointers_to_delete '["ABC123-12345678910", "ABC123-109876543210"]'
276+
- JSON file: --pointers_file /path/to/pointers.json (array of objects with "id" field)
277+
- text file: --pointers_file /path/to/ids.txt (one id per line)
278+
279+
Args:
280+
table_name: DynamoDB table name
281+
ods_code: ODS code to validate pointer IDs against
282+
pointers_to_delete: List of pointer IDs as JSON string
283+
pointers_file: Path to file containing pointer IDs
290284
"""
291-
if pointers_to_delete is None and pointers_file is None:
292-
raise ValueError("Provide either pointers_to_delete or pointers_file")
285+
if not pointers_to_delete and not pointers_file:
286+
raise ValueError("Must provide either --pointers_to_delete or --pointers_file")
293287

294-
if pointers_to_delete is not None and pointers_file is not None:
295-
raise ValueError("Provide either pointers_to_delete or pointers_file, not both")
288+
if pointers_to_delete and pointers_file:
289+
raise ValueError("Cannot provide both --pointers_to_delete and --pointers_file")
296290

297291
if pointers_file:
298292
pointers_to_delete = _load_pointers_from_file(pointers_file)

0 commit comments

Comments
 (0)