Пример #1
0
def main():
    change_title("集卡特别版")

    # 最大化窗口
    logger.info("尝试调整窗口显示模式,打包exe可能会运行的比较慢")
    change_console_window_mode_async()

    logger.warning(f"开始运行DNF蚊子腿小助手 集卡特别版,ver={now_version} {ver_time},powered by {author}")
    logger.warning(color("fg_bold_cyan") + "如果觉得我的小工具对你有所帮助,想要支持一下我的话,可以帮忙宣传一下或打开付费指引/支持一下.png,扫码打赏哦~")

    # 读取配置信息
    load_config("config.toml", "config.toml.local")
    cfg = config()

    if len(cfg.account_configs) == 0:
        raise Exception("未找到有效的账号配置,请检查是否正确配置。")

    check_proxy(cfg)

    init_pool(cfg.get_pool_size())

    change_title("集卡特别版", multiprocessing_pool_size=cfg.get_pool_size())

    show_multiprocessing_info(cfg)

    check_all_skey_and_pskey(cfg)

    # 正式进行流程
    run(cfg)

    auto_send_cards(cfg)
    show_lottery_status("卡片赠送完毕后展示各账号抽卡卡片以及各礼包剩余可领取信息", cfg, need_show_tips=True)

    # 运行结束展示下多进程信息
    show_multiprocessing_info(cfg)
Пример #2
0
def _test_main():
    need_check_bind_and_skey = True
    # need_check_bind_and_skey = False

    # # 最大化窗口
    # logger.info("尝试最大化窗口,打包exe可能会运行的比较慢")
    # maximize_console()

    logger.warning(f"开始运行DNF蚊子腿小助手,ver={now_version} {ver_time},powered by {author}")
    logger.warning(color("fg_bold_cyan") + "如果觉得我的小工具对你有所帮助,想要支持一下我的话,可以帮忙宣传一下或打开支持一下.png,扫码打赏哦~")

    # 读取配置信息
    load_config("config.toml", "config.toml.local")
    cfg = config()

    if len(cfg.account_configs) == 0:
        raise Exception("未找到有效的账号配置,请检查是否正确配置。ps:多账号版本配置与旧版本不匹配,请重新配置")

    init_pool(cfg.get_pool_size())

    if need_check_bind_and_skey:
        check_all_skey_and_pskey(cfg)
        check_djc_role_binding()

    # note: 用于本地测试main的相关逻辑
    # show_accounts_status(cfg, "启动时展示账号概览")
    # try_join_xinyue_team(cfg)
    # run(cfg)
    # try_take_xinyue_team_award(cfg)
    # try_xinyue_sailiyam_start_work(cfg)
    show_lottery_status("运行完毕展示各账号抽卡卡片以及各礼包剩余可领取信息", cfg, need_show_tips=True)
Пример #3
0
 def __init__(self, ds_string=""):
     
     
     
     DBPool = init_pool(ds_string)
     
     conn = DBPool.connect()  
     
     self.cursor = conn.cursor()
     
     """
Пример #4
0
 def __init__(self):
     
     """
     init
     """
     
     
     
     DBPool = init_pool()
     
     print "pool:",id(DBPool)
     
     conn = DBPool.connect()  
     
     self.cursor = conn.cursor()
     
     pprint.pprint( dir(self.cursor) )
     
     """
Пример #5
0
def main():
    increase_counter(name="run/begin", ga_type=ga.GA_REPORT_TYPE_PAGE_VIEW)

    prepare_env()

    # 启动时检查是否需要同步本机数据目录备份的旧版本配置
    try_load_old_version_configs_from_user_data_dir()

    change_title()
    show_ask_message_box_only_once()

    print_update_message_on_first_run_new_version()

    logger.warning(
        f"开始运行DNF蚊子腿小助手,ver={now_version} {ver_time},powered by {author}")
    logger.warning(
        color("fg_bold_cyan") +
        "如果觉得我的小工具对你有所帮助,想要支持一下我的话,可以帮忙宣传一下或打开付费指引/支持一下.png,扫码打赏哦~")

    # 读取配置信息
    load_config("config.toml", "config.toml.local")
    cfg = config()

    if len(cfg.account_configs) == 0:
        raise Exception("未找到有效的账号配置,请检查是否正确配置。ps:多账号版本配置与旧版本不匹配,请重新配置")

    try_report_usage_info(cfg)

    if cfg.common.disable_cmd_quick_edit:
        disable_quick_edit_mode()

    show_notices()

    if cfg.common.allow_only_one_instance:
        logger.info("当前仅允许单个实例运行,将尝试干掉其他实例~")
        async_call(kill_other_instance_on_start)
    else:
        logger.info("当前允许多个实例同时运行~")

    init_pool(cfg.get_pool_size())

    change_title(multiprocessing_pool_size=cfg.get_pool_size(),
                 enable_super_fast_mode=cfg.common.enable_super_fast_mode)

    show_multiprocessing_info(cfg)

    account_names = []
    for account_cfg in cfg.account_configs:
        account_names.append(account_cfg.name)

    logger.info(f"当前共配置{len(account_names)}个账号,具体如下:{account_names}")

    clean_dir_to_size(log_directory, cfg.common.max_logs_size * MiB,
                      cfg.common.keep_logs_size * MiB)
    clean_dir_to_size(f"utils/{log_directory}", cfg.common.max_logs_size * MiB,
                      cfg.common.keep_logs_size * MiB)

    check_all_skey_and_pskey(cfg)

    check_djc_role_binding()

    # 确保道聚城绑定OK后在活动运行同时进行异步的弹窗提示
    check_first_run_async(cfg)

    # 挪到所有账号都登陆后再尝试自动更新,从而能够判定是否已购买DLC
    try_auto_update(cfg)

    # 检查是否有更新,用于提示未购买自动更新的朋友去手动更新~
    if cfg.common.check_update_on_start:
        check_update(cfg)

    show_accounts_status(cfg, "启动时展示账号概览")

    # 预先尝试创建和加入固定队伍,从而每周第一次操作的心悦任务也能加到队伍积分中
    try_join_xinyue_team(cfg)

    # 正式进行流程
    run(cfg)

    # 尝试领取心悦组队奖励
    try_take_xinyue_team_award(cfg)

    # # 尝试派赛利亚出去打工
    # try_xinyue_sailiyam_start_work(cfg)

    # 活动开启关闭时调这个开关即可
    enable_card_lottery = True

    if enable_card_lottery:
        auto_send_cards(cfg)

    show_extra_infos(cfg)
    show_accounts_status(cfg, "运行完毕展示账号概览")

    if enable_card_lottery:
        show_lottery_status("卡片赠送完毕后展示各账号抽卡卡片以及各礼包剩余可领取信息",
                            cfg,
                            need_show_tips=True)

    show_pay_info(cfg)

    # 显示小助手的使用概览
    if cfg.common._show_usage:
        show_usage()

    # 运行结束展示下多进程信息
    show_multiprocessing_info(cfg)

    # 检查是否有更新,用于提示未购买自动更新的朋友去手动更新~
    if cfg.common.check_update_on_end:
        check_update(cfg)

    # 运行完毕备份配置到本机数据目录
    try_save_configs_to_user_data_dir()

    increase_counter(name="run/end", ga_type=ga.GA_REPORT_TYPE_PAGE_VIEW)
