tweaks
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user