feat: migración PZ La Casita, fix motor N/A/RUEDA, cache-buster catálogo y variant_ids
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user