Subversion Repositories SmartDukaan

Rev

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

#!/usr/bin/python
'''
It is used to process transactions for which the payment 
was received but the order was not processed.

@author: Rajveer
'''
import optparse
import sys
import datetime




if __name__ == '__main__' and __package__ is None:
    import os
    sys.path.insert(0, os.getcwd())

from shop2020.thriftpy.model.v1.order.ttypes import RechargeOrderStatus
from shop2020.model.v1.order.impl import DataAccessors, DataService
from shop2020.model.v1.order.impl.RechargeService import checkTransactionStatus


def main():
    parser = optparse.OptionParser()
    parser.add_option("-H", "--host", dest="hostname",
                      default="localhost",
                      type="string", help="The HOST where the DB server is running",
                      metavar="HOST")
    (options, args) = parser.parse_args()
    if len(args) != 0:
        parser.error("You've supplied extra arguments. Are you sure you want to run this program?")
        
    DataService.initialize(db_hostname=options.hostname, echoOn=True)
    orders = DataAccessors.get_recharge_orders_for_status(RechargeOrderStatus.PAYMENT_SUCCESSFUL)
    for order in orders:
        if order.creationTimestamp + datetime.timedelta(minutes=10) < datetime.datetime.now():
            status, description = checkTransactionStatus('', str(order.id))
            print status, description
            if status:
                DataAccessors.update_recharge_order_status(order.id, RechargeOrderStatus.RECHARGE_SUCCESSFUL)
            else:
                DataAccessors.update_recharge_order_status(order.id, RechargeOrderStatus.RECHARGE_FAILED)
if __name__ == '__main__':
    main()