Subversion Repositories SmartDukaan

Rev

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

Rev 13108 Rev 13109
Line 1... Line 1...
1
import pymongo
1
import pymongo
2
from datetime import datetime, timedelta, time, date
2
from datetime import datetime, timedelta, time, date
3
from shop2020.thriftpy.model.v1.order.ttypes import AmazonFCWarehouseLocation
3
from shop2020.thriftpy.model.v1.order.ttypes import AmazonFCWarehouseLocation
4
from shop2020.utils.Utils import to_java_date, to_py_date
4
from shop2020.utils.Utils import to_java_date, to_py_date
5
from shop2020.thriftpy.model.v1.order.ttypes import AmazonFbaSalesSnapshot
5
from shop2020.thriftpy.model.v1.order.ttypes import AmazonFbaSalesSnapshot, AmazonHourlySaleSnapshot
6
 
6
 
7
con = None
7
con = None
8
 
8
 
9
def get_mongo_connection(host='localhost', port=27017):
9
def get_mongo_connection(host='localhost', port=27017):
10
    global con
10
    global con
Line 22... Line 22...
22
    if saleSnapshot is None:
22
    if saleSnapshot is None:
23
        return amazonFbaSaleSnapshot
23
        return amazonFbaSaleSnapshot
24
    amazonFbaSaleSnapshot.__dict__.update(saleSnapshot)
24
    amazonFbaSaleSnapshot.__dict__.update(saleSnapshot)
25
    return amazonFbaSaleSnapshot
25
    return amazonFbaSaleSnapshot
26
 
26
 
-
 
27
def to_amazonFbaHourlySnapshot(saleSnapshot):
-
 
28
    amazonHourlySaleSnapshot = AmazonHourlySaleSnapshot(snapshotTime=0, item_id=0, totalOrderCount=0, amazonFbaInventory=0, isOutOfStock=False,  totalSale=0, promotionSale=0, promotionOrderCount=0,  fcLocation=None)
-
 
29
    if saleSnapshot is None:
-
 
30
        return amazonHourlySaleSnapshot
-
 
31
    amazonHourlySaleSnapshot.__dict__.update(saleSnapshot)
-
 
32
    return amazonHourlySaleSnapshot
-
 
33
 
27
def getAmazonFbaSalesLatestSnapshotForItemLocationWise(item_id,fcLocation):
34
def getAmazonFbaSalesLatestSnapshotForItemLocationWise(item_id,fcLocation):
28
    collection = get_mongo_connection().AmazonSaleSnapshot.AmazonDailySaleSnapshot
35
    collection = get_mongo_connection().AmazonSaleSnapshot.AmazonDailySaleSnapshot
29
    list = []
36
    list = []
30
    list.append({"dateOfSale": to_java_date(datetime.combine((datetime.now()-timedelta(days=1)).date(), time(00,00,00)))})
37
    list.append({"dateOfSale": to_java_date(datetime.combine((datetime.now()-timedelta(days=1)).date(), time(00,00,00)))})
31
    list.append({"item_id":item_id})
38
    list.append({"item_id":item_id})
Line 85... Line 92...
85
        lastOutOfStock = to_amazonFbaSaleSnapshot(None)
92
        lastOutOfStock = to_amazonFbaSaleSnapshot(None)
86
    if lastOutOfStock.dateOfSale == 0:
93
    if lastOutOfStock.dateOfSale == 0:
87
        return lastOutOfStock, 0, 0
94
        return lastOutOfStock, 0, 0
88
    else:
95
    else:
89
        return lastOutOfStock, getInStockAmazonFbaSalesLatestSnapshotForItemLocationWise(item_id,fcLocation,lastOutOfStock.dateOfSale)
96
        return lastOutOfStock, getInStockAmazonFbaSalesLatestSnapshotForItemLocationWise(item_id,fcLocation,lastOutOfStock.dateOfSale)
-
 
97
    
-
 
98
def getLatestHourlySnapshot():
-
 
99
    fbaHourlySnapshot = []
-
 
100
    collection = get_mongo_connection().AmazonSaleSnapshot.AmazonHourlySaleSnapshot
-
 
101
    r = collection.find().sort([('snapshotTime',pymongo.DESCENDING)]).limit(1)
-
 
102
    lastestSnapshotTime = r.next().get('snapshotTime')
-
 
103
    cursor = collection.find({"snapshotTime":{"$in":[lastestSnapshotTime]}})
-
 
104
    for sale in cursor:
-
 
105
        fbaHourlySnapshot.append(to_amazonFbaHourlySnapshot(sale))
-
 
106
    return fbaHourlySnapshot
90
        
107
        
91
 
108
 
92
def main():
109
def main():
93
    print getLastOutOfStock(174,2)
110
    print getLatestHourlySnapshot()
94
 
111
 
95
if __name__ == "__main__":
112
if __name__ == "__main__":
96
    main()
113
    main()
97
114