def run(cfg): _show_head_line("开始核心逻辑") user_buy_info = get_user_buy_info(cfg) show_buy_info(user_buy_info) for idx, account_config in enumerate(cfg.account_configs): idx += 1 if not account_config.is_enabled(): logger.info(f"第{idx}个账号({account_config.name})未启用,将跳过") continue _show_head_line(f"开始处理第{idx}个账户({account_config.name})") start_time = datetime.datetime.now() djcHelper = DjcHelper(account_config, cfg.common) djcHelper.run(user_buy_info) used_time = datetime.datetime.now() - start_time _show_head_line(f"处理第{idx}个账户({account_config.name}) 共耗时 {used_time}") if cfg.common._debug_run_first_only: logger.warning("调试开关打开,不再处理后续账户") break
def do_run(idx: int, account_config: AccountConfig, common_config: CommonConfig, user_buy_info: BuyInfo): _show_head_line(f"开始处理第{idx}个账户({account_config.name})") start_time = datetime.datetime.now() djcHelper = DjcHelper(account_config, common_config) djcHelper.run(user_buy_info) used_time = datetime.datetime.now() - start_time _show_head_line(f"处理第{idx}个账户({account_config.name}) 共耗时 {used_time}")
def run(cfg): _show_head_line("开始核心逻辑") user_buy_info = get_user_buy_info(cfg) # 购买过dlc的用户可以获得两个月免费使用付费功能的时长 if has_buy_auto_updater_dlc(cfg): max_present_times = datetime.timedelta(days=2 * 31) free_start_time = parse_time("2021-02-07 00:00:00") now = datetime.datetime.now() since_start_time = now - free_start_time not_paied_time = max( since_start_time - datetime.timedelta(days=user_buy_info.total_buy_month * 31), datetime.timedelta()) present_times = datetime.timedelta() if not_paied_time < max_present_times: # 如果当前到2.7号的未付费时长少于两个月,则补齐差值到过期时间 present_times = max_present_times - not_paied_time user_buy_info.expire_at = format_time( parse_time(user_buy_info.expire_at) + present_times) user_buy_info.buy_records.insert( 0, BuyRecord().auto_update_config({ "buy_month": 2, "buy_at": free_start_time })) logger.info( color("bold_green") + f"当前运行的qq中已有某个qq购买过自动更新dlc,自{free_start_time}开始将累积可免费使用付费功能两个月,目前累积未付费时长为{not_paied_time},故而补偿{present_times}" ) show_buy_info(user_buy_info) for idx, account_config in enumerate(cfg.account_configs): idx += 1 if not account_config.is_enabled(): logger.info(f"第{idx}个账号({account_config.name})未启用,将跳过") continue _show_head_line(f"开始处理第{idx}个账户({account_config.name})") djcHelper = DjcHelper(account_config, cfg.common) djcHelper.run(user_buy_info) if cfg.common._debug_run_first_only: logger.warning("调试开关打开,不再处理后续账户") break
def run(cfg): _show_head_line("开始核心逻辑") for idx, account_config in enumerate(cfg.account_configs): idx += 1 if not account_config.enable: logger.info("第{}个账号({})未启用,将跳过".format(idx, account_config.name)) continue _show_head_line("开始处理第{}个账户({})".format(idx, account_config.name)) djcHelper = DjcHelper(account_config, cfg.common) djcHelper.run() if cfg.common._debug_run_first_only: logger.warning("调试开关打开,不再处理后续账户") break
djcHelper = DjcHelper(account_config, cfg.common) djcHelper.check_skey_expired() # 尝试加入固定心悦队伍 djcHelper.try_join_fixed_xinyue_team() # 正式进行流程 for idx, account_config in enumerate(cfg.account_configs): idx += 1 if not account_config.enable: logger.info("第{}个账号({})未启用,将跳过".format(idx, account_config.name)) continue logger.info("------------开始处理第{}个账户({})------------\n".format(idx, account_config.name)) djcHelper = DjcHelper(account_config, cfg.common) djcHelper.run() if cfg.common._debug_run_first_only: logger.warning("调试开关打开,不再处理后续账户") break # 检查是否需要更新,放到末尾,避免在启动时因网络不能访问github而卡住-。-这个时机就算卡住也没啥大问题了 logger.info(( "\n" "++++++++++++++++++++++++++++++++++++++++\n" "全部账号操作已经成功完成\n" "现在准备访问github仓库相关页面来检查是否有新版本\n" "由于国内网络问题,访问可能会比较慢,请不要立即关闭,可以选择最小化或切换到其他窗口0-0\n" "若有新版本会自动弹窗提示~\n" "++++++++++++++++++++++++++++++++++++++++\n" ))