Subversion Repositories SmartDukaan

Rev

Rev 20347 | Rev 21135 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 20347 Rev 20364
Line 1... Line 1...
1
import urllib2
1
import urllib2
2
from BeautifulSoup import BeautifulSoup
2
from BeautifulSoup import BeautifulSoup
3
import pymongo
3
import pymongo
4
import re
4
import re
5
from dtr.utils.utils import to_java_date, getNlcPoints, DEAL_PRIORITY
5
from dtr.utils.utils import to_java_date, getNlcPoints, DEAL_PRIORITY, getCashBack
6
import optparse
6
import optparse
7
from datetime import datetime
7
from datetime import datetime
8
import time
8
import time
9
import smtplib
9
import smtplib
10
from email.mime.text import MIMEText
10
from email.mime.text import MIMEText
Line 234... Line 234...
234
    skuBundleId = item['skuBundleId']
234
    skuBundleId = item['skuBundleId']
235
    
235
    
236
    similarItems = list(get_mongo_connection().Catalog.Deals.find({'skuBundleId':skuBundleId}).sort([('netPriceAfterCashBack',pymongo.ASCENDING)]))
236
    similarItems = list(get_mongo_connection().Catalog.Deals.find({'skuBundleId':skuBundleId}).sort([('netPriceAfterCashBack',pymongo.ASCENDING)]))
237
    bestPrice = float("inf")
237
    bestPrice = float("inf")
238
    bestOne = None
238
    bestOne = None
239
    bestSellerPoints = 0
-
 
240
    toUpdate = []
239
    toUpdate = []
241
    prepaidBestPrice = float("inf")
240
    prepaidBestPrice = float("inf")
242
    prepaidBestOne = None
241
    prepaidBestOne = None
243
    prepaidBestSellerPoints = 0
-
 
244
    for similarItem in similarItems:
242
    for similarItem in similarItems:
245
        if similarItem['codAvailable'] ==1:
243
        if similarItem['codAvailable'] ==1:
246
            if mc.get("negative_deals") is None:
244
            if mc.get("negative_deals") is None:
247
                populateNegativeDeals()
245
                populateNegativeDeals()
248
            if similarItem['in_stock'] == 0  or similarItem['_id'] in mc.get("negative_deals"):
246
            if similarItem['in_stock'] == 0  or similarItem['_id'] in mc.get("negative_deals"):
Line 252... Line 250...
252
                get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':0 }})
250
                get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':0 }})
253
                continue
251
                continue
254
            if similarItem.get('netPriceAfterCashBack') < bestPrice:
252
            if similarItem.get('netPriceAfterCashBack') < bestPrice:
255
                bestOne = similarItem
253
                bestOne = similarItem
256
                bestPrice = similarItem.get('netPriceAfterCashBack')
254
                bestPrice = similarItem.get('netPriceAfterCashBack')
257
                bestSellerPoints = similarItem['bestSellerPoints']
-
 
258
            elif similarItem.get('netPriceAfterCashBack') == bestPrice:
255
            elif similarItem.get('netPriceAfterCashBack') == bestPrice:
259
                
256
                
260
                try:
257
                try:
261
                    if (DEAL_PRIORITY.index(int(similarItem['source_id'])) > DEAL_PRIORITY.index(int(bestOne['source_id']))):
258
                    if (DEAL_PRIORITY.index(int(similarItem['source_id'])) > DEAL_PRIORITY.index(int(bestOne['source_id']))):
262
                        continue
259
                        continue
263
                except:
260
                except:
264
                    traceback.print_exc()
261
                    traceback.print_exc()
265
                
262
                
266
                bestOne = similarItem
263
                bestOne = similarItem
267
                bestPrice = similarItem.get('netPriceAfterCashBack')
264
                bestPrice = similarItem.get('netPriceAfterCashBack')
268
                bestSellerPoints = similarItem['bestSellerPoints']
-
 
269
            else:
265
            else:
270
                pass
266
                pass
271
        else:
267
        else:
272
            if mc.get("negative_deals") is None:
268
            if mc.get("negative_deals") is None:
273
                populateNegativeDeals()
269
                populateNegativeDeals()
Line 278... Line 274...
278
                get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':0 }})
274
                get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0,'prepaidDeal':0 }})
279
                continue
275
                continue
280
            if similarItem.get('netPriceAfterCashBack') < prepaidBestPrice:
276
            if similarItem.get('netPriceAfterCashBack') < prepaidBestPrice:
281
                prepaidBestOne = similarItem
277
                prepaidBestOne = similarItem
282
                prepaidBestPrice = similarItem.get('netPriceAfterCashBack')
278
                prepaidBestPrice = similarItem.get('netPriceAfterCashBack')
283
                prepaidBestSellerPoints = similarItem['bestSellerPoints']
-
 
284
            elif similarItem.get('netPriceAfterCashBack') == prepaidBestPrice:
279
            elif similarItem.get('netPriceAfterCashBack') == prepaidBestPrice:
285
                
280
                
286
                try:
281
                try:
287
                    if (DEAL_PRIORITY.index(int(similarItem['source_id'])) > DEAL_PRIORITY.index(int(bestOne['source_id']))):
282
                    if (DEAL_PRIORITY.index(int(similarItem['source_id'])) > DEAL_PRIORITY.index(int(prepaidBestOne['source_id']))):
288
                        continue
283
                        continue
289
                except:
284
                except:
290
                    traceback.print_exc()
285
                    traceback.print_exc()
291
                
286
                
292
                prepaidBestOne = similarItem
287
                prepaidBestOne = similarItem
293
                prepaidBestPrice = similarItem.get('netPriceAfterCashBack')
288
                prepaidBestPrice = similarItem.get('netPriceAfterCashBack')
294
                prepaidBestSellerPoints = similarItem['bestSellerPoints']
-
 
295
            else:
289
            else:
296
                pass
290
                pass
297
    if bestOne is not None or prepaidBestOne is not None:
291
    if bestOne is not None or prepaidBestOne is not None:
298
        for similarItem in similarItems:
292
        for similarItem in similarItems:
299
            toUpdate.append(similarItem['_id'])
293
            toUpdate.append(similarItem['_id'])