Subversion Repositories SmartDukaan

Rev

Rev 16419 | Details | Compare with Previous | 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
16562 amit.gupta 8
from dtr.utils.utils import readSSh
16396 amit.gupta 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:
16412 amit.gupta 23
                coupon_valid_upto = getISTDate(coupon.get("valid_upto"))
24
                unmatched = couponMap.get("valid_upto")!=coupon_valid_upto or couponMap.get("offerText") != coupon.get("offerText") 
16396 amit.gupta 25
                #Coupon is changed now. Update accordingly
26
                if unmatched:
16419 kshitij.so 27
                    print couponMap.get("valid_upto")
28
                    print coupon_valid_upto
29
                    print couponMap.get("offerText")
30
                    print coupon.get("offerText") 
31
                    old_coupon=session.query(paytm_coupons).filter_by(coupon=coupon.get("code")).filter(paytm_coupons.valid_upto>datetime.now()).one()
16396 amit.gupta 32
                    old_coupon.valid_upto = datetime.now()
33
                    couponsMap[coupon.get("code")] = coupon
34
                    paytm_coupon = paytm_coupons()
35
                    paytm_coupon.coupon = coupon.get("code")
36
                    paytm_coupon.offer_text = coupon.get("offerText") 
16412 amit.gupta 37
                    paytm_coupon.valid_upto = coupon_valid_upto
16396 amit.gupta 38
                    session.commit()
39
            else:
40
                couponsMap[coupon.get("code")] = coupon
41
                paytm_coupon = paytm_coupons()
42
                paytm_coupon.coupon = coupon.get("code")
43
                paytm_coupon.offer_text = coupon.get("offerText") 
44
                paytm_coupon.valid_upto = getISTDate(coupon.get("valid_upto")) 
45
                session.commit()
46
        finally:
47
            session.close()
48
 
49
def getISTDate(tzString):
50
    tzDate = datetime.strptime(tzString, "%Y-%m-%dT%H:%M:%S.%fZ") 
51
    tzDate = tzDate + timedelta(0,19800)
52
    return tzDate
53
 
54
def getTZString(tzDate):
55
    tzDate = tzDate - timedelta(0,19800)
56
    tzString = datetime.strftime(tzDate, "%Y-%m-%dT%H:%M:%S.%fZ") 
57
    return tzString
58
 
59
 
60
 
16412 amit.gupta 61
DataService.initialize()
16396 amit.gupta 62
try:
63
    all_coupons = session.query(paytm_coupons).filter(paytm_coupons.valid_upto>=datetime.now()).all()
64
    for couponma in all_coupons:
65
        coupon = {}
66
        coupon['code']=couponma.coupon
16412 amit.gupta 67
        coupon['valid_upto']=couponma.valid_upto
16396 amit.gupta 68
        coupon['offerText']=couponma.offer_text
69
        couponsMap[couponma.coupon]=coupon
70
finally:
71
    session.close()
72
 
73
 
74
def main():
75
    str = readSSh("/home/amit/offers.json")
76
    coupons = json.loads(str).get("codes")
77
    addToPaytmMaster(coupons)
78
    date1 = datetime.now()
79
    print `date1`
80
    st =  getTZString(date1)
81
    print st
82
    st2 = getISTDate(st)
83
    print `st2`
84
 
85
 
86
 
87
if __name__ == '__main__':
88
    main()
89
 
90