SamiKoen commited on
Commit
a9d9fb6
·
verified ·
1 Parent(s): 8f66c72

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +92 -112
app.py CHANGED
@@ -60,119 +60,99 @@ for item in root.findall('item'):
60
  # Normal fiyatı yuvarla
61
  try:
62
  price_float = float(price_str)
63
- # Fiyat 30000 üzerindeyse en yakın binler basamağına yuvarla
64
- if price_float > 30000:
65
- price = str(round(price_float / 1000) * 1000) # En yakın binlere yuvarla
66
- # Diğer durumlarda mevcut basamak sayısına göre yuvarlama
67
- elif 1000 <= price_float < 10000: # 4 basamaklı - onlar basamağına yuvarla
68
- price = str(round(price_float / 10) * 10)
69
- elif 10000 <= price_float < 100000: # 5 basamaklı - yüzler basamağına yuvarla
70
- price = str(round(price_float / 100) * 100)
71
- elif price_float >= 100000: # 6 basamaklı - binler basamağına yuvarla
72
- price = str(round(price_float / 1000) * 1000)
73
  else:
74
- price = price_str # 3 basamaklı veya daha az ise olduğu gibi bırak
75
  except (ValueError, TypeError):
76
  price = price_str # Sayıya dönüştürülemezse olduğu gibi bırak
77
 
78
  # Havale indirimli orijinal fiyatı yuvarla (varsa)
79
  if price_eft_str:
80
- # Normal fiyatı yuvarla
81
- try:
82
- price_float = float(price_str)
83
- # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
84
- if price_float > 200000:
85
- price = str(round(price_float / 5000) * 5000) # En yakın 5000'e yuvarla
86
- # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
87
- elif price_float > 30000:
88
- price = str(round(price_float / 1000) * 1000) # En yakın 1000'e yuvarla
89
- # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
90
- elif price_float > 10000:
91
- price = str(round(price_float / 100) * 100) # En yakın 100'e yuvarla
92
- # Diğer durumlarda en yakın 10'luk basamağa yuvarla
93
- else:
94
- price = str(round(price_float / 10) * 10) # En yakın 10'a yuvarla
95
- except (ValueError, TypeError):
96
- price = price_str # Sayıya dönüştürülemezse olduğu gibi bırak
97
-
98
- # Havale indirimli orijinal fiyatı yuvarla (varsa)
99
- if price_eft_str:
100
- try:
101
- price_eft_float = float(price_eft_str)
102
- # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
103
- if price_eft_float > 200000:
104
- price_eft = str(round(price_eft_float / 5000) * 5000)
105
- # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
106
- elif price_eft_float > 30000:
107
- price_eft = str(round(price_eft_float / 1000) * 1000)
108
- # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
109
- elif price_eft_float > 10000:
110
- price_eft = str(round(price_eft_float / 100) * 100)
111
- # Diğer durumlarda en yakın 10'luk basamağa yuvarla
112
- else:
113
- price_eft = str(round(price_eft_float / 10) * 10)
114
- except (ValueError, TypeError):
115
- price_eft = price_eft_str
116
- else:
117
- # Havale indirimli fiyat verilmemişse, orijinal fiyattan %2.5 indirim hesapla
118
- try:
119
- price_eft_float = price_float * 0.975 # %2.5 indirim
120
- # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
121
- if price_eft_float > 200000:
122
- price_eft = str(round(price_eft_float / 5000) * 5000)
123
- # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
124
- elif price_eft_float > 30000:
125
- price_eft = str(round(price_eft_float / 1000) * 1000)
126
- # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
127
- elif price_eft_float > 10000:
128
- price_eft = str(round(price_eft_float / 100) * 100)
129
- # Diğer durumlarda en yakın 10'luk basamağa yuvarla
130
- else:
131
- price_eft = str(round(price_eft_float / 10) * 10)
132
- except (ValueError, TypeError):
133
- price_eft = ""
134
-
135
- # İndirimli fiyatı yuvarla
136
- try:
137
- if price_rebate_str:
138
- price_rebate_float = float(price_rebate_str)
139
- # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
140
- if price_rebate_float > 200000:
141
- price_rebate = str(round(price_rebate_float / 5000) * 5000)
142
- # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
143
- elif price_rebate_float > 30000:
144
- price_rebate = str(round(price_rebate_float / 1000) * 1000)
145
- # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
146
- elif price_rebate_float > 10000:
147
- price_rebate = str(round(price_rebate_float / 100) * 100)
148
- # Diğer durumlarda en yakın 10'luk basamağa yuvarla
149
- else:
150
- price_rebate = str(round(price_rebate_float / 10) * 10)
151
- else:
152
- price_rebate = ""
153
- except (ValueError, TypeError):
154
- price_rebate = price_rebate_str
155
-
156
- # Havale indirimi kampanyalı fiyatı yuvarla
157
- try:
158
- if price_rebate_money_order_str:
159
- price_rebate_money_order_float = float(price_rebate_money_order_str)
160
- # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
161
- if price_rebate_money_order_float > 200000:
162
- price_rebate_money_order = str(round(price_rebate_money_order_float / 5000) * 5000)
163
- # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
164
- elif price_rebate_money_order_float > 30000:
165
- price_rebate_money_order = str(round(price_rebate_money_order_float / 1000) * 1000)
166
- # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
167
- elif price_rebate_money_order_float > 10000:
168
- price_rebate_money_order = str(round(price_rebate_money_order_float / 100) * 100)
169
- # Diğer durumlarda en yakın 10'luk basamağa yuvarla
170
  else:
171
- price_rebate_money_order = str(round(price_rebate_money_order_float / 10) * 10)
172
- else:
173
- price_rebate_money_order = ""
174
- except (ValueError, TypeError):
175
- price_rebate_money_order = price_rebate_money_order_str
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
 
177
  # Sadece ürün linkini al, resim linkini alma
178
  product_link = item.find('productLink').text if item.find('productLink') is not None else ""
@@ -374,14 +354,14 @@ def chatbot_fn(user_message, history):
374
  # İndirim miktarı 0'dan büyükse göster
375
  if discount_amount > 0:
376
  # İndirim miktarı için yuvarlama kurallarını uygula
377
- if 1000 <= discount_amount < 10000: # 4 basamaklı
378
- discount_amount_rounded = round(discount_amount / 10) * 10
379
- elif 10000 <= discount_amount < 100000: # 5 basamaklı
380
- discount_amount_rounded = round(discount_amount / 100) * 100
381
- elif discount_amount >= 100000: # 6 basamaklı
382
  discount_amount_rounded = round(discount_amount / 1000) * 1000
 
 
383
  else:
384
- discount_amount_rounded = discount_amount
385
 
386
  # İndirim bilgisi
387
  discount_info = f"\nYapılan indirim: {discount_amount_rounded:.0f} TL"
 
60
  # Normal fiyatı yuvarla
61
  try:
62
  price_float = float(price_str)
63
+ # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
64
+ if price_float > 200000:
65
+ price = str(round(price_float / 5000) * 5000) # En yakın 5000'e yuvarla
66
+ # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
67
+ elif price_float > 30000:
68
+ price = str(round(price_float / 1000) * 1000) # En yakın 1000'e yuvarla
69
+ # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
70
+ elif price_float > 10000:
71
+ price = str(round(price_float / 100) * 100) # En yakın 100'e yuvarla
72
+ # Diğer durumlarda en yakın 10'luk basamağa yuvarla
73
  else:
74
+ price = str(round(price_float / 10) * 10) # En yakın 10'a yuvarla
75
  except (ValueError, TypeError):
76
  price = price_str # Sayıya dönüştürülemezse olduğu gibi bırak
77
 
78
  # Havale indirimli orijinal fiyatı yuvarla (varsa)
79
  if price_eft_str:
