From d755fd872de8849b1b39f5ebf229e4c50f523f24 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Mon, 17 Nov 2025 13:23:22 -0600 Subject: [PATCH] tweaks --- mileage_rate.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mileage_rate.py b/mileage_rate.py index 39d134e..2a1426b 100644 --- a/mileage_rate.py +++ b/mileage_rate.py @@ -29,15 +29,16 @@ def get_reports(base_dir: Path): def find_in_range(rng: xw.Range, query: str) -> xw.Range | None: for cell in rng: match cell.value: - case str(cell_value) if cell_value.lower().startswith(query.lower()): + case str(cell_value) if re.match(query, cell_value, re.IGNORECASE): return cell return None def find_total_row(table_start: xw.Range) -> int: desc_col = find_in_range(table_start.expand('right'), "Desc") - col = desc_col.get_address(column_absolute=False)[0] - return find_in_range(table_start.sheet.range(f'{col}:{col}'), 'total').row + col_char = desc_col.get_address(column_absolute=False)[0] + col_rng = table_start.sheet.range(f'{col_char}:{col_char}') + return find_in_range(col_rng, 'total').row def get_total_cost(sheet: xw.Sheet) -> float: