Subversion Repositories SmartDukaan

Rev

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

Rev 16389 Rev 16391
Line 2... Line 2...
2
Created on Apr 12, 2015
2
Created on Apr 12, 2015
3
 
3
 
4
@author: amit
4
@author: amit
5
'''
5
'''
6
from bs4 import BeautifulSoup
6
from bs4 import BeautifulSoup
-
 
7
from datetime import datetime, timedelta
7
from dtr import main
8
from dtr import main
8
from dtr.dao import Order, SubOrder
9
from dtr.dao import Order, SubOrder
9
from dtr.main import getBrowserObject, getStore, ParseException, ungzipResponse, \
10
from dtr.main import getBrowserObject, getStore, ParseException, ungzipResponse, \
10
    Store as MStore, sourceMap, tprint, todict
11
    Store as MStore, sourceMap, tprint, todict
11
from dtr.sources.amazon import readSSh
12
from dtr.sources.amazon import readSSh
-
 
13
from dtr.storage.DataService import paytm_coupon_usages
12
from dtr.utils.utils import fetchResponseUsingProxy
14
from dtr.utils.utils import fetchResponseUsingProxy
-
 
15
from elixir import *
13
from pymongo.mongo_client import MongoClient
16
from pymongo.mongo_client import MongoClient
14
from datetime import datetime, timedelta
-
 
15
import json
17
import json
-
 
18
import os
16
import traceback
19
import traceback
17
from elixir import *
-
 
18
 
20
 
19
from dtr.storage.DataService import paytm_coupon_usages
-
 
20
 
21
 
21
class Store(MStore):
22
class Store(MStore):
22
    OrderStatusMap = {
23
    OrderStatusMap = {
23
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received', 'pending confirmation', 'waiting for courier pickup'],
24
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received', 'pending confirmation', 'waiting for courier pickup'],
24
                      main.Store.ORDER_DELIVERED : ['delivered'],
25
                      main.Store.ORDER_DELIVERED : ['delivered'],
Line 84... Line 85...
84
            print order
85
            print order
85
            missingOrderUrls.append("https://paytm.com/shop/orderdetail/%s?actions=1&channel=web&version=2"%(order.get("merchantOrderId")))
86
            missingOrderUrls.append("https://paytm.com/shop/orderdetail/%s?actions=1&channel=web&version=2"%(order.get("merchantOrderId")))
86
        return missingOrderUrls
87
        return missingOrderUrls
87
 
88
 
88
    def trackOrdersForUser(self, userId, url, rawHtml):
89
    def trackOrdersForUser(self, userId, url, rawHtml):
-
 
90
        directory = "/PaytmTrack/User" + str(userId)
-
 
91
        if not os.path.exists(directory):
-
 
92
            os.makedirs(directory)
-
 
93
            
89
        executeBulk = False
94
        executeBulk = False
90
        ordermap = json.loads(rawHtml).get("order")
95
        ordermap = json.loads(rawHtml).get("order")
91
        merchantOrderId = str(ordermap.get("id"))
96
        merchantOrderId = str(ordermap.get("id"))
-
 
97
        filename = directory + "/" + merchantOrderId + "-" +  datetime.strftime(datetime.now(), '%d-%m:%H:%M:%S')   
-
 
98
        f = open(filename,'w')
-
 
99
        f.write(rawHtml) # python will convert \n to os.linesep
-
 
100
        f.close() # you can omit in most cases as the destructor will call if    
92
        merchantOrder = self.db.merchantOrder.findOne({"merchantOrderId":merchantOrderId})
101
        merchantOrder = self.db.merchantOrder.findOne({"merchantOrderId":merchantOrderId})
93
        try:
102
        try:
94
            bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
103
            bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
95
            closed=True
104
            closed=True
96
            for item in ordermap.get("items"):
105
            for item in ordermap.get("items"):