80
+ try:
81
+ price_eft_float = float(price_eft_str)
82
+ # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
83
+ if price_eft_float > 200000:
84
+ price_eft = str(round(price_eft_float / 5000) * 5000)
85
+ # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
86
+ elif price_eft_float > 30000:
87
+ price_eft = str(round(price_eft_float / 1000) * 1000)
88
+ # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
89
+ elif price_eft_float > 10000:
90
+ price_eft = str(round(price_eft_float / 100) * 100)
91
+ # Diğer durumlarda en yakın 10'luk basamağa yuvarla
92
+ else:
93
+ price_eft = str(round(price_eft_float / 10) * 10)
94
+ except (ValueError, TypeError):
95
+ price_eft = price_eft_str
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  else:
97
+ # Havale indirimli fiyat verilmemişse, orijinal fiyattan %2.5 indirim hesapla
98
+ try:
99
+ price_eft_float = price_float * 0.975 # %2.5 indirim
100
+ # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
101
+ if price_eft_float > 200000:
102
+ price_eft = str(round(price_eft_float / 5000) * 5000)
103
+ # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
104
+ elif price_eft_float > 30000:
105
+ price_eft = str(round(price_eft_float / 1000) * 1000)
106
+ # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
107
+ elif price_eft_float > 10000:
108
+ price_eft = str(round(price_eft_float / 100) * 100)
109
+ # Diğer durumlarda en yakın 10'luk basamağa yuvarla
110
+ else:
111
+ price_eft = str(round(price_eft_float / 10) * 10)
112
+ except (ValueError, TypeError):
113
+ price_eft = ""
114
+
115
+ # İndirimli fiyatı yuvarla
116
+ try:
117
+ if price_rebate_str:
118
+ price_rebate_float = float(price_rebate_str)
119
+ # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
120
+ if price_rebate_float > 200000:
121
+ price_rebate = str(round(price_rebate_float / 5000) * 5000)
122
+ # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
123
+ elif price_rebate_float > 30000:
124
+ price_rebate = str(round(price_rebate_float / 1000) * 1000)
125
+ # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
126
+ elif price_rebate_float > 10000:
127
+ price_rebate = str(round(price_rebate_float / 100) * 100)
128
+ # Diğer durumlarda en yakın 10'luk basamağa yuvarla
129
+ else:
130
+ price_rebate = str(round(price_rebate_float / 10) * 10)
131
+ else:
132
+ price_rebate = ""
133
+ except (ValueError, TypeError):
134
+ price_rebate = price_rebate_str
135
+
136
+ # Havale indirimi kampanyalı fiyatı yuvarla
137
+ try:
138
+ if price_rebate_money_order_str:
139
+ price_rebate_money_order_float = float(price_rebate_money_order_str)
140
+ # Fiyat 200000 üzerindeyse en yakın 5000'lik basamağa yuvarla
141
+ if price_rebate_money_order_float > 200000:
142
+ price_rebate_money_order = str(round(price_rebate_money_order_float / 5000) * 5000)
143
+ # Fiyat 30000 üzerindeyse en yakın 1000'lik basamağa yuvarla
144
+ elif price_rebate_money_order_float > 30000:
145
+ price_rebate_money_order = str(round(price_rebate_money_order_float / 1000) * 1000)
146
+ # Fiyat 10000 üzerindeyse en yakın 100'lük basamağa yuvarla
147
+ elif price_rebate_money_order_float > 10000:
148
+ price_rebate_money_order = str(round(price_rebate_money_order_float / 100) * 100)
149
+ # Diğer durumlarda en yakın 10'luk basamağa yuvarla
150
+ else:
151
+ price_rebate_money_order = str(round(price_rebate_money_order_float / 10) * 10)
152
+ else:
153
+ price_rebate_money_order = ""
154
+ except (ValueError, TypeError):
155
+ price_rebate_money_order = price_rebate_money_order_str
156
 
157
  # Sadece ürün linkini al, resim linkini alma
158
  product_link = item.find('productLink').text if item.find('productLink') is not None else ""
 
354
  # İndirim miktarı 0'dan büyükse göster
355
  if discount_amount > 0:
356
  # İndirim miktarı için yuvarlama kurallarını uygula
357
+ if discount_amount > 200000:
358
+ discount_amount_rounded = round(discount_amount / 5000) * 5000
359
+ elif discount_amount > 30000:
 
 
360
  discount_amount_rounded = round(discount_amount / 1000) * 1000
361
+ elif discount_amount > 10000:
362
+ discount_amount_rounded = round(discount_amount / 100) * 100
363
  else:
364
+ discount_amount_rounded = round(discount_amount / 10) * 10
365
 
366
  # İndirim bilgisi
367
  discount_info = f"\nYapılan indirim: {discount_amount_rounded:.0f} TL"