Пример #6
0
def main():
    args = parse_args()

    if args.wait_for_pid_exit != 0:
        logger.info(
            f"等待pid为{args.wait_for_pid_exit}的配置工具退出运行,从而确保可能有的自动更新能够正常进行,最大将等待{args.max_wait_time}秒"
        )

        wait_time = 0
        retry_time = 0.1
        while wait_time <= args.max_wait_time:
            if not psutil.pid_exists(args.wait_for_pid_exit):
                logger.info("配置工具已成功退出,将开始运行小助手~")
                break

            time.sleep(retry_time)
            wait_time += retry_time

    change_title()
    show_ask_message_box_only_once()

    print_update_message_on_first_run_new_version()

    if is_daily_first_run():
        logger.info("今日首次运行,尝试上报使用统计~")
        # 在每日首次使用的时候,上报一下(因为api限额只有3w次,尽可能减少调用)
        # 整体使用次数
        # increase_counter(this_version_global_usage_counter_name)
        # increase_counter(global_usage_counter_name)

        # 当前用户使用次数
        # increase_counter(this_version_my_usage_counter_name)
        increase_counter(my_usage_counter_name)
    else:
        logger.info("今日已运行过,不再尝试上报使用统计")

    # 最大化窗口
    logger.info("尝试最大化窗口,打包exe可能会运行的比较慢")

    if not args.no_max_console:
        maximize_console()

    logger.warning(
        f"开始运行DNF蚊子腿小助手,ver={now_version} {ver_time},powered by {author}")
    logger.warning(
        color("fg_bold_cyan") +
        "如果觉得我的小工具对你有所帮助,想要支持一下我的话,可以帮忙宣传一下或打开支持一下.png,扫码打赏哦~")

    # 读取配置信息
    load_config("config.toml", "config.toml.local")
    cfg = config()

    if len(cfg.account_configs) == 0:
        raise Exception("未找到有效的账号配置,请检查是否正确配置。ps:多账号版本配置与旧版本不匹配,请重新配置")

    init_pool(cfg.get_pool_size())

    change_title(multiprocessing_pool_size=cfg.get_pool_size())

    show_multiprocessing_info(cfg)

    account_names = []
    for account_cfg in cfg.account_configs:
        account_names.append(account_cfg.name)

    logger.info(f"当前共配置{len(account_names)}个账号,具体如下:{account_names}")

    clean_dir_to_size(log_directory, cfg.common.max_logs_size * MiB,
                      cfg.common.keep_logs_size * MiB)
    clean_dir_to_size(f"utils/{log_directory}", cfg.common.max_logs_size * MiB,
                      cfg.common.keep_logs_size * MiB)

    check_all_skey_and_pskey(cfg)

    check_djc_role_binding()

    # 挪到所有账号都登陆后再尝试自动更新,从而能够判定是否已购买DLC
    try_auto_update(cfg)

    show_accounts_status(cfg, "启动时展示账号概览")

    # 预先尝试创建和加入固定队伍,从而每周第一次操作的心悦任务也能加到队伍积分中
    try_join_xinyue_team(cfg)

    # 正式进行流程
    run(cfg)

    # 尝试领取心悦组队奖励
    try_take_xinyue_team_award(cfg)

    # # 尝试派赛利亚出去打工
    # try_xinyue_sailiyam_start_work(cfg)

    auto_send_cards(cfg)

    show_accounts_status(cfg, "运行完毕展示账号概览")

    show_lottery_status("卡片赠送完毕后展示各账号抽卡卡片以及各礼包剩余可领取信息",
                        cfg,
                        need_show_tips=True)

    # 临时代码
    temp_code(cfg)

    # 显示小助手的使用概览
    if cfg.common._show_usage:
        show_usage()

    # 全部账号操作完成后,检查更新
    check_update(cfg)

    # 运行结束展示下多进程信息
    show_multiprocessing_info(cfg)