副本编号 LY-20261007-AC63(水印指纹已嵌入) 含 README、.gitignore;排除 .DS_Store / __pycache__ / .pytest_cache
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
# -*- coding:utf-8 -*-
|
|
from __future__ import annotations
|
|
|
|
from typing import List, Union
|
|
|
|
from tyme4py import LoopTyme, AbstractCultureDay
|
|
|
|
|
|
class PlumRain(LoopTyme):
|
|
"""梅雨"""
|
|
NAMES: List[str] = ['入梅', '出梅']
|
|
"""名称"""
|
|
|
|
def __init__(self, index_or_name: Union[int, str]):
|
|
super().__init__(self.NAMES, index_or_name)
|
|
|
|
@classmethod
|
|
def from_name(cls, name: str) -> PlumRain:
|
|
return cls(name)
|
|
|
|
@classmethod
|
|
def from_index(cls, index: int) -> PlumRain:
|
|
return cls(index)
|
|
|
|
def next(self, n: int) -> PlumRain:
|
|
return PlumRain(self.next_index(n))
|
|
|
|
|
|
class PlumRainDay(AbstractCultureDay):
|
|
"""梅雨天"""
|
|
|
|
def __init__(self, plum_rain: PlumRain, day_index: int):
|
|
super().__init__(plum_rain, day_index)
|
|
|
|
def get_plum_rain(self) -> PlumRain:
|
|
"""
|
|
梅雨
|
|
:return: 梅雨
|
|
"""
|
|
return super().get_culture()
|
|
|
|
def __str__(self) -> str:
|
|
return super().__str__() if self.get_plum_rain().get_index() == 0 else self.get_plum_rain().get_name()
|