feat: migración PZ La Casita, fix motor N/A/RUEDA, cache-buster catálogo y variant_ids

This commit is contained in:
2026-06-22 22:33:59 +00:00
parent f5711ae22f
commit 14219e7117
9 changed files with 293 additions and 24 deletions

View File

@@ -349,11 +349,28 @@ def get_engines(master_conn, model_id, year_id, mye_ids=None):
FROM model_year_engine mye
JOIN engines e ON e.id_engine = mye.engine_id
WHERE mye.model_id = ANY(%s) AND mye.year_id = %s{mye_filter}
ORDER BY e.name_engine, mye.trim_level
ORDER BY e.name_engine, mye.trim_level, mye.id_mye
""", tuple(params))
rows = cur.fetchall()
cur.close()
return [{'id_mye': r[0], 'name_engine': r[1], 'trim_level': r[2] or ''} for r in rows]
def _clean_engine_name(name):
if not name or name.strip().upper() in ('N/A', 'RUEDA', ''):
return 'Sin especificar'
return name.strip()
# Deduplicate identical (name, trim) entries so the user doesn't see
# multiple indistinguishable "Sin especificar" options.
seen = set()
results = []
for id_mye, name_engine, trim_level in rows:
clean_name = _clean_engine_name(name_engine)
key = (clean_name, trim_level or '')
if key in seen:
continue
seen.add(key)
results.append({'id_mye': id_mye, 'name_engine': clean_name, 'trim_level': key[1]})
return results
def get_categories(master_conn, mye_id, allowed_brands=None):