提交 aa546ac6 编写于 作者: W wenxianping

修改时间兼容性

上级 35ec27b7
......@@ -5,13 +5,17 @@ import random
import sys
import time
saleMinDelayDay = 0
saleMaxDelayDay = 59
saleStartTime = "06:00:00"
saleStopTime = "23:00:00"
from myException.ticketConfigException import ticketConfigException
rushRefreshMinTimeIntval = 2000
rushRefreshMaxTimeIntval = 3600000
rushRefreshTimeIntval = 100
# 最早运行时间
maxRunTime = 7
# 程序停止时间
maxRunStopTime = 23
# 可售天数
maxDate = 29
RS_SUC = 0
RS_TIMEOUT = 1
......@@ -39,22 +43,6 @@ def getNowTimestamp():
return time.time()
def getMinimumDate():
return time.localtime(getNowTimestamp() + saleMinDelayDay * 24 * 3600)[:3]
def getMaximumDate():
return time.localtime(getNowTimestamp() + saleMaxDelayDay * 24 * 3600)[:3]
def getMinimumTime():
return [int(x) for x in saleStartTime.split(":")]
def getMaximumTime():
return [int(x) for x in saleStopTime.split(":")]
def decMakeDir(func):
def handleFunc(*args, **kwargs):
dirname = func(*args, **kwargs)
......@@ -117,10 +105,31 @@ def getCacheFile(cacheType):
def checkSleepTime(session):
now = datetime.datetime.now()
if now.hour >= 23 or now.hour < 7:
if now.hour >= maxRunStopTime or now.hour < maxRunTime:
print(u"12306休息时间,本程序自动停止,明天早上六点将自动运行")
open_time = datetime.datetime(now.year, now.month, now.day, 7)
if open_time < now:
open_time += datetime.timedelta(1)
time.sleep((open_time - now).seconds + round(random.uniform(1, 10)))
session.call_login()
def checkDate(station_dates):
"""
检查日期是否合法
:param station_dates:
:return:
"""
today = datetime.datetime.now()
maxDay = (today + datetime.timedelta(maxDate)).strftime("%Y-%m-%d")
for station_date in station_dates[::-1]:
date = datetime.datetime.strftime(datetime.datetime.strptime(station_date, "%Y-%m-%d"), "%Y-%m-%d")
if date < today.strftime("%Y-%m-%d") or date > maxDay:
print(u"警告:当前时间配置有小于当前时间或者大于最大时间: {}, 已自动忽略".format(station_date))
station_dates.remove(station_date)
if not station_dates:
print(u"当前日期设置无符合查询条件的,已被全部删除,请查证后添加!!!")
raise ticketConfigException(u"当前日期设置无符合查询条件的,已被全部删除,请查证后添加!!!")
else:
station_dates[station_dates.index(station_date)] = date
return station_dates
......@@ -12,8 +12,7 @@ import wrapcache
from agency.cdn_utils import CDNProxy
from config import urlConf, configCommon
from config.TicketEnmu import ticket
from config.configCommon import seat_conf
from config.configCommon import seat_conf_2
from config.configCommon import seat_conf, checkDate, seat_conf_2
from config.ticketConf import _get_yaml
from init.login import GoLogin
from inter.AutoSubmitOrderRequest import autoSubmitOrderRequest
......@@ -67,7 +66,8 @@ class select:
ticket_info_config = _get_yaml()
from_station = ticket_info_config["set"]["from_station"]
to_station = ticket_info_config["set"]["to_station"]
station_dates = ticket_info_config["set"]["station_dates"]
station_dates = checkDate(ticket_info_config["set"]["station_dates"])
set_names = ticket_info_config["set"]["set_type"]
try:
set_type = [seat_conf[x.encode("utf-8")] for x in ticket_info_config["set"]["set_type"]]
......
......@@ -144,7 +144,7 @@ class query:
else:
print(u"设置乘车人数为: {}".format(self.ticke_peoples_num))
is_more_ticket_num = self.ticke_peoples_num
print (ticket.QUERY_C)
print(ticket.QUERY_C)
return {
"secretStr": secretStr,
"train_no": train_no,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册