| 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"):
|