SamiKoen commited on
Commit
e7db21f
·
verified ·
1 Parent(s): a05e3db

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -29
app.py CHANGED
@@ -741,43 +741,50 @@ def process_whatsapp_message_with_memory(user_message, phone_number):
741
  if any(keyword in user_message.lower() for keyword in ['mağaza', 'mağazada', 'nerede', 'hangi mağaza', 'şube']):
742
  print(f"DEBUG: Mağaza sorusu algılandı: {user_message}")
743
 
744
- # Try to get warehouse stock from improved search results first
 
745
  warehouse_info_parts = []
746
- if product_result['products_found']:
747
- print(f"DEBUG: {len(product_result['products_found'])} ürün bulundu")
748
- for product in product_result['products_found'][:2]: # Max 2 products
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
749
  product_name = product[2] # Full product name
750
  print(f"DEBUG: Mağaza stogu kontrol ediliyor: {product_name}")
751
  warehouse_stock = get_warehouse_stock(product_name)
752
  print(f"DEBUG: Mağaza stok sonucu: {warehouse_stock}")
753
- if warehouse_stock and warehouse_stock != ['Hiçbir mağazada stokta bulunmuyor']:
 
754
  warehouse_info_parts.append(f"{product_name} mağaza stogu:")
755
  warehouse_info_parts.extend(warehouse_stock)
756
  warehouse_info_parts.append("")
757
-
758
- # If no results from products_found, try direct search from user message
759
- if not warehouse_info_parts:
760
- print("DEBUG: products_found'dan sonuç yok, mesajdan ürün çıkarmaya çalışıyor")
761
- # Extract potential product name from user message
762
- message_words = user_message.lower().split()
763
- skip_words = ['hangi', 'mağaza', 'mağazada', 'nerede', 'var', 'stok', 'stokta']
764
- product_words = [word for word in message_words if word not in skip_words]
765
-
766
- if product_words:
767
- # Try common product name patterns
768
- test_names = [
769
- ' '.join(product_words),
770
- f"marlin 6 gen 3 (2026) {' '.join(product_words)}",
771
- f"marlin 6 gen 3 (2026) m - {' '.join(product_words)}"
772
- ]
773
-
774
- for test_name in test_names:
775
- print(f"DEBUG: Test ediliyor: {test_name}")
776
- warehouse_stock = get_warehouse_stock(test_name)
777
- if warehouse_stock and warehouse_stock != ['Hiçbir mağazada stokta bulunmuyor']:
778
- warehouse_info_parts.append(f"{test_name} mağaza stogu:")
779
- warehouse_info_parts.extend(warehouse_stock)
780
- break
781
 
782
  if warehouse_info_parts:
783
  warehouse_response = "\n".join(warehouse_info_parts)
 
741
  if any(keyword in user_message.lower() for keyword in ['mağaza', 'mağazada', 'nerede', 'hangi mağaza', 'şube']):
742
  print(f"DEBUG: Mağaza sorusu algılandı: {user_message}")
743
 
744
+ # First, always search for products using improved search
745
+ # This will find products even with partial/typo names
746
  warehouse_info_parts = []
747
+
748
+ # Use the response text from improved search to extract product names
749
+ if product_result['response']:
750
+ # Extract product names from the response
751
+ import re
752
+ # Look for product names in bold (between * markers)
753
+ product_names = re.findall(r'\*([^*]+)\*', product_result['response'])
754
+
755
+ if product_names:
756
+ print(f"DEBUG: Response'tan {len(product_names)} ürün adı çıkarıldı")
757
+ for product_name in product_names[:3]: # Max 3 products
758
+ # Clean up the product name
759
+ product_name = product_name.strip()
760
+ # Skip status indicators
761
+ if product_name in ['Stokta mevcut', 'Stokta yok', 'Fiyat:', 'Kampanya:', 'İndirim:']:
762
+ continue
763
+
764
+ print(f"DEBUG: Mağaza stogu kontrol ediliyor: {product_name}")
765
+ warehouse_stock = get_warehouse_stock(product_name)
766
+ print(f"DEBUG: Mağaza stok sonucu: {warehouse_stock}")
767
+
768
+ if warehouse_stock and warehouse_stock != ['Ürün bulunamadı'] and warehouse_stock != ['Hiçbir mağazada stokta bulunmuyor']:
769
+ warehouse_info_parts.append(f"{product_name} mağaza stogu:")
770
+ warehouse_info_parts.extend(warehouse_stock)
771
+ warehouse_info_parts.append("")
772
+ break # Found warehouse info, stop searching
773
+
774
+ # If still no warehouse info, use products_found as backup
775
+ if not warehouse_info_parts and product_result['products_found']:
776
+ print(f"DEBUG: Response'tan bulunamadı, products_found kullanılıyor")
777
+ for product in product_result['products_found'][:2]:
778
  product_name = product[2] # Full product name
779
  print(f"DEBUG: Mağaza stogu kontrol ediliyor: {product_name}")
780
  warehouse_stock = get_warehouse_stock(product_name)
781
  print(f"DEBUG: Mağaza stok sonucu: {warehouse_stock}")
782
+
783
+ if warehouse_stock and warehouse_stock != ['Ürün bulunamadı'] and warehouse_stock != ['Hiçbir mağazada stokta bulunmuyor']:
784
  warehouse_info_parts.append(f"{product_name} mağaza stogu:")
785
  warehouse_info_parts.extend(warehouse_stock)
786
  warehouse_info_parts.append("")
787
+ break
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
788
 
789
  if warehouse_info_parts:
790
  warehouse_response = "\n".join(warehouse_info_parts)