def sendQueryOrderWaitTime(self): """ 排队获取订单等待信息,每隔3秒请求一次,最高请求次数为20次! :return: """ num = 1 while True: num += 1 if num > ticket.OUT_NUM: print(ticket.WAIT_OUT_NUM) order_id = self.queryMyOrderNoComplete() # 排队失败,自动取消排队订单 if order_id: self.cancelNoCompleteMyOrder(order_id) break try: queryOrderWaitTimeUrl = copy.deepcopy( self.session.urls["queryOrderWaitTimeUrl"]) queryOrderWaitTimeUrl["req_url"] = queryOrderWaitTimeUrl[ "req_url"].format(int(round(time.time() * 1000))) queryOrderWaitTimeResult = self.session.httpClint.send( queryOrderWaitTimeUrl) except ValueError: queryOrderWaitTimeResult = {} if queryOrderWaitTimeResult: if queryOrderWaitTimeResult.get("status", False): data = queryOrderWaitTimeResult.get("data", False) if data and data.get("orderId", ""): sendEmail( ticket.WAIT_ORDER_SUCCESS.format( data.get("orderId", ""))) sendPushBear( ticket.WAIT_ORDER_SUCCESS.format( data.get("orderId", ""))) sendServerChan( ticket.WAIT_ORDER_SUCCESS.format( data.get("orderId", ""))) raise ticketIsExitsException( ticket.WAIT_ORDER_SUCCESS.format( data.get("orderId"))) elif data.get("msg", False): print(data.get("msg", "")) break elif data.get("waitTime", False): print( ticket.WAIT_ORDER_CONTINUE.format( 0 - data.get("waitTime", False))) else: pass elif queryOrderWaitTimeResult.get("messages", False): print( ticket.WAIT_ORDER_FAIL.format( queryOrderWaitTimeResult.get("messages", ""))) else: print(ticket.WAIT_ORDER_NUM.format(num + 1)) else: pass time.sleep(2) else: print(ticketNumOutException(ticket.WAIT_ORDER_SUB_FAIL))
def sendQueryQueueByAfterNate(self): for i in range(10): queryQueueByAfterNateRsp = self.session.httpClint.send(urls.get("queryQueue")) if not queryQueueByAfterNateRsp.get("status"): print("".join(queryQueueByAfterNateRsp.get("messages")) or queryQueueByAfterNateRsp.get("validateMessages")) time.sleep(1) else: sendEmail(ticket.WAIT_ORDER_SUCCESS) sendPushBear(ticket.WAIT_ORDER_SUCCESS) sendServerChan(ticket.WAIT_ORDER_SUCCESS) raise ticketIsExitsException(ticket.WAIT_AFTER_NATE_SUCCESS)
def testServerChan(self): """ 实测server酱是否可用 :return: """ sendServerChan(u"server酱 微信通知测试一下")
def PushServerChan(): sendServerChan("订票小助手测试一下")
import argparse import sys def parser_arguments(argv): """ 不应该在这里定义,先放在这里 :param argv: :return: """ parser = argparse.ArgumentParser() parser.add_argument("operate", type=str, help="r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱需要打开开关") return parser.parse_args(argv) if __name__ == '__main__': args = parser_arguments(sys.argv[1:]) if args.operate == "r": from init import select_ticket_info select_ticket_info.select().main() elif args.operate == "t": from config.emailConf import sendEmail from config.serverchanConf import sendServerChan sendEmail(u"订票小助手测试一下") sendServerChan("订票小助手测试一下") elif args.operate == "c": from agency.cdn_utils import filterCdn filterCdn()
def PushbearConf(): sendServerChan("订票小助手测试一下")