Subversion Repositories SmartDukaan

Rev

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

Rev 14328 Rev 14705
Line 4... Line 4...
4
from dtr.utils import AmazonPriceOnlyScraper, AmazonDealScraper
4
from dtr.utils import AmazonPriceOnlyScraper, AmazonDealScraper
5
from multiprocessing import Pool as ThreadPool
5
from multiprocessing import Pool as ThreadPool
6
from multiprocessing import cpu_count
6
from multiprocessing import cpu_count
7
import optparse
7
import optparse
8
from dtr.storage.MemCache import MemCache
8
from dtr.storage.MemCache import MemCache
-
 
9
from dtr.utils.utils import getCashBack
9
 
10
 
10
con = None
11
con = None
11
 
12
 
12
parser = optparse.OptionParser()
13
parser = optparse.OptionParser()
13
parser.add_option("-m", "--m", dest="mongoHost",
14
parser.add_option("-m", "--m", dest="mongoHost",
Line 131... Line 132...
131
    bestSellerPoints = 0
132
    bestSellerPoints = 0
132
    toUpdate = []
133
    toUpdate = []
133
    for similarItem in similarItems:
134
    for similarItem in similarItems:
134
        if mc.get("negative_deals") is None:
135
        if mc.get("negative_deals") is None:
135
            populateNegativeDeals()
136
            populateNegativeDeals()
-
 
137
        try:
-
 
138
            cashBack = getCashBack(similarItem['_id'], similarItem['source_id'], similarItem['category_id'], mc, options.mongoHost)
-
 
139
            if not cashBack or cashBack.get('cash_back_status')!=1:
-
 
140
                pass
-
 
141
            else:
-
 
142
                if cashBack['cash_back_type'] ==1:
-
 
143
                    similarItem['available_price'] = similarItem['available_price'] - similarItem['available_price'] * float(cashBack['cash_back'])/100
-
 
144
                elif cashBack['cash_back_type'] ==2:
-
 
145
                    similarItem['available_price'] = similarItem['available_price'] - float(cashBack['cash_back'])
-
 
146
                else:
-
 
147
                    pass
-
 
148
        except Exception as cashBackEx:
-
 
149
            print cashBackEx
-
 
150
            print "Error calculating cashback."
136
        if similarItem['in_stock'] == 0 or similarItem['maxprice'] is None or similarItem['maxprice'] < similarItem['available_price'] or similarItem['_id'] in mc.get("negative_deals"):
151
        if similarItem['in_stock'] == 0 or similarItem['maxprice'] is None or similarItem['maxprice'] < similarItem['available_price'] or similarItem['_id'] in mc.get("negative_deals"):
137
            get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0 }})
152
            get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDeal':0 }})
138
            continue
153
            continue
139
        if similarItem['available_price'] < bestPrice:
154
        if similarItem['available_price'] < bestPrice:
140
            bestOne = similarItem
155
            bestOne = similarItem
Line 152... Line 167...
152
        toUpdate.remove(bestOne['_id'])
167
        toUpdate.remove(bestOne['_id'])
153
        get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1 }})
168
        get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1 }})
154
    if len(toUpdate) > 0:
169
    if len(toUpdate) > 0:
155
        get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0 }},upsert=False, multi=True)
170
        get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0 }},upsert=False, multi=True)
156
 
171
 
-
 
172
 
-
 
173
 
157
def main():
174
def main():
158
    populate()
175
    populate()
159
            
176
            
160
if __name__=='__main__':
177
if __name__=='__main__':
161
    main()
178
    main()