Holiday-predictor

Latest version: v1.0.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 11

0.8.0alpha.2

> [!WARNING]
> 此版本为 Alpha 版本,包含仍在开发中的新功能,可能不稳定。
> This release is Alpha and contains new features that are still in development and may be unstable.

**Overview:**

- 💬 将帮助信息中的“最后,五一放假五天”更为“时至今日,五一放假五天”。使用词更严谨、更准确

0.8.0alpha.1

> [!WARNING]
> 此版本为 Alpha 版本,包含仍在开发中的新功能,可能不稳定。
> This release is Alpha and contains new features that are still in development and may be unstable.

**Overview:**
- ♻️ 本次更新是对代码的一次重写。

**Technology Changes:**

- ♻️ 将除预测国庆假期以外的假期的预测算法全部重写,由多次的 if 更改为查表法。
> [!NOTE]
> 下面是一段修改前后的代码对比:
>
> 修改前:
> (main.py)
>
> elif holiday_name in ("--may-day", "-md"): 该部分用于处理五一假期的调休预测。
> if not '--do-not-output-notes' in given_list:
> print(Data.may_day_note)
> may_day_date: datetime.datetime = datetime.datetime(year=forecast_year, month=5, day=1)
> may_day_dateofweek: int = may_day_date.weekday()
> 下述代码对五一假期的调休进行运算。
> if may_day_dateofweek == 0:
> 调休
> hld_days = 5
> hld_startdate = may_day_date - datetime.timedelta(days=2)
> hld_enddate = may_day_date + datetime.timedelta(days=2)
> lieu_1 = may_day_date - datetime.timedelta(days=8)
> lieu_2 = may_day_date + datetime.timedelta(days=5)
> elif may_day_dateofweek == 1:
> 调休
> hld_days = 5
> hld_startdate = may_day_date - datetime.timedelta(days=3)
> hld_enddate = may_day_date + datetime.timedelta(days=1)
> lieu_1 = may_day_date - datetime.timedelta(days=9)
> lieu_2 = may_day_date + datetime.timedelta(days=4)
> elif may_day_dateofweek == 2:
> 不调休
> hld_days = 5
> hld_startdate = may_day_date
> hld_enddate = may_day_date + datetime.timedelta(days=4)
> lieu_1 = may_day_date - datetime.timedelta(days=3)
> lieu_2 = may_day_date + datetime.timedelta(days=10)
> elif may_day_dateofweek == 3:
> 调休
> hld_days = 5
> hld_startdate = may_day_date
> hld_enddate = may_day_date + datetime.timedelta(days=4)
> lieu_1 = may_day_date - datetime.timedelta(days=4)
> lieu_1 = may_day_date + datetime.timedelta(days=9)
> elif may_day_dateofweek == 4:
> 调休
> hld_days = 5
> hld_startdate = may_day_date
> hld_enddate = may_day_date + datetime.timedelta(days=4)
> lieu_1 = may_day_date - datetime.timedelta(days=5)
> lieu_1 = may_day_date + datetime.timedelta(days=8)
> elif may_day_dateofweek == 5:
> 调休
> hld_days = 5
> hld_startdate = may_day_date
> hld_enddate = may_day_date + datetime.timedelta(days=4)
> lieu_1 = may_day_date - datetime.timedelta(days=6)
> lieu_1 = may_day_date + datetime.timedelta(days=7)
> elif may_day_dateofweek == 6:
> 调休
> hld_days = 3
> hld_startdate = may_day_date - datetime.timedelta(days=1)
> hld_enddate = may_day_date + datetime.timedelta(days=3)
> lieu_1 = may_day_date - datetime.timedelta(days=7)
> lieu_1 = may_day_date + datetime.timedelta(days=6)
> else:
> raise AssertionError
>
>
> 修改后:
> (main.py)
>
> elif holiday_name in ("--may-day", "-md"): 该部分用于处理五一假期的调休预测。
> if not '--do-not-output-notes' in given_list:
> print(Data.may_day_note)
> may_day_date: datetime.datetime = datetime.datetime(year=forecast_year, month=5, day=1)
> may_day_dateofweek: int = may_day_date.weekday()
> 下述代码对五一假期的调休进行运算。
> hld_days = Data.may_day_days[may_day_dateofweek]
> hld_startdate = \
> may_day_date + datetime.timedelta(
> Data.may_day_start_delta_day[may_day_dateofweek])
> hld_enddate = \
> may_day_date + datetime.timedelta(Data.may_day_end_delta_day[may_day_dateofweek])
> lieu_1 = \
> may_day_date + datetime.timedelta(
> Data.may_day_lieu1_delta_day[may_day_dateofweek])
> lieu_2 = \
> may_day_date + datetime.timedelta(
> Data.may_day_lieu2_delta_day[may_day_dateofweek])
>
> (data.py)
>
> 以下这五行存储的是五一假期的放假安排,这些数据代表与节日当天差的天数
> may_day_days = [ 5, 5, 5, 5, 5, 5, 5]
> may_day_start_delta_day = [-2, -3, 0, 0, 0, 0, -1]
> may_day_end_delta_day = [ 2, 1, 4, 4, 4, 4, 3]
> may_day_lieu1_delta_day = [-8, -9, -3, -4, -5, -6, -7]
> may_day_lieu2_delta_day = [ 5, 4, 10, 9, 8, 7, 6]
>
>
> 修改后的代码,简洁明了许多。

