Subversion Repositories SmartDukaan

Rev

Rev 6643 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/usr/bin/python

'''
This script alerts the Operations team if we are running out
of Awb Numbers.

@author : Chandranshu
'''
import optparse
import sys

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

from shop2020.clients.LogisticsClient import LogisticsClient
from shop2020.utils.EmailAttachmentSender import mail

to_addresses = ["cnc.center@shop2020.in", "chaitnaya.vats@saholic.com", "sunil.kumar@shop2020.in"]
from_user = "cnc.center@shop2020.in"
from_pwd = "5h0p2o2o"

def alert(provider_id, type, threshold):
    logistics_client = LogisticsClient().get_client()
    provider = logistics_client.getProvider(provider_id)
    count = logistics_client.getFreeAwbCount(provider_id, type)
    print count
    if count <= threshold:
        text = "Only %d AWB Numbers left for Bluedart. Kindly get it replineshed." % count 
        mail(from_user, from_pwd, to_addresses, "AWB alert for " + provider.name + " for " +  type, text)

def main():
    parser = optparse.OptionParser()
    parser.add_option("-p", "--provider", dest="provider",
                   default="1", type="int",
                   help="The PROVIDER this alert is for",
                   metavar="PROVIDER")
    parser.add_option("-t", "--type", dest="type",
                   default="Prepaid", type="string",
                   help="TYPE of AWB nos. to track",
                   metavar="TYPE")
    parser.add_option("-T", "--threshold", dest="threshold",
                   default="200", type="int",
                   help="The THRESHOLD below which the alert should be raised",
                   metavar="THRESHOLD")
    (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?")
    alert(options.provider, options.type, options.threshold)

if __name__ == '__main__':
    main()