Subversion Repositories SmartDukaan

Rev

Rev 16400 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
16396 amit.gupta 1
'''
2
Created on Aug 14, 2015
3
 
4
@author: amit
5
'''
6
 
7
from datetime import datetime, timedelta
8
from dtr.sources.amazon import readSSh
9
from dtr.storage import DataService
10
from dtr.storage.DataService import paytm_coupons
11
from elixir import *
12
import json
13
 
14
couponsMap = {}
15
 
16
#Read from table once
17
 
18
def addToPaytmMaster(coupons):
19
    for coupon in coupons:
20
        couponMap = couponsMap.get(coupon.get("code"))
21
        try:
22
            if couponMap:
23
                unmatched = couponMap.get("offerText")!=coupon.get("offerText") or couponMap.get("offerText") != coupon.get("offerText") 
24
                #Coupon is changed now. Update accordingly
25
                if unmatched:
26
                    old_coupon=session.query(paytm_coupons).filter_by(coupon=coupon.get("code")).filter(paytm_coupons.valid_upto<datetime.now()).one()
27
                    old_coupon.valid_upto = datetime.now()
28
                    couponsMap[coupon.get("code")] = coupon
29
                    paytm_coupon = paytm_coupons()
30
                    paytm_coupon.coupon = coupon.get("code")
31
                    paytm_coupon.offer_text = coupon.get("offerText") 
32
                    paytm_coupon.valid_upto = getISTDate(coupon.get("valid_upto"))
33
                    session.commit()
34
            else:
35
                couponsMap[coupon.get("code")] = coupon
36
                paytm_coupon = paytm_coupons()
37
                paytm_coupon.coupon = coupon.get("code")
38
                paytm_coupon.offer_text = coupon.get("offerText") 
39
                paytm_coupon.valid_upto = getISTDate(coupon.get("valid_upto")) 
40
                session.commit()
41
        finally:
42
            session.close()
43
 
44
def getISTDate(tzString):
45
    tzDate = datetime.strptime(tzString, "%Y-%m-%dT%H:%M:%S.%fZ") 
46
    tzDate = tzDate + timedelta(0,19800)
47
    return tzDate
48
 
49
def getTZString(tzDate):
50
    tzDate = tzDate - timedelta(0,19800)
51
    tzString = datetime.strftime(tzDate, "%Y-%m-%dT%H:%M:%S.%fZ") 
52
    return tzString
53
 
54
 
55
 
56
DataService.initialize()
57
try:
58
    all_coupons = session.query(paytm_coupons).filter(paytm_coupons.valid_upto>=datetime.now()).all()
59
    for couponma in all_coupons:
60
        coupon = {}
61
        coupon['code']=couponma.coupon
62
        coupon['valid_upto']=getTZString(couponma.valid_upto)
63
        coupon['offerText']=couponma.offer_text
64
        couponsMap[couponma.coupon]=coupon
65
finally:
66
    session.close()
67
 
68
 
69
def main():
70
    str = readSSh("/home/amit/offers.json")
71
    coupons = json.loads(str).get("codes")
72
    addToPaytmMaster(coupons)
73
    #DataService.initialize()
74
    date1 = datetime.now()
75
    print `date1`
76
    st =  getTZString(date1)
77
    print st
78
    st2 = getISTDate(st)
79
    print `st2`
80
 
81
 
82
 
83
if __name__ == '__main__':
84
    main()
85
 
86