File size: 6,835 Bytes
4fa4ebe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
#!/usr/bin/env python3
import requests
import xml.etree.ElementTree as ET
def search_marlin_products():
"""B2B API'den MARLIN ürünlerini listele"""
try:
warehouse_url = 'https://video.trek-turkey.com/bizimhesap-warehouse-xml.php'
response = requests.get(warehouse_url, verify=False, timeout=15)
if response.status_code != 200:
return None
root = ET.fromstring(response.content)
# Turkish character normalization function
turkish_map = {'ı': 'i', 'ğ': 'g', 'ü': 'u', 'ş': 's', 'ö': 'o', 'ç': 'c', 'İ': 'i', 'I': 'i'}
def normalize_turkish(text):
import unicodedata
text = unicodedata.normalize('NFD', text)
text = ''.join(char for char in text if unicodedata.category(char) != 'Mn')
for tr_char, en_char in turkish_map.items():
text = text.replace(tr_char, en_char)
return text
marlin_products = []
# MARLIN içeren tüm ürünleri bul
for product in root.findall('Product'):
product_name_elem = product.find('ProductName')
if product_name_elem is not None and product_name_elem.text:
xml_product_name = product_name_elem.text.strip()
normalized_xml = normalize_turkish(xml_product_name.lower())
if 'marlin' in normalized_xml:
# Stok durumunu kontrol et
has_stock = False
stock_info = []
warehouses = product.find('Warehouses')
if warehouses is not None:
for warehouse in warehouses.findall('Warehouse'):
name_elem = warehouse.find('Name')
stock_elem = warehouse.find('Stock')
if name_elem is not None and stock_elem is not None:
warehouse_name = name_elem.text if name_elem.text else "Bilinmeyen"
try:
stock_count = int(stock_elem.text) if stock_elem.text else 0
if stock_count > 0:
stock_info.append(f"{warehouse_name}: {stock_count}")
has_stock = True
except (ValueError, TypeError):
pass
marlin_products.append({
'name': xml_product_name,
'has_stock': has_stock,
'stock_info': stock_info
})
return marlin_products
except Exception as e:
print(f"Arama hatası: {e}")
return None
def search_turuncu_products():
"""B2B API'den TURUNCU içeren ürünleri listele"""
try:
warehouse_url = 'https://video.trek-turkey.com/bizimhesap-warehouse-xml.php'
response = requests.get(warehouse_url, verify=False, timeout=15)
if response.status_code != 200:
return None
root = ET.fromstring(response.content)
# Turkish character normalization function
turkish_map = {'ı': 'i', 'ğ': 'g', 'ü': 'u', 'ş': 's', 'ö': 'o', 'ç': 'c', 'İ': 'i', 'I': 'i'}
def normalize_turkish(text):
import unicodedata
text = unicodedata.normalize('NFD', text)
text = ''.join(char for char in text if unicodedata.category(char) != 'Mn')
for tr_char, en_char in turkish_map.items():
text = text.replace(tr_char, en_char)
return text
turuncu_products = []
# TURUNCU içeren tüm ürünleri bul
for product in root.findall('Product'):
product_name_elem = product.find('ProductName')
if product_name_elem is not None and product_name_elem.text:
xml_product_name = product_name_elem.text.strip()
normalized_xml = normalize_turkish(xml_product_name.lower())
if 'turuncu' in normalized_xml:
# Stok durumunu kontrol et
has_stock = False
stock_info = []
warehouses = product.find('Warehouses')
if warehouses is not None:
for warehouse in warehouses.findall('Warehouse'):
name_elem = warehouse.find('Name')
stock_elem = warehouse.find('Stock')
if name_elem is not None and stock_elem is not None:
warehouse_name = name_elem.text if name_elem.text else "Bilinmeyen"
try:
stock_count = int(stock_elem.text) if stock_elem.text else 0
if stock_count > 0:
stock_info.append(f"{warehouse_name}: {stock_count}")
has_stock = True
except (ValueError, TypeError):
pass
turuncu_products.append({
'name': xml_product_name,
'has_stock': has_stock,
'stock_info': stock_info
})
return turuncu_products
except Exception as e:
print(f"Arama hatası: {e}")
return None
if __name__ == "__main__":
print("=== MARLIN ÜRÜNLERİ ===")
marlin_products = search_marlin_products()
if marlin_products:
print(f"Toplam {len(marlin_products)} MARLIN ürünü bulundu:")
for i, product in enumerate(marlin_products, 1):
print(f"{i:2}. {product['name']}")
if product['has_stock']:
print(f" STOKTA: {', '.join(product['stock_info'])}")
else:
print(f" STOKTA DEĞİL")
print()
print("\n" + "="*50)
print("=== TURUNCU ÜRÜNLERİ ===")
turuncu_products = search_turuncu_products()
if turuncu_products:
print(f"Toplam {len(turuncu_products)} TURUNCU ürünü bulundu:")
for i, product in enumerate(turuncu_products, 1):
print(f"{i:2}. {product['name']}")
if product['has_stock']:
print(f" STOKTA: {', '.join(product['stock_info'])}")
else:
print(f" STOKTA DEĞİL")
print() |