diff options
| author | Mqdd <ahmadmiqdad27@gmail.com> | 2025-12-02 10:41:46 +0700 |
|---|---|---|
| committer | Mqdd <ahmadmiqdad27@gmail.com> | 2025-12-02 10:41:46 +0700 |
| commit | 9a16b32bb2fdd58739c410e7c4ea376ead340a32 (patch) | |
| tree | d42e08614b47e605332936a7e033c4a7ec23052a | |
| parent | f21999829173fe8d2ef935f0564014fc04b8214e (diff) | |
<Miqdad> fix generate url
| -rw-r--r-- | indoteknik_custom/models/find_page.py | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/indoteknik_custom/models/find_page.py b/indoteknik_custom/models/find_page.py index 561b15ee..46b69ff2 100644 --- a/indoteknik_custom/models/find_page.py +++ b/indoteknik_custom/models/find_page.py @@ -70,23 +70,41 @@ class FindPage(models.Model): return categories def _generate_url(self): - categories = self.env['v.brand.product.category'].search([]) + keyword = self.keywords list_url = [] - for category in categories: - category_hierarchy = self._get_category_hierarchy(category.category_id) + if not keyword: + categories = self.env['v.brand.product.category'].search([]) - for level, cat in enumerate(reversed(category_hierarchy), start=1): - list_url.append(self._generate_mod_url(cat, category.brand_id)) - # print(f"Level {level}: {cat.name} {category.brand_id.x_name}") + for category in categories: + category_hierarchy = self._get_category_hierarchy(category.category_id) + for level, cat in enumerate(reversed(category_hierarchy), start=1): + list_url.append( + self._generate_mod_url(cat, category.brand_id) # keywords=None otomatis + ) + else: + brands = self.env['x_manufactures'].search([('x_name', 'ilike', keyword)]) + categories = self.env['product.public.category'].search([('name', 'ilike', keyword)]) + + for brand in brands: + for category in categories: + list_url.append( + self._generate_mod_url(category, brand, keywords=keyword) + ) unique_list = [] for item in list_url: if item not in unique_list: unique_list.append(item) + count = 0 for item in unique_list: - self._create_find_page(item['url'], item['category_id'], item['brand_id'], item['keywords']) + self._create_find_page( + item['url'], + item['category_id'], + item['brand_id'], + item.get('keywords') + ) count += 1 print(f"Total categories processed: {count}") @@ -122,7 +140,7 @@ class FindPage(models.Model): 'brand_id': brand.id } if keywords: - result['keywords_s'] = keywords + result['keywords'] = keywords # print(url) # param = { # 'brand_id': brand.id, |
