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 outof Awb Numbers.@author : Chandranshu'''import optparseimport sysif __name__ == '__main__' and __package__ is None:import ossys.path.insert(0, os.getcwd())from shop2020.clients.LogisticsClient import LogisticsClientfrom shop2020.utils.EmailAttachmentSender import mailto_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 countif count <= threshold:text = "Only %d AWB Numbers left for Bluedart. Kindly get it replineshed." % countmail(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()