Files
py12306/old_py12306/log/user_log.py
2019-05-14 13:21:25 +08:00

77 lines
2.7 KiB
Python

from py12306.log.base import BaseLog
from py12306.helpers.func import *
@singleton
class UserLog(BaseLog):
# 这里如果不声明,会出现重复打印,目前不知道什么原因
logs = []
thread_logs = {}
quick_log = []
MESSAGE_DOWNLAOD_AUTH_CODE_FAIL = '验证码下载失败 错误原因: {} {} 秒后重试'
MESSAGE_DOWNLAODING_THE_CODE = '正在下载验证码...'
MESSAGE_CODE_AUTH_FAIL = '验证码验证失败 错误原因: {}'
MESSAGE_CODE_AUTH_SUCCESS = '验证码验证成功 开始登录...'
MESSAGE_LOGIN_FAIL = '登录失败 错误原因: {}'
MESSAGE_LOADED_USER = '正在尝试恢复用户: {}'
MESSAGE_LOADED_USER_SUCCESS = '用户恢复成功: {}'
MESSAGE_LOADED_USER_BUT_EXPIRED = '用户状态已过期,正在重新登录'
MESSAGE_USER_HEARTBEAT_NORMAL = '用户 {} 心跳正常,下次检测 {} 秒后'
MESSAGE_GET_USER_PASSENGERS_FAIL = '获取用户乘客列表失败,错误原因: {} {} 秒后重试'
MESSAGE_USER_PASSENGERS_IS_INVALID = '乘客信息校验失败,在账号 {} 中未找到该乘客: {}\n'
# MESSAGE_WAIT_USER_INIT_COMPLETE = '未找到可用账号或用户正在初始化,{} 秒后重试'
MESSAGE_USERS_DID_CHANGED = '\n用户信息已更新,正在重新加载...'
MESSAGE_USER_BEING_DESTROY = '用户 {} 已退出'
MESSAGE_USER_COOKIE_NOT_FOUND_FROM_REMOTE = '用户 {} 状态加载中...'
MESSAGE_WAIT_USER_INIT_COMPLETE = '账号正在登录中,{} 秒后自动重试'
def __init__(self):
super().__init__()
self.init_data()
def init_data(self):
pass
@classmethod
def print_init_users(cls, users):
"""
输出初始化信息
:return:
"""
self = cls()
self.add_quick_log('# 发现 {} 个用户 #\n'.format(len(users)))
self.flush()
return self
@classmethod
def print_welcome_user(cls, user):
self = cls()
self.add_quick_log('# 欢迎回来,{} #\n'.format(user.get_name()))
self.flush()
return self
@classmethod
def print_start_login(cls, user):
self = cls()
self.add_quick_log('正在登录用户 {}'.format(user.user_name))
self.flush()
return self
@classmethod
def print_user_passenger_init_success(cls, passengers):
self = cls()
result = [passenger.get('name') + '(' + passenger.get('type_text') + ')' for passenger in passengers]
self.add_quick_log('# 乘客验证成功 {} #\n'.format(', '.join(result)))
self.flush()
return self
@classmethod
def print_user_expired(cls):
return cls().add_quick_log(cls.MESSAGE_LOADED_USER_BUT_EXPIRED).flush()