mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 15:44:47 +00:00
Root cause: _row_for_measurement() returned a positional list based on
_measurement_columns() order, but the actual Google Sheet may have
columns in a different order (if the sheet was created before new
columns were added and _ensure_measurements_sheet() appended them
at the end rather than in the middle). Values ended up in wrong
columns — client_name, manager_tg_id etc. were misaligned, so
_handle_clients couldn't match any rows and returned an empty list.
Fix:
- _row_for_measurement() now returns dict {col_name: value}
- sheets.append_named_row() reads real headers from the sheet and
builds the positional row accordingly — safe regardless of column order
- All three Measurements append calls updated to use append_named_row
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| parsers | ||
| __init__.py | ||
| ai.py | ||
| auth.py | ||
| catalog.py | ||
| config.py | ||
| drive.py | ||
| gcalendar.py | ||
| geocoder.py | ||
| main.py | ||
| proposals.py | ||
| proxy_pool.py | ||
| sheets.py | ||
| telegram.py | ||