Subversion Repositories SmartDukaan

Rev

Rev 16400 | Rev 16419 | Go to most recent revision | 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
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:
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:
27
                    old_coupon=session.query(paytm_coupons).filter_by(coupon=coupon.get("code")).filter(paytm_coupons.valid_upto<datetime.now()).one()
28
                    old_coupon.valid_upto = datetime.now()
29
                    couponsMap[coupon.get("code")] = coupon
30
                    paytm_coupon = paytm_coupons()
31
                    paytm_coupon.coupon = coupon.get("code")
32
                    paytm_coupon.offer_text = coupon.get("offerText") 
16412 amit.gupta 33
                    paytm_coupon.valid_upto = coupon_valid_upto
16396 amit.gupta 34
                    session.commit()
35
            else:
36
                couponsMap[coupon.get("code")] = coupon
37
                paytm_coupon = paytm_coupons()
38
                paytm_coupon.coupon = coupon.get("code")
39
                paytm_coupon.offer_text = coupon.get("offerText") 
40
                paytm_coupon.valid_upto = getISTDate(coupon.get("valid_upto")) 
41
                session.commit()
42
        finally:
43
            session.close()
44
 
45
def getISTDate(tzString):
46
    tzDate = datetime.strptime(tzString, "%Y-%m-%dT%H:%M:%S.%fZ") 
47
    tzDate = tzDate + timedelta(0,19800)
48
    return tzDate
49
 
50
def getTZString(tzDate):
51
    tzDate = tzDate - timedelta(0,19800)
52
    tzString = datetime.strftime(tzDate, "%Y-%m-%dT%H:%M:%S.%fZ") 
53
    return tzString
54
 
55
 
56
 
16412 amit.gupta 57
DataService.initialize()
16396 amit.gupta 58
try:
59
    all_coupons = session.query(paytm_coupons).filter(paytm_coupons.valid_upto>=datetime.now()).all()
60
    for couponma in all_coupons:
61
        coupon = {}
62
        coupon['code']=couponma.coupon
16412 amit.gupta 63
        coupon['valid_upto']=couponma.valid_upto
16396 amit.gupta 64
        coupon['offerText']=couponma.offer_text
65
        couponsMap[couponma.coupon]=coupon
66
finally:
67
    session.close()
68
 
69
 
70
def main():
71
    str = readSSh("/home/amit/offers.json")
72
    coupons = json.loads(str).get("codes")
73
    addToPaytmMaster(coupons)
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