0.7.2

**Overview:**

- 删除了未使用的模块。

0.7.1

**Overview:**

- 合并了11 , 添加了让程序不要输出**Notes**的选项,并完善了帮助信息。

**New Features:**

- 加入了`--do-not-output-notes`选项,使程序不要输出Notes.

> [!NOTE]
> 示例:
>
> fc 2024 --may-day --do-not-output-notes
>
> 以上命令运行结果:
>
> 假期由 2024-05-01 00:00:00 起,直到 2024-05-05 00:00:00,共5天。调休时间为 2024-04-28 和 2024-05-11。
>
> ***
> 而未加此参数时:
>
> fc 2024 --may-day --do-not-output-notes
>
> 以上命令运行结果:
>
> NOTE: 五一的放假方式经历过两次修改。
> 最早,五一放假七天;后来,五一放假三天;最后,五一放假五天。
> 在本程序中,统一以放假五天为准。
> 因此,在预测以前的五一假期时,本程序给出的结果并不准确。
>
> 假期由 2024-05-01 00:00:00 起,直到 2024-05-05 00:00:00,共5天。调休时间为 2024-04-28 和 2024-05-11。
>

**Changes:**

- 在帮助信息中添加了预测五一假期的相关内容;
- 在帮助信息中添加了关于`--do-not-output-notes`参数的相关内容;
- 将帮助信息中的第一参数(需要预测的假期)按照时间顺序重新排列。

**Bug Fix:**

- 修正了帮助信息中的一处句号缺失;
- 修正了帮助信息中错误地将一处”中秋“写作”端午“。

0.7.1alpha.2

> [!WARNING]
> 此版本为 Alpha 版本,包含仍在开发中的新功能,可能不稳定。
> This release is Alpha and contains new features that are still in development and may be unstable.

**Overview:**

- 完善了帮助信息。

**Changes:**

- 在帮助信息中添加了预测五一假期的相关内容;
- 在帮助信息中添加了关于`--do-not-output-notes`参数的相关内容;
- 将帮助信息中的第一参数(需要预测的假期)按照时间顺序重新排列。

**Bug Fix:**

- 修正了帮助信息中的一处句号缺失;
- 修正了帮助信息中错误地将一处”中秋“写作”端午“。

0.7.1alpha.1

> [!WARNING]
> 此版本为 Alpha 版本,包含仍在开发中的新功能,可能不稳定。
> This release is Alpha and contains new features that are still in development and may be unstable.

**Overview:**

- 添加了让程序不要输出**Notes**的选项。

**New Features:**

- 加入了`--do-not-output-notes`选项,使程序不要输出Notes.

> [!NOTE]
> 示例:
>
> fc 2024 --may-day --do-not-output-notes
>
> 以上命令运行结果:
>
> 假期由 2024-05-01 00:00:00 起,直到 2024-05-05 00:00:00,共5天。调休时间为 2024-04-28 和 2024-05-11。
>
> ***
> 而未加此参数时:
>
> fc 2024 --may-day --do-not-output-notes
>
> 以上命令运行结果:
>
> NOTE: 五一的放假方式经历过两次修改。
> 最早,五一放假七天;后来,五一放假三天;最后,五一放假五天。
> 在本程序中,统一以放假五天为准。
> 因此,在预测以前的五一假期时,本程序给出的结果并不准确。
>
> 假期由 2024-05-01 00:00:00 起,直到 2024-05-05 00:00:00,共5天。调休时间为 2024-04-28 和 2024-05-11。
>

Page 6 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.