Subversion Repositories SmartDukaan

Rev

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

Rev 14447 Rev 14458
Line 120... Line 120...
120
        subOrders = []
120
        subOrders = []
121
        productUrl = str(subOrderElement.find("a")['href'])
121
        productUrl = str(subOrderElement.find("a")['href'])
122
        subTable = subOrderElement.find("table", {"class":"lrPad"})
122
        subTable = subOrderElement.find("table", {"class":"lrPad"})
123
        subTrs = subTable.findAll("tr")
123
        subTrs = subTable.findAll("tr")
124
        unitPrice=None
124
        unitPrice=None
125
        offerDiscount = None
125
        offerDiscount = 0
126
        deliveryCharges = None
126
        deliveryCharges = None
127
        amountPaid = None
127
        amountPaid = None
-
 
128
        amount = 0
128
        for subTr in subTrs:
129
        for subTr in subTrs:
129
            subTrString = str(subTr)
130
            subTrString = str(subTr)
130
            if "Unit Price" in subTrString:
131
            if "Unit Price" in subTrString:
131
                unitPrice = re.findall(r'\d+', subTrString)[0]
132
                unitPrice = re.findall(r'\d+', subTrString)[0]
132
            if "Quantity" in subTrString:
133
            if "Quantity" in subTrString:
133
                qty = re.findall(r'\d+', subTrString)[0]
134
                qty = int(re.findall(r'\d+', subTrString)[0])
134
            elif "Offer Discount" in subTrString:
135
            elif "Offer Discount" in subTrString:
135
                offerDiscount =   re.findall(r'\d+', subTrString)[0]
136
                offerDiscount +=   int(re.findall(r'\d+', subTrString)[0])
136
            elif "Delivery Charges" in subTrString:
137
            elif "Delivery Charges" in subTrString:
137
                deliveryCharges =   re.findall(r'\d+', subTrString)[0]
138
                deliveryCharges =   re.findall(r'\d+', subTrString)[0]
138
            elif "Subtotal" in subTrString:
139
            elif "Subtotal" in subTrString:
139
                if int(qty) > 0:
140
                if int(qty) > 0:
140
                    amountPaid =   str(int(re.findall(r'\d+', subTrString)[0])/int(qty))
141
                    amountPaid =   str(int(re.findall(r'\d+', subTrString)[0]))
141
                else:
142
                else:
142
                    amountPaid =   "0"
143
                    amountPaid =   "0"
-
 
144
        if qty>0:
143
        if self.CONF_CB_AMOUNT == MStore.CONF_CB_SELLING_PRICE or offerDiscount is None:
145
            if offerDiscount == 0:
144
            amount = int(unitPrice)
146
                amount = int(unitPrice)*int(qty)
145
        else:
147
            else:
146
            amount = int(unitPrice) - int(offerDiscount)
148
                amount = int(unitPrice)*int(qty) - offerDiscount
147
                
149
                
148
        divs = subOrderElement.findAll("div", {"class": "blk lrPad subordrs"})
150
        divs = subOrderElement.findAll("div", {"class": "blk lrPad subordrs"})
149
        if len(divs)<=0:
151
        if len(divs)<=0:
150
            raise ParseException("subOrder", "Could not Parse suborders for Snapdeal")
152
            raise ParseException("subOrder", "Could not Parse suborders for Snapdeal")
151
        
153
        
Line 158... Line 160...
158
            subOrder.deliveryCharges = deliveryCharges
160
            subOrder.deliveryCharges = deliveryCharges
159
            subOrder.offerDiscount = offerDiscount
161
            subOrder.offerDiscount = offerDiscount
160
            subOrder.unitPrice = int(unitPrice)
162
            subOrder.unitPrice = int(unitPrice)
161
            subOrder.productCode = re.findall(r'\d+$', productUrl)[0]
163
            subOrder.productCode = re.findall(r'\d+$', productUrl)[0]
162
            subOrder.imgUrl = Mongo.getImgSrc(subOrder.productCode, self.store_id).get('thumbnail')
164
            subOrder.imgUrl = Mongo.getImgSrc(subOrder.productCode, self.store_id).get('thumbnail')
163
            (cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amount)
165
            cashbackStatus = Store.CB_NA
-
 
166
            cashbackAmount = 0
-
 
167
            percentage = 0
-
 
168
            if amount > 0:
164
            cashbackStatus = Store.CB_PENDING
169
                cashbackStatus = Store.CB_PENDING
-
 
170
                (cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amount)
165
            if cashbackAmount <= 0:
171
                if cashbackAmount <= 0:
166
                cashbackStatus = Store.CB_NA
172
                    cashbackStatus = Store.CB_NA
-
 
173
                    cashbackAmount = 0
167
            subOrder.cashBackStatus = cashbackStatus
174
            subOrder.cashBackStatus = cashbackStatus
168
            subOrder.cashBackAmount = cashbackAmount
175
            subOrder.cashBackAmount = cashbackAmount
169
            if percentage > 0:
-
 
170
                subOrder.cashBackPercentage = percentage
176
            subOrder.cashBackPercentage = percentage
171
            
177
            
172
            
178
            
173
            trackAnchor = div.find("a")   
179
            trackAnchor = div.find("a")   
174
            if trackAnchor is not None:
180
            if trackAnchor is not None:
175
                subOrder.tracingkUrl = str(trackAnchor['href'])
181
                subOrder.tracingkUrl = str(trackAnchor['href'])
Line 394... Line 400...
394
    )
400
    )
395
    #Encode the parameters
401
    #Encode the parameters
396
    return urllib.urlencode(parameters)
402
    return urllib.urlencode(parameters)
397
 
403
 
398
def main():
404
def main():
399
    print todict([1,2,"3"])
405
    #print todict([1,2,"3"])
400
    store = getStore(3)
406
    store = getStore(3)
401
    #store.scrapeStoreOrders()
407
    #store.scrapeStoreOrders()
402
    #store._isSubOrderActive(8, "5970688907")
408
    #store._isSubOrderActive(8, "5970688907")
403
    store.scrapeAffiliate()
409
    #store.scrapeAffiliate()
404
    #store.parseOrderRawHtml(12345, "subtagId", 122323,  "html", 'https://m.snapdeal.com/purchaseMobileComplete?code=1f4166d13ea799b65aa9dea68b3e9e70&order=4509499363')
410
    store.parseOrderRawHtml(123456, "subtagId111", 1223231,  "html", 'https://m.snapdeal.com/purchaseMobileComplete?code=0b7af8c6fd24bab5f8e76fe31e1d8953&order=5249356810')
405
 
411
 
406
 
412
 
407
 
413
 
408
def todict(obj, classkey=None):
414
def todict(obj, classkey=None):
409
    if isinstance(obj, dict):
415
    if isinstance(obj, dict):