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()