From f49b081bc5dbdfd7affff9eacc514744c3d683fa Mon Sep 17 00:00:00 2001 From: Jalin Date: Tue, 14 May 2019 13:21:25 +0800 Subject: [PATCH] rename old --- .gitignore | 5 +- .gitpod.yml | 6 - py12306/__init__.py => config.toml | 0 docker-compose.yml.example | 2 +- env.docker.py.example | 179 ------------------ env.slave.py.example | 12 -- main.py | 61 +----- {py12306/cluster => old_py12306}/__init__.py | 0 {py12306 => old_py12306}/app.py | 0 .../cluster}/__init__.py | 0 {py12306 => old_py12306}/cluster/cluster.py | 0 {py12306 => old_py12306}/cluster/redis.py | 0 {py12306 => old_py12306}/config.py | 0 .../exceptions}/__init__.py | 0 {py12306 => old_py12306}/helpers/OCR.py | 0 .../log => old_py12306/helpers}/__init__.py | 0 {py12306 => old_py12306}/helpers/api.py | 0 {py12306 => old_py12306}/helpers/auth_code.py | 0 {py12306 => old_py12306}/helpers/cdn.py | 0 {py12306 => old_py12306}/helpers/event.py | 0 {py12306 => old_py12306}/helpers/func.py | 0 .../helpers/notification.py | 0 {py12306 => old_py12306}/helpers/request.py | 0 {py12306 => old_py12306}/helpers/station.py | 0 {py12306 => old_py12306}/helpers/type.py | 0 .../query => old_py12306/log}/__init__.py | 0 {py12306 => old_py12306}/log/base.py | 0 {py12306 => old_py12306}/log/cluster_log.py | 0 {py12306 => old_py12306}/log/common_log.py | 0 {py12306 => old_py12306}/log/order_log.py | 0 {py12306 => old_py12306}/log/query_log.py | 0 {py12306 => old_py12306}/log/redis_log.py | 0 {py12306 => old_py12306}/log/user_log.py | 0 {py12306 => old_py12306}/order/order.py | 0 .../user => old_py12306/query}/__init__.py | 0 {py12306 => old_py12306}/query/job.py | 0 {py12306 => old_py12306}/query/query.py | 0 {py12306/web => old_py12306/user}/__init__.py | 0 {py12306 => old_py12306}/user/job.py | 0 {py12306 => old_py12306}/user/user.py | 0 .../vender/ruokuai/main.py | 0 .../handler => old_py12306/web}/__init__.py | 0 old_py12306/web/handler/__init__.py | 0 {py12306 => old_py12306}/web/handler/app.py | 0 {py12306 => old_py12306}/web/handler/log.py | 0 {py12306 => old_py12306}/web/handler/query.py | 0 {py12306 => old_py12306}/web/handler/stat.py | 0 {py12306 => old_py12306}/web/handler/user.py | 0 .../app.35e2fbd94557d71d1e2bfa0d4bb44d13.css | 0 .../app.7dba7f569524413218fde54c298188f4.css | 0 .../app.dfb5ffed622907edd7c5f81709f2b782.css | 0 .../static/fonts/element-icons.6f0a763.ttf | Bin .../static/fonts/fa-brands-400.292a564.woff | Bin .../static/fonts/fa-brands-400.87b76b9.woff2 | Bin .../static/fonts/fa-brands-400.f83bc05.ttf | Bin .../static/fonts/fa-brands-400.f902692.eot | Bin .../static/fonts/fa-regular-400.732726c.woff2 | Bin .../static/fonts/fa-regular-400.abde9e5.ttf | Bin .../static/fonts/fa-regular-400.b4cfd51.woff | Bin .../static/fonts/fa-regular-400.d1ce381.eot | Bin .../web/static/fonts/fa-solid-900.3b921c2.eot | Bin .../static/fonts/fa-solid-900.bed3b0a.woff2 | Bin .../web/static/fonts/fa-solid-900.d751e66.ttf | Bin .../static/fonts/fa-solid-900.e0c419c.woff | Bin .../web/static/img/avatar_default.svg | 0 .../web/static/img/fa-brands-400.27183da.svg | 0 .../web/static/img/fa-regular-400.1e51c39.svg | 0 .../web/static/img/fa-solid-900.a868400.svg | 0 .../web/static/index.html | 0 .../web/static/js/app.680b1bbd04444c6d9d3a.js | 0 .../web/static/js/app.7d7d65cccfbfa339beba.js | 0 .../web/static/js/app.96ef02c9e5601eb5ebcb.js | 0 .../web/static/js/app.cdb00779aeb087dabd94.js | 0 .../js/manifest.82f431004cf9bb6ad2cb.js | 0 .../static/js/vendor.532ecf213e49d36e5e9e.js | 0 .../static/js/vendor.aebd1de04bf90e88d9c7.js | 0 {py12306 => old_py12306}/web/web.py | 0 77 files changed, 11 insertions(+), 254 deletions(-) delete mode 100644 .gitpod.yml rename py12306/__init__.py => config.toml (100%) delete mode 100644 env.docker.py.example delete mode 100644 env.slave.py.example rename {py12306/cluster => old_py12306}/__init__.py (100%) rename {py12306 => old_py12306}/app.py (100%) rename {py12306/exceptions => old_py12306/cluster}/__init__.py (100%) rename {py12306 => old_py12306}/cluster/cluster.py (100%) rename {py12306 => old_py12306}/cluster/redis.py (100%) rename {py12306 => old_py12306}/config.py (100%) rename {py12306/helpers => old_py12306/exceptions}/__init__.py (100%) rename {py12306 => old_py12306}/helpers/OCR.py (100%) rename {py12306/log => old_py12306/helpers}/__init__.py (100%) rename {py12306 => old_py12306}/helpers/api.py (100%) rename {py12306 => old_py12306}/helpers/auth_code.py (100%) rename {py12306 => old_py12306}/helpers/cdn.py (100%) rename {py12306 => old_py12306}/helpers/event.py (100%) rename {py12306 => old_py12306}/helpers/func.py (100%) rename {py12306 => old_py12306}/helpers/notification.py (100%) rename {py12306 => old_py12306}/helpers/request.py (100%) rename {py12306 => old_py12306}/helpers/station.py (100%) rename {py12306 => old_py12306}/helpers/type.py (100%) rename {py12306/query => old_py12306/log}/__init__.py (100%) rename {py12306 => old_py12306}/log/base.py (100%) rename {py12306 => old_py12306}/log/cluster_log.py (100%) rename {py12306 => old_py12306}/log/common_log.py (100%) rename {py12306 => old_py12306}/log/order_log.py (100%) rename {py12306 => old_py12306}/log/query_log.py (100%) rename {py12306 => old_py12306}/log/redis_log.py (100%) rename {py12306 => old_py12306}/log/user_log.py (100%) rename {py12306 => old_py12306}/order/order.py (100%) rename {py12306/user => old_py12306/query}/__init__.py (100%) rename {py12306 => old_py12306}/query/job.py (100%) rename {py12306 => old_py12306}/query/query.py (100%) rename {py12306/web => old_py12306/user}/__init__.py (100%) rename {py12306 => old_py12306}/user/job.py (100%) rename {py12306 => old_py12306}/user/user.py (100%) rename {py12306 => old_py12306}/vender/ruokuai/main.py (100%) rename {py12306/web/handler => old_py12306/web}/__init__.py (100%) create mode 100644 old_py12306/web/handler/__init__.py rename {py12306 => old_py12306}/web/handler/app.py (100%) rename {py12306 => old_py12306}/web/handler/log.py (100%) rename {py12306 => old_py12306}/web/handler/query.py (100%) rename {py12306 => old_py12306}/web/handler/stat.py (100%) rename {py12306 => old_py12306}/web/handler/user.py (100%) rename {py12306 => old_py12306}/web/static/css/app.35e2fbd94557d71d1e2bfa0d4bb44d13.css (100%) rename {py12306 => old_py12306}/web/static/css/app.7dba7f569524413218fde54c298188f4.css (100%) rename {py12306 => old_py12306}/web/static/css/app.dfb5ffed622907edd7c5f81709f2b782.css (100%) rename {py12306 => old_py12306}/web/static/fonts/element-icons.6f0a763.ttf (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-brands-400.292a564.woff (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-brands-400.87b76b9.woff2 (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-brands-400.f83bc05.ttf (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-brands-400.f902692.eot (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-regular-400.732726c.woff2 (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-regular-400.abde9e5.ttf (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-regular-400.b4cfd51.woff (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-regular-400.d1ce381.eot (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-solid-900.3b921c2.eot (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-solid-900.bed3b0a.woff2 (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-solid-900.d751e66.ttf (100%) rename {py12306 => old_py12306}/web/static/fonts/fa-solid-900.e0c419c.woff (100%) rename {py12306 => old_py12306}/web/static/img/avatar_default.svg (100%) rename {py12306 => old_py12306}/web/static/img/fa-brands-400.27183da.svg (100%) rename {py12306 => old_py12306}/web/static/img/fa-regular-400.1e51c39.svg (100%) rename {py12306 => old_py12306}/web/static/img/fa-solid-900.a868400.svg (100%) rename {py12306 => old_py12306}/web/static/index.html (100%) rename {py12306 => old_py12306}/web/static/js/app.680b1bbd04444c6d9d3a.js (100%) rename {py12306 => old_py12306}/web/static/js/app.7d7d65cccfbfa339beba.js (100%) rename {py12306 => old_py12306}/web/static/js/app.96ef02c9e5601eb5ebcb.js (100%) rename {py12306 => old_py12306}/web/static/js/app.cdb00779aeb087dabd94.js (100%) rename {py12306 => old_py12306}/web/static/js/manifest.82f431004cf9bb6ad2cb.js (100%) rename {py12306 => old_py12306}/web/static/js/vendor.532ecf213e49d36e5e9e.js (100%) rename {py12306 => old_py12306}/web/static/js/vendor.aebd1de04bf90e88d9c7.js (100%) rename {py12306 => old_py12306}/web/web.py (100%) diff --git a/.gitignore b/.gitignore index ddbbff6..1795188 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,5 @@ venv __pycache__ env.py -env.slave.py -env.docker.py -docker-compose.yml \ No newline at end of file +docker-compose.yml +config.toml \ No newline at end of file diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index bb34e5a..0000000 --- a/.gitpod.yml +++ /dev/null @@ -1,6 +0,0 @@ -ports: -- port: 8008 - onOpen: open-preview -tasks: -- init: pip install -r requirements.txt && cp env.py.example env.py - command: python main.py -t diff --git a/py12306/__init__.py b/config.toml similarity index 100% rename from py12306/__init__.py rename to config.toml diff --git a/docker-compose.yml.example b/docker-compose.yml.example index 44266d0..5a8eb03 100644 --- a/docker-compose.yml.example +++ b/docker-compose.yml.example @@ -1,4 +1,4 @@ -version: "2" +version: "3" services: py12306: build: . diff --git a/env.docker.py.example b/env.docker.py.example deleted file mode 100644 index 4bb5fe8..0000000 --- a/env.docker.py.example +++ /dev/null @@ -1,179 +0,0 @@ -# -*- coding: utf-8 -*- - -# 12306 账号 -USER_ACCOUNTS = [ - # 目前已支持仅查询,不下单,屏蔽掉下面的账号即可 - { - 'key': 0, # 如使用多个账号 key 不能重复 - 'user_name': 'your user name', - 'password': 'your password' - }, - # { - # 'key': 'wangwu', - # 'user_name': 'wangwu@qq.com', - # 'password': 'wangwu' - # } -] - -# 查询间隔(指每一个任务中每一个日期的间隔 / 单位秒) -# 默认取间隔/2 到 间隔之间的随机数 如设置为 1 间隔则为 0.5 ~ 1 之间的随机数 -# 接受字典形式 格式: {'min': 0.5, 'max': 1} -QUERY_INTERVAL = 1 - -# 用户心跳检测间隔 格式同上 -USER_HEARTBEAT_INTERVAL = 120 - -# 多线程查询 -QUERY_JOB_THREAD_ENABLED = 0 # 是否开启多线程查询,开启后第个任务会单独分配线程处理 - -# 打码平台账号 -# 目前只支持免费打码接口 和 若快打码,注册地址:http://www.ruokuai.com/login -AUTO_CODE_PLATFORM = 'free' # 免费填写 free 若快 ruokuai # 免费打码无法保证持续可用,如失效请手动切换 -AUTO_CODE_ACCOUNT = { - 'user': 'your user name', - 'pwd': 'your password' -} - -# 语音验证码 -# 没找到比较好用的,现在用的这个是阿里云 API 市场上的,基本满足要求,价格也便宜 -# 购买成功后到控制台找到 APPCODE 放在下面就可以了 -# 地址:易源 https://market.aliyun.com/products/57126001/cmapi019902.html -# 2019-01-18 更新 -# 增加新的服务商 鼎信 https://market.aliyun.com/products/56928004/cmapi026600.html?spm=5176.2020520132.101.2.e27e7218KQttQS -NOTIFICATION_BY_VOICE_CODE = 1 # 开启语音通知 -NOTIFICATION_VOICE_CODE_TYPE = 'dingxin' # 语音验证码服务商 可用项 dingxin yiyuan -NOTIFICATION_API_APP_CODE = 'your app code' -NOTIFICATION_VOICE_CODE_PHONE = 'your phone' # 接受通知的手机号 - -# 钉钉通知 -DINGTALK_ENABLED = 0 -DINGTALK_WEBHOOK = 'https://oapi.dingtalk.com/robot/send?access_token=your token' - -# Telegram消息推送 -# 目前共有两个Bot: -# 1:https://t.me/notificationme_bot -# 2:https://t.me/RE_Link_Push_bot -# 任选一个Bot,关注获取URL链接,如果没有回复则发送给Bot这条信息: /start -# 将获取的URL填入下面对应位置 -# 注意:因为以上Bot都由他人公益提供,无法保证随时可用,如以上Bot都无法使用,请使用其他消息推送方式 -# Bot1来源:https://github.com/Fndroid/tg_push_bot -# Bot2来源:https://szc.me/post/2.html -TELEGRAM_ENABLED = 0 -TELEGRAM_BOT_API_URL = 'https://tgbot.lbyczf.com/sendMessage/:your_token' - -# ServerChan 和 PushBear 微信消息推送 -# 使用说明 -# ServerChan http://sc.ftqq.com -# PushBear http://pushbear.ftqq.com -SERVERCHAN_ENABLED = 0 -SERVERCHAN_KEY = '' -PUSHBEAR_ENABLED = 0 -PUSHBEAR_KEY = '' - -# Bark 推送到ios设备 -# 参考 https://www.v2ex.com/t/467407 -BARK_ENABLED = 0 -BARK_PUSH_URL = 'https://api.day.app/:your_token' - -# 输出日志到文件 (Docker 中不建议修改此组配置项) -OUT_PUT_LOG_TO_FILE_ENABLED = 1 -OUT_PUT_LOG_TO_FILE_PATH = '/config/12306.log' # 日志目录 -RUNTIME_DIR = '/data/' -QUERY_DATA_DIR = '/data/query/' -USER_DATA_DIR = '/data/user/' - -# 分布式集群配置 -CLUSTER_ENABLED = 0 # 集群状态 -NODE_IS_MASTER = 1 # 是否是主节点 同时只能启用 1 个主节点 -NODE_SLAVE_CAN_BE_MASTER = 1 # 主节点宕机后,子节点是否可以自动提升为主节点(建议打开) -NODE_NAME = 'master' # 节点名称,不能重复 -REDIS_HOST = 'localhost' # Redis host -REDIS_PORT = '6379' # Redis port -REDIS_PASSWORD = '' # Redis 密码 没有可以留空 - -# 邮箱配置 -EMAIL_ENABLED = 0 # 是否开启邮件通知 -EMAIL_SENDER = 'sender@example.com' # 邮件发送者 -EMAIL_RECEIVER = 'receiver@example.com' # 邮件接受者 # 可以多个 [email1@gmail.com, email2@gmail.com] -EMAIL_SERVER_HOST = 'localhost' # 邮件服务 host -EMAIL_SERVER_USER = '' # 邮件服务登录用户名 -EMAIL_SERVER_PASSWORD = '' # 邮件服务登录密码 - -# Web 管理 -WEB_ENABLE = 1 # 是否打开 Web 管理 -WEB_USER = { # 登录信息 - 'username': 'admin', - 'password': 'password' -} -WEB_PORT = 8008 # 监听端口 - -# 是否开启 CDN 查询 -CDN_ENABLED = 0 -CDN_CHECK_TIME_OUT = 1 # 检测单个 cdn 是否可用超时时间 - -# 查询任务 -QUERY_JOBS = [ - { - # 'job_name': 'bj -> sz', # 任务名称,不填默认会以车站名命名,不可重复 - 'account_key': 0, # 将会使用指定账号下单 - 'left_dates': [ # 出发日期 :Array - "2019-01-25", - "2019-01-26", - ], - 'stations': { # 车站 支持多个车站同时查询 :Dict or :List - 'left': '北京', - 'arrive': '深圳', - }, - # # 多个车站示例 (建议添加多个,有时多买几站成功率会高一点) - # 'stations': [{ - # 'left': '北京', - # 'arrive': '深圳', - # },{ # 多个车站示例 - # 'left': '北京', - # 'arrive': '广州', - # }], - 'members': [ # 乘客姓名,会根据当前账号自动识别乘客类型 购买儿童票 设置两个相同的姓名即可,程序会自动识别 如 ['张三', '张三'] - "张三", - "王五", - # 7, # 支持通过序号确定唯一乘客,序号查看可通过 python main.py -t 登录成功之后在 runtime/user/ 下找到对应的 用户名_passengers.json 文件,找到对应的 code 填入 - ], - 'allow_less_member': 0, # 是否允许余票不足时提交部分乘客 - 'seats': [ # 筛选座位 有先后顺序 :Array - # 可用值: 特等座, 商务座, 一等座, 二等座, 软卧, 硬卧, 动卧, 软座, 硬座, 无座 - '硬卧', - '硬座' - ], - 'train_numbers': [ # 筛选车次 可以为空,为空则所有车次都可以提交 如 [] 注意大小写需要保持一致 - "K356", - "K1172", - "K4184" - ], - 'except_train_numbers': [ # 筛选车次,排除车次 train_numbers 和 except_train_numbers 不可同时存在 - ], - 'period': { # 筛选时间 - 'from': '00:00', - 'to': '24:00' - } - - }, - # { - # 'job_name': 'cd -> gz', # 任务名称,不填默认会以车站名命名,不可重复 - # 'account_key': 0, # 将会使用指定账号下单 - # 'left_dates': [ - # "2019-01-27", - # "2019-01-28" - # ], - # 'stations': { - # 'left': '成都', - # 'arrive': '广州', - # }, - # 'members': [ - # "小王", - # ], - # 'allow_less_member': 0, - # 'seats': [ - # '硬卧', - # ], - # 'train_numbers': [] - # } -] diff --git a/env.slave.py.example b/env.slave.py.example deleted file mode 100644 index dc4a419..0000000 --- a/env.slave.py.example +++ /dev/null @@ -1,12 +0,0 @@ -# -*- coding: utf-8 -*- -# 分布式子节点配置文件示例 - -# 分布式集群配置 -CLUSTER_ENABLED = 1 # 集群状态 -NODE_IS_MASTER = 0 # 是否是主节点 -NODE_NAME = 'slave 1' # 节点名称,不能重复 -REDIS_HOST = 'localhost' # Redis host -REDIS_PORT = '6379' # Redis port -REDIS_PASSWORD = '' # Redis 密码 没有可以留空 - -# 没了,其它配置会自动从主节点同步 diff --git a/main.py b/main.py index e6f82e5..0ac6360 100644 --- a/main.py +++ b/main.py @@ -1,63 +1,18 @@ # -*- coding: utf-8 -*- -import sys - -from py12306.app import * -from py12306.helpers.cdn import Cdn -from py12306.log.common_log import CommonLog -from py12306.query.query import Query -from py12306.user.user import User -from py12306.web.web import Web def main(): - load_argvs() - CommonLog.print_welcome() - App.run() - CommonLog.print_configs() - App.did_start() - - App.run_check() - Query.check_before_run() - - ####### 运行任务 - Web.run() - Cdn.run() - User.run() - Query.run() - if not Const.IS_TEST: - while True: - sleep(10000) - else: - if Config().is_cluster_enabled(): stay_second(5) # 等待接受完通知 - CommonLog.print_test_complete() - - -def test(): - """ - 功能检查 - 包含: - 账号密码验证 (打码) - 座位验证 - 乘客验证 - 语音验证码验证 - 通知验证 - :return: - """ - Const.IS_TEST = True - Config.OUT_PUT_LOG_TO_FILE_ENABLED = False - if '--test-notification' in sys.argv or '-n' in sys.argv: - Const.IS_TEST_NOTIFICATION = True pass -def load_argvs(): - if '--test' in sys.argv or '-t' in sys.argv: test() - config_index = None - - if '--config' in sys.argv: config_index = sys.argv.index('--config') - if '-c' in sys.argv: config_index = sys.argv.index('-c') - if config_index: - Config.CONFIG_FILE = sys.argv[config_index + 1:config_index + 2].pop() +# def load_argvs(): +# if '--test' in sys.argv or '-t' in sys.argv: test() +# config_index = None +# +# if '--config' in sys.argv: config_index = sys.argv.index('--config') +# if '-c' in sys.argv: config_index = sys.argv.index('-c') +# if config_index: +# Config.CONFIG_FILE = sys.argv[config_index + 1:config_index + 2].pop() if __name__ == '__main__': diff --git a/py12306/cluster/__init__.py b/old_py12306/__init__.py similarity index 100% rename from py12306/cluster/__init__.py rename to old_py12306/__init__.py diff --git a/py12306/app.py b/old_py12306/app.py similarity index 100% rename from py12306/app.py rename to old_py12306/app.py diff --git a/py12306/exceptions/__init__.py b/old_py12306/cluster/__init__.py similarity index 100% rename from py12306/exceptions/__init__.py rename to old_py12306/cluster/__init__.py diff --git a/py12306/cluster/cluster.py b/old_py12306/cluster/cluster.py similarity index 100% rename from py12306/cluster/cluster.py rename to old_py12306/cluster/cluster.py diff --git a/py12306/cluster/redis.py b/old_py12306/cluster/redis.py similarity index 100% rename from py12306/cluster/redis.py rename to old_py12306/cluster/redis.py diff --git a/py12306/config.py b/old_py12306/config.py similarity index 100% rename from py12306/config.py rename to old_py12306/config.py diff --git a/py12306/helpers/__init__.py b/old_py12306/exceptions/__init__.py similarity index 100% rename from py12306/helpers/__init__.py rename to old_py12306/exceptions/__init__.py diff --git a/py12306/helpers/OCR.py b/old_py12306/helpers/OCR.py similarity index 100% rename from py12306/helpers/OCR.py rename to old_py12306/helpers/OCR.py diff --git a/py12306/log/__init__.py b/old_py12306/helpers/__init__.py similarity index 100% rename from py12306/log/__init__.py rename to old_py12306/helpers/__init__.py diff --git a/py12306/helpers/api.py b/old_py12306/helpers/api.py similarity index 100% rename from py12306/helpers/api.py rename to old_py12306/helpers/api.py diff --git a/py12306/helpers/auth_code.py b/old_py12306/helpers/auth_code.py similarity index 100% rename from py12306/helpers/auth_code.py rename to old_py12306/helpers/auth_code.py diff --git a/py12306/helpers/cdn.py b/old_py12306/helpers/cdn.py similarity index 100% rename from py12306/helpers/cdn.py rename to old_py12306/helpers/cdn.py diff --git a/py12306/helpers/event.py b/old_py12306/helpers/event.py similarity index 100% rename from py12306/helpers/event.py rename to old_py12306/helpers/event.py diff --git a/py12306/helpers/func.py b/old_py12306/helpers/func.py similarity index 100% rename from py12306/helpers/func.py rename to old_py12306/helpers/func.py diff --git a/py12306/helpers/notification.py b/old_py12306/helpers/notification.py similarity index 100% rename from py12306/helpers/notification.py rename to old_py12306/helpers/notification.py diff --git a/py12306/helpers/request.py b/old_py12306/helpers/request.py similarity index 100% rename from py12306/helpers/request.py rename to old_py12306/helpers/request.py diff --git a/py12306/helpers/station.py b/old_py12306/helpers/station.py similarity index 100% rename from py12306/helpers/station.py rename to old_py12306/helpers/station.py diff --git a/py12306/helpers/type.py b/old_py12306/helpers/type.py similarity index 100% rename from py12306/helpers/type.py rename to old_py12306/helpers/type.py diff --git a/py12306/query/__init__.py b/old_py12306/log/__init__.py similarity index 100% rename from py12306/query/__init__.py rename to old_py12306/log/__init__.py diff --git a/py12306/log/base.py b/old_py12306/log/base.py similarity index 100% rename from py12306/log/base.py rename to old_py12306/log/base.py diff --git a/py12306/log/cluster_log.py b/old_py12306/log/cluster_log.py similarity index 100% rename from py12306/log/cluster_log.py rename to old_py12306/log/cluster_log.py diff --git a/py12306/log/common_log.py b/old_py12306/log/common_log.py similarity index 100% rename from py12306/log/common_log.py rename to old_py12306/log/common_log.py diff --git a/py12306/log/order_log.py b/old_py12306/log/order_log.py similarity index 100% rename from py12306/log/order_log.py rename to old_py12306/log/order_log.py diff --git a/py12306/log/query_log.py b/old_py12306/log/query_log.py similarity index 100% rename from py12306/log/query_log.py rename to old_py12306/log/query_log.py diff --git a/py12306/log/redis_log.py b/old_py12306/log/redis_log.py similarity index 100% rename from py12306/log/redis_log.py rename to old_py12306/log/redis_log.py diff --git a/py12306/log/user_log.py b/old_py12306/log/user_log.py similarity index 100% rename from py12306/log/user_log.py rename to old_py12306/log/user_log.py diff --git a/py12306/order/order.py b/old_py12306/order/order.py similarity index 100% rename from py12306/order/order.py rename to old_py12306/order/order.py diff --git a/py12306/user/__init__.py b/old_py12306/query/__init__.py similarity index 100% rename from py12306/user/__init__.py rename to old_py12306/query/__init__.py diff --git a/py12306/query/job.py b/old_py12306/query/job.py similarity index 100% rename from py12306/query/job.py rename to old_py12306/query/job.py diff --git a/py12306/query/query.py b/old_py12306/query/query.py similarity index 100% rename from py12306/query/query.py rename to old_py12306/query/query.py diff --git a/py12306/web/__init__.py b/old_py12306/user/__init__.py similarity index 100% rename from py12306/web/__init__.py rename to old_py12306/user/__init__.py diff --git a/py12306/user/job.py b/old_py12306/user/job.py similarity index 100% rename from py12306/user/job.py rename to old_py12306/user/job.py diff --git a/py12306/user/user.py b/old_py12306/user/user.py similarity index 100% rename from py12306/user/user.py rename to old_py12306/user/user.py diff --git a/py12306/vender/ruokuai/main.py b/old_py12306/vender/ruokuai/main.py similarity index 100% rename from py12306/vender/ruokuai/main.py rename to old_py12306/vender/ruokuai/main.py diff --git a/py12306/web/handler/__init__.py b/old_py12306/web/__init__.py similarity index 100% rename from py12306/web/handler/__init__.py rename to old_py12306/web/__init__.py diff --git a/old_py12306/web/handler/__init__.py b/old_py12306/web/handler/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/py12306/web/handler/app.py b/old_py12306/web/handler/app.py similarity index 100% rename from py12306/web/handler/app.py rename to old_py12306/web/handler/app.py diff --git a/py12306/web/handler/log.py b/old_py12306/web/handler/log.py similarity index 100% rename from py12306/web/handler/log.py rename to old_py12306/web/handler/log.py diff --git a/py12306/web/handler/query.py b/old_py12306/web/handler/query.py similarity index 100% rename from py12306/web/handler/query.py rename to old_py12306/web/handler/query.py diff --git a/py12306/web/handler/stat.py b/old_py12306/web/handler/stat.py similarity index 100% rename from py12306/web/handler/stat.py rename to old_py12306/web/handler/stat.py diff --git a/py12306/web/handler/user.py b/old_py12306/web/handler/user.py similarity index 100% rename from py12306/web/handler/user.py rename to old_py12306/web/handler/user.py diff --git a/py12306/web/static/css/app.35e2fbd94557d71d1e2bfa0d4bb44d13.css b/old_py12306/web/static/css/app.35e2fbd94557d71d1e2bfa0d4bb44d13.css similarity index 100% rename from py12306/web/static/css/app.35e2fbd94557d71d1e2bfa0d4bb44d13.css rename to old_py12306/web/static/css/app.35e2fbd94557d71d1e2bfa0d4bb44d13.css diff --git a/py12306/web/static/css/app.7dba7f569524413218fde54c298188f4.css b/old_py12306/web/static/css/app.7dba7f569524413218fde54c298188f4.css similarity index 100% rename from py12306/web/static/css/app.7dba7f569524413218fde54c298188f4.css rename to old_py12306/web/static/css/app.7dba7f569524413218fde54c298188f4.css diff --git a/py12306/web/static/css/app.dfb5ffed622907edd7c5f81709f2b782.css b/old_py12306/web/static/css/app.dfb5ffed622907edd7c5f81709f2b782.css similarity index 100% rename from py12306/web/static/css/app.dfb5ffed622907edd7c5f81709f2b782.css rename to old_py12306/web/static/css/app.dfb5ffed622907edd7c5f81709f2b782.css diff --git a/py12306/web/static/fonts/element-icons.6f0a763.ttf b/old_py12306/web/static/fonts/element-icons.6f0a763.ttf similarity index 100% rename from py12306/web/static/fonts/element-icons.6f0a763.ttf rename to old_py12306/web/static/fonts/element-icons.6f0a763.ttf diff --git a/py12306/web/static/fonts/fa-brands-400.292a564.woff b/old_py12306/web/static/fonts/fa-brands-400.292a564.woff similarity index 100% rename from py12306/web/static/fonts/fa-brands-400.292a564.woff rename to old_py12306/web/static/fonts/fa-brands-400.292a564.woff diff --git a/py12306/web/static/fonts/fa-brands-400.87b76b9.woff2 b/old_py12306/web/static/fonts/fa-brands-400.87b76b9.woff2 similarity index 100% rename from py12306/web/static/fonts/fa-brands-400.87b76b9.woff2 rename to old_py12306/web/static/fonts/fa-brands-400.87b76b9.woff2 diff --git a/py12306/web/static/fonts/fa-brands-400.f83bc05.ttf b/old_py12306/web/static/fonts/fa-brands-400.f83bc05.ttf similarity index 100% rename from py12306/web/static/fonts/fa-brands-400.f83bc05.ttf rename to old_py12306/web/static/fonts/fa-brands-400.f83bc05.ttf diff --git a/py12306/web/static/fonts/fa-brands-400.f902692.eot b/old_py12306/web/static/fonts/fa-brands-400.f902692.eot similarity index 100% rename from py12306/web/static/fonts/fa-brands-400.f902692.eot rename to old_py12306/web/static/fonts/fa-brands-400.f902692.eot diff --git a/py12306/web/static/fonts/fa-regular-400.732726c.woff2 b/old_py12306/web/static/fonts/fa-regular-400.732726c.woff2 similarity index 100% rename from py12306/web/static/fonts/fa-regular-400.732726c.woff2 rename to old_py12306/web/static/fonts/fa-regular-400.732726c.woff2 diff --git a/py12306/web/static/fonts/fa-regular-400.abde9e5.ttf b/old_py12306/web/static/fonts/fa-regular-400.abde9e5.ttf similarity index 100% rename from py12306/web/static/fonts/fa-regular-400.abde9e5.ttf rename to old_py12306/web/static/fonts/fa-regular-400.abde9e5.ttf diff --git a/py12306/web/static/fonts/fa-regular-400.b4cfd51.woff b/old_py12306/web/static/fonts/fa-regular-400.b4cfd51.woff similarity index 100% rename from py12306/web/static/fonts/fa-regular-400.b4cfd51.woff rename to old_py12306/web/static/fonts/fa-regular-400.b4cfd51.woff diff --git a/py12306/web/static/fonts/fa-regular-400.d1ce381.eot b/old_py12306/web/static/fonts/fa-regular-400.d1ce381.eot similarity index 100% rename from py12306/web/static/fonts/fa-regular-400.d1ce381.eot rename to old_py12306/web/static/fonts/fa-regular-400.d1ce381.eot diff --git a/py12306/web/static/fonts/fa-solid-900.3b921c2.eot b/old_py12306/web/static/fonts/fa-solid-900.3b921c2.eot similarity index 100% rename from py12306/web/static/fonts/fa-solid-900.3b921c2.eot rename to old_py12306/web/static/fonts/fa-solid-900.3b921c2.eot diff --git a/py12306/web/static/fonts/fa-solid-900.bed3b0a.woff2 b/old_py12306/web/static/fonts/fa-solid-900.bed3b0a.woff2 similarity index 100% rename from py12306/web/static/fonts/fa-solid-900.bed3b0a.woff2 rename to old_py12306/web/static/fonts/fa-solid-900.bed3b0a.woff2 diff --git a/py12306/web/static/fonts/fa-solid-900.d751e66.ttf b/old_py12306/web/static/fonts/fa-solid-900.d751e66.ttf similarity index 100% rename from py12306/web/static/fonts/fa-solid-900.d751e66.ttf rename to old_py12306/web/static/fonts/fa-solid-900.d751e66.ttf diff --git a/py12306/web/static/fonts/fa-solid-900.e0c419c.woff b/old_py12306/web/static/fonts/fa-solid-900.e0c419c.woff similarity index 100% rename from py12306/web/static/fonts/fa-solid-900.e0c419c.woff rename to old_py12306/web/static/fonts/fa-solid-900.e0c419c.woff diff --git a/py12306/web/static/img/avatar_default.svg b/old_py12306/web/static/img/avatar_default.svg similarity index 100% rename from py12306/web/static/img/avatar_default.svg rename to old_py12306/web/static/img/avatar_default.svg diff --git a/py12306/web/static/img/fa-brands-400.27183da.svg b/old_py12306/web/static/img/fa-brands-400.27183da.svg similarity index 100% rename from py12306/web/static/img/fa-brands-400.27183da.svg rename to old_py12306/web/static/img/fa-brands-400.27183da.svg diff --git a/py12306/web/static/img/fa-regular-400.1e51c39.svg b/old_py12306/web/static/img/fa-regular-400.1e51c39.svg similarity index 100% rename from py12306/web/static/img/fa-regular-400.1e51c39.svg rename to old_py12306/web/static/img/fa-regular-400.1e51c39.svg diff --git a/py12306/web/static/img/fa-solid-900.a868400.svg b/old_py12306/web/static/img/fa-solid-900.a868400.svg similarity index 100% rename from py12306/web/static/img/fa-solid-900.a868400.svg rename to old_py12306/web/static/img/fa-solid-900.a868400.svg diff --git a/py12306/web/static/index.html b/old_py12306/web/static/index.html similarity index 100% rename from py12306/web/static/index.html rename to old_py12306/web/static/index.html diff --git a/py12306/web/static/js/app.680b1bbd04444c6d9d3a.js b/old_py12306/web/static/js/app.680b1bbd04444c6d9d3a.js similarity index 100% rename from py12306/web/static/js/app.680b1bbd04444c6d9d3a.js rename to old_py12306/web/static/js/app.680b1bbd04444c6d9d3a.js diff --git a/py12306/web/static/js/app.7d7d65cccfbfa339beba.js b/old_py12306/web/static/js/app.7d7d65cccfbfa339beba.js similarity index 100% rename from py12306/web/static/js/app.7d7d65cccfbfa339beba.js rename to old_py12306/web/static/js/app.7d7d65cccfbfa339beba.js diff --git a/py12306/web/static/js/app.96ef02c9e5601eb5ebcb.js b/old_py12306/web/static/js/app.96ef02c9e5601eb5ebcb.js similarity index 100% rename from py12306/web/static/js/app.96ef02c9e5601eb5ebcb.js rename to old_py12306/web/static/js/app.96ef02c9e5601eb5ebcb.js diff --git a/py12306/web/static/js/app.cdb00779aeb087dabd94.js b/old_py12306/web/static/js/app.cdb00779aeb087dabd94.js similarity index 100% rename from py12306/web/static/js/app.cdb00779aeb087dabd94.js rename to old_py12306/web/static/js/app.cdb00779aeb087dabd94.js diff --git a/py12306/web/static/js/manifest.82f431004cf9bb6ad2cb.js b/old_py12306/web/static/js/manifest.82f431004cf9bb6ad2cb.js similarity index 100% rename from py12306/web/static/js/manifest.82f431004cf9bb6ad2cb.js rename to old_py12306/web/static/js/manifest.82f431004cf9bb6ad2cb.js diff --git a/py12306/web/static/js/vendor.532ecf213e49d36e5e9e.js b/old_py12306/web/static/js/vendor.532ecf213e49d36e5e9e.js similarity index 100% rename from py12306/web/static/js/vendor.532ecf213e49d36e5e9e.js rename to old_py12306/web/static/js/vendor.532ecf213e49d36e5e9e.js diff --git a/py12306/web/static/js/vendor.aebd1de04bf90e88d9c7.js b/old_py12306/web/static/js/vendor.aebd1de04bf90e88d9c7.js similarity index 100% rename from py12306/web/static/js/vendor.aebd1de04bf90e88d9c7.js rename to old_py12306/web/static/js/vendor.aebd1de04bf90e88d9c7.js diff --git a/py12306/web/web.py b/old_py12306/web/web.py similarity index 100% rename from py12306/web/web.py rename to old_py12306/web/web.py