Subversion Repositories SmartDukaan

Rev

Rev 16412 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on Aug 14, 2015

@author: amit
'''

from datetime import datetime, timedelta
from dtr.sources.amazon import readSSh
from dtr.storage import DataService
from dtr.storage.DataService import paytm_coupons
from elixir import *
import json

couponsMap = {}

#Read from table once

def addToPaytmMaster(coupons):
    for coupon in coupons:
        couponMap = couponsMap.get(coupon.get("code"))
        try:
            if couponMap:
                coupon_valid_upto = getISTDate(coupon.get("valid_upto"))
                unmatched = couponMap.get("valid_upto")!=coupon_valid_upto or couponMap.get("offerText") != coupon.get("offerText") 
                #Coupon is changed now. Update accordingly
                if unmatched:
                    print couponMap.get("valid_upto")
                    print coupon_valid_upto
                    print couponMap.get("offerText")
                    print coupon.get("offerText") 
                    old_coupon=session.query(paytm_coupons).filter_by(coupon=coupon.get("code")).filter(paytm_coupons.valid_upto>datetime.now()).one()
                    old_coupon.valid_upto = datetime.now()
                    couponsMap[coupon.get("code")] = coupon
                    paytm_coupon = paytm_coupons()
                    paytm_coupon.coupon = coupon.get("code")
                    paytm_coupon.offer_text = coupon.get("offerText") 
                    paytm_coupon.valid_upto = coupon_valid_upto
                    session.commit()
            else:
                couponsMap[coupon.get("code")] = coupon
                paytm_coupon = paytm_coupons()
                paytm_coupon.coupon = coupon.get("code")
                paytm_coupon.offer_text = coupon.get("offerText") 
                paytm_coupon.valid_upto = getISTDate(coupon.get("valid_upto")) 
                session.commit()
        finally:
            session.close()
        
def getISTDate(tzString):
    tzDate = datetime.strptime(tzString, "%Y-%m-%dT%H:%M:%S.%fZ") 
    tzDate = tzDate + timedelta(0,19800)
    return tzDate

def getTZString(tzDate):
    tzDate = tzDate - timedelta(0,19800)
    tzString = datetime.strftime(tzDate, "%Y-%m-%dT%H:%M:%S.%fZ") 
    return tzString



DataService.initialize()
try:
    all_coupons = session.query(paytm_coupons).filter(paytm_coupons.valid_upto>=datetime.now()).all()
    for couponma in all_coupons:
        coupon = {}
        coupon['code']=couponma.coupon
        coupon['valid_upto']=couponma.valid_upto
        coupon['offerText']=couponma.offer_text
        couponsMap[couponma.coupon]=coupon
finally:
    session.close()


def main():
    str = readSSh("/home/amit/offers.json")
    coupons = json.loads(str).get("codes")
    addToPaytmMaster(coupons)
    date1 = datetime.now()
    print `date1`
    st =  getTZString(date1)
    print st
    st2 = getISTDate(st)
    print `st2`



if __name__ == '__main__':
    main()