From a74fe94187032c19392cbba594a9ec0e96b32e2c Mon Sep 17 00:00:00 2001 From: consultoria-as Date: Wed, 1 Apr 2026 22:21:52 +0000 Subject: [PATCH] feat(pos): filtrar marcas a solo Mexico/USA/Canada (36 marcas) Eliminadas marcas de otros mercados (China, Australia, etc.) Solo se muestran las relevantes para Norteamerica. Co-Authored-By: Claude Opus 4.6 (1M context) --- pos/services/catalog_service.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pos/services/catalog_service.py b/pos/services/catalog_service.py index 8a065e3..529ab02 100644 --- a/pos/services/catalog_service.py +++ b/pos/services/catalog_service.py @@ -17,16 +17,27 @@ import re # VEHICLE HIERARCHY NAVIGATION # ───────────────────────────────────────────────────────────────────────────── +NORTH_AMERICA_BRANDS = ( + 'ACURA', 'AUDI', 'BMW', 'BUICK', 'CADILLAC', 'CHEVROLET', 'CHRYSLER', + 'DODGE', 'FIAT', 'FORD', 'GMC', 'HONDA', 'HYUNDAI', 'INFINITI', + 'JAGUAR', 'JEEP', 'KIA', 'LAND ROVER', 'LEXUS', 'LINCOLN', 'MAZDA', + 'MERCEDES-BENZ', 'MINI', 'MITSUBISHI', 'NISSAN', 'PEUGEOT', 'PORSCHE', + 'RAM', 'RENAULT', 'SEAT', 'SUBARU', 'SUZUKI', 'TESLA', 'TOYOTA', + 'VOLVO', 'VW', +) + + def get_brands(master_conn): - """Get all vehicle brands that have MYE entries (fast, no vehicle_parts scan).""" + """Get vehicle brands available in Mexico/USA/Canada that have MYE entries.""" cur = master_conn.cursor() cur.execute(""" SELECT DISTINCT b.id_brand, b.name_brand FROM brands b JOIN models m ON m.brand_id = b.id_brand JOIN model_year_engine mye ON mye.model_id = m.id_model + WHERE b.name_brand = ANY(%s) ORDER BY b.name_brand - """) + """, (list(NORTH_AMERICA_BRANDS),)) rows = cur.fetchall() cur.close() return [{'id_brand': r[0], 'name_brand': r[1]} for r in rows]