You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			192 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			192 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Python
		
	
import datetime
 | 
						|
from _typeshed import Incomplete
 | 
						|
from collections.abc import Generator, Iterable, Iterator, Sequence
 | 
						|
from typing import Final, Literal
 | 
						|
from typing_extensions import Self, TypeAlias
 | 
						|
 | 
						|
from ._common import weekday as weekdaybase
 | 
						|
 | 
						|
__all__ = [
 | 
						|
    "rrule",
 | 
						|
    "rruleset",
 | 
						|
    "rrulestr",
 | 
						|
    "YEARLY",
 | 
						|
    "MONTHLY",
 | 
						|
    "WEEKLY",
 | 
						|
    "DAILY",
 | 
						|
    "HOURLY",
 | 
						|
    "MINUTELY",
 | 
						|
    "SECONDLY",
 | 
						|
    "MO",
 | 
						|
    "TU",
 | 
						|
    "WE",
 | 
						|
    "TH",
 | 
						|
    "FR",
 | 
						|
    "SA",
 | 
						|
    "SU",
 | 
						|
]
 | 
						|
 | 
						|
M366MASK: Final[tuple[int, ...]]
 | 
						|
MDAY366MASK: Final[tuple[int, ...]]
 | 
						|
MDAY365MASK: Final[tuple[int, ...]]
 | 
						|
NMDAY366MASK: Final[tuple[int, ...]]
 | 
						|
NMDAY365MASK: Final[list[int]]
 | 
						|
M366RANGE: Final[tuple[int, ...]]
 | 
						|
M365RANGE: Final[tuple[int, ...]]
 | 
						|
WDAYMASK: Final[list[int]]
 | 
						|
M365MASK: Final[tuple[int, ...]]
 | 
						|
FREQNAMES: Final[list[str]]
 | 
						|
YEARLY: Final = 0
 | 
						|
MONTHLY: Final = 1
 | 
						|
WEEKLY: Final = 2
 | 
						|
DAILY: Final = 3
 | 
						|
HOURLY: Final = 4
 | 
						|
MINUTELY: Final = 5
 | 
						|
SECONDLY: Final = 6
 | 
						|
 | 
						|
class weekday(weekdaybase): ...
 | 
						|
 | 
						|
weekdays: tuple[weekday, weekday, weekday, weekday, weekday, weekday, weekday]
 | 
						|
MO: weekday
 | 
						|
TU: weekday
 | 
						|
WE: weekday
 | 
						|
TH: weekday
 | 
						|
FR: weekday
 | 
						|
SA: weekday
 | 
						|
SU: weekday
 | 
						|
 | 
						|
class rrulebase:
 | 
						|
    def __init__(self, cache: bool | None = False) -> None: ...
 | 
						|
    def __iter__(self) -> Iterator[datetime.datetime]: ...
 | 
						|
    def __getitem__(self, item): ...
 | 
						|
    def __contains__(self, item) -> bool: ...
 | 
						|
    def count(self) -> int | None: ...
 | 
						|
    def before(self, dt, inc: bool = False): ...
 | 
						|
    def after(self, dt, inc: bool = False): ...
 | 
						|
    def xafter(self, dt, count=None, inc: bool = False) -> Generator[Incomplete]: ...
 | 
						|
    def between(self, after, before, inc: bool = False, count: int = 1) -> list[Incomplete]: ...
 | 
						|
 | 
						|
class rrule(rrulebase):
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        freq: Literal[0, 1, 2, 3, 4, 5, 6],
 | 
						|
        dtstart: datetime.date | None = None,
 | 
						|
        interval: int = 1,
 | 
						|
        wkst: weekday | int | None = None,
 | 
						|
        count: int | None = None,
 | 
						|
        until: datetime.date | int | None = None,
 | 
						|
        bysetpos: int | Iterable[int] | None = None,
 | 
						|
        bymonth: int | Iterable[int] | None = None,
 | 
						|
        bymonthday: int | Iterable[int] | None = None,
 | 
						|
        byyearday: int | Iterable[int] | None = None,
 | 
						|
        byeaster: int | Iterable[int] | None = None,
 | 
						|
        byweekno: int | Iterable[int] | None = None,
 | 
						|
        byweekday: int | weekday | Iterable[int] | Iterable[weekday] | None = None,
 | 
						|
        byhour: int | Iterable[int] | None = None,
 | 
						|
        byminute: int | Iterable[int] | None = None,
 | 
						|
        bysecond: int | Iterable[int] | None = None,
 | 
						|
        cache: bool | None = False,
 | 
						|
    ) -> None: ...
 | 
						|
    def replace(
 | 
						|
        self,
 | 
						|
        *,
 | 
						|
        freq: Literal[0, 1, 2, 3, 4, 5, 6] = ...,
 | 
						|
        dtstart: datetime.date | None = ...,
 | 
						|
        interval: int = ...,
 | 
						|
        wkst: weekday | int | None = ...,
 | 
						|
        count: int | None = ...,
 | 
						|
        until: datetime.date | int | None = ...,
 | 
						|
        bysetpos: int | Iterable[int] | None = None,
 | 
						|
        bymonth: int | Iterable[int] | None = None,
 | 
						|
        bymonthday: int | Iterable[int] | None = None,
 | 
						|
        byyearday: int | Iterable[int] | None = None,
 | 
						|
        byeaster: int | Iterable[int] | None = None,
 | 
						|
        byweekno: int | Iterable[int] | None = None,
 | 
						|
        byweekday: int | weekday | Iterable[int] | Iterable[weekday] | None = None,
 | 
						|
        byhour: int | Iterable[int] | None = None,
 | 
						|
        byminute: int | Iterable[int] | None = None,
 | 
						|
        bysecond: int | Iterable[int] | None = None,
 | 
						|
        cache: bool | None = ...,
 | 
						|
    ) -> Self: ...
 | 
						|
 | 
						|
_RRule: TypeAlias = rrule
 | 
						|
 | 
						|
class _iterinfo:
 | 
						|
    __slots__ = [
 | 
						|
        "rrule",
 | 
						|
        "lastyear",
 | 
						|
        "lastmonth",
 | 
						|
        "yearlen",
 | 
						|
        "nextyearlen",
 | 
						|
        "yearordinal",
 | 
						|
        "yearweekday",
 | 
						|
        "mmask",
 | 
						|
        "mrange",
 | 
						|
        "mdaymask",
 | 
						|
        "nmdaymask",
 | 
						|
        "wdaymask",
 | 
						|
        "wnomask",
 | 
						|
        "nwdaymask",
 | 
						|
        "eastermask",
 | 
						|
    ]
 | 
						|
    rrule: _RRule
 | 
						|
    def __init__(self, rrule: _RRule) -> None: ...
 | 
						|
    yearlen: int | None
 | 
						|
    nextyearlen: int | None
 | 
						|
    yearordinal: int | None
 | 
						|
    yearweekday: int | None
 | 
						|
    mmask: Sequence[int] | None
 | 
						|
    mdaymask: Sequence[int] | None
 | 
						|
    nmdaymask: Sequence[int] | None
 | 
						|
    wdaymask: Sequence[int] | None
 | 
						|
    mrange: Sequence[int] | None
 | 
						|
    wnomask: Sequence[int] | None
 | 
						|
    nwdaymask: Sequence[int] | None
 | 
						|
    eastermask: Sequence[int] | None
 | 
						|
    lastyear: int | None
 | 
						|
    lastmonth: int | None
 | 
						|
    def rebuild(self, year: int, month: int) -> None: ...
 | 
						|
    def ydayset(self, year: int, month: int, day: int) -> tuple[Iterable[int | None], int, int]: ...
 | 
						|
    def mdayset(self, year: int, month: int, day: int) -> tuple[Iterable[int | None], int, int]: ...
 | 
						|
    def wdayset(self, year: int, month: int, day: int) -> tuple[Iterable[int | None], int, int]: ...
 | 
						|
    def ddayset(self, year: int, month: int, day: int) -> tuple[Iterable[int | None], int, int]: ...
 | 
						|
    def htimeset(self, hour: int, minute: int, second: int) -> list[datetime.time]: ...
 | 
						|
    def mtimeset(self, hour: int, minute: int, second: int) -> list[datetime.time]: ...
 | 
						|
    def stimeset(self, hour: int, minute: int, second: int) -> tuple[datetime.time, ...]: ...
 | 
						|
 | 
						|
class rruleset(rrulebase):
 | 
						|
    class _genitem:
 | 
						|
        dt: Incomplete
 | 
						|
        genlist: list[Incomplete]
 | 
						|
        gen: Incomplete
 | 
						|
        def __init__(self, genlist, gen) -> None: ...
 | 
						|
        def __next__(self) -> None: ...
 | 
						|
        next = __next__
 | 
						|
        def __lt__(self, other) -> bool: ...
 | 
						|
        def __gt__(self, other) -> bool: ...
 | 
						|
        def __eq__(self, other) -> bool: ...
 | 
						|
        def __ne__(self, other) -> bool: ...
 | 
						|
 | 
						|
    def __init__(self, cache: bool | None = False) -> None: ...
 | 
						|
    def rrule(self, rrule: _RRule) -> None: ...
 | 
						|
    def rdate(self, rdate) -> None: ...
 | 
						|
    def exrule(self, exrule) -> None: ...
 | 
						|
    def exdate(self, exdate) -> None: ...
 | 
						|
 | 
						|
class _rrulestr:
 | 
						|
    def __call__(
 | 
						|
        self,
 | 
						|
        s: str,
 | 
						|
        *,
 | 
						|
        dtstart: datetime.date | None = None,
 | 
						|
        cache: bool | None = False,
 | 
						|
        unfold: bool = False,
 | 
						|
        forceset: bool = False,
 | 
						|
        compatible: bool = False,
 | 
						|
        ignoretz: bool = False,
 | 
						|
        tzids=None,
 | 
						|
        tzinfos=None,
 | 
						|
    ) -> rrule | rruleset: ...
 | 
						|
 | 
						|
rrulestr: _rrulestr
 |