mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-22 11:51:28 +08:00
Issue 88: Stub for calendar module
This commit is contained in:
87
stdlib/2.7/calendar.pyi
Normal file
87
stdlib/2.7/calendar.pyi
Normal file
@@ -0,0 +1,87 @@
|
||||
from typing import Any, Iterable, Optional, Tuple
|
||||
import datetime
|
||||
|
||||
YearType = int
|
||||
MonthType = int
|
||||
DayType = int
|
||||
WeekdayType = int
|
||||
|
||||
LocaleType = Tuple[Optional[str], Optional[str]]
|
||||
|
||||
_colwidth = ... # type: int
|
||||
_spacing = ... # type: int
|
||||
|
||||
# TODO mypy complains about missing True/False
|
||||
True = ... # type: bool
|
||||
False = ... # type: bool
|
||||
|
||||
class IllegalMonthError(ValueError):
|
||||
def __init__(self, month: MonthType) -> None: ...
|
||||
def __str__(self) -> str: ...
|
||||
|
||||
class IllegalWeekdayError(ValueError):
|
||||
def __init__(self, weekday: WeekdayType) -> None: ...
|
||||
def __str__(self) -> str: ...
|
||||
|
||||
def isleap(year: YearType) -> bool: ...
|
||||
def leapdays(y1: YearType, y2: YearType) -> int: ...
|
||||
def weekday(year: YearType, month: MonthType, day: DayType) -> WeekdayType: ...
|
||||
def monthrange(year: YearType, month: MonthType) -> Tuple[WeekdayType, int]: ...
|
||||
|
||||
class Calendar(object):
|
||||
def __init__(self, firstweekday: WeekdayType=0) -> None: ...
|
||||
def getfirstweekday(self) -> WeekdayType: ...
|
||||
def setfirstweekday(self, firstweekday: WeekdayType) -> None: ...
|
||||
def iterweekdays(self) -> Iterable[WeekdayType]: ...
|
||||
def itermonthdates(self, year: YearType, month: MonthType) -> Iterable[datetime.date]: ...
|
||||
def itermonthdays2(self, year: YearType, month: MonthType) -> Iterable[Tuple[DayType, WeekdayType]]: ...
|
||||
def itermonthdays(self, year: YearType, month: MonthType) -> Iterable[DayType]: ...
|
||||
def monthdatescalendar(self, year: YearType, month: MonthType) -> List[List[datetime.date]]: ...
|
||||
def monthdays2calendar(self, year: YearType, month: MonthType) -> List[List[Tuple[DayType, WeekdayType]]]: ...
|
||||
def monthdayscalendar(self, year: YearType, month: MonthType) -> List[List[DayType]]: ...
|
||||
def yeardatescalendar(self, year: YearType, width: int=3) -> List[List[DayType]]: ...
|
||||
def yeardays2calendar(self, year: YearType, width: int=3) -> List[List[Tuple[DayType, WeekdayType]]]: ...
|
||||
def yeardayscalendar(self, year: YearType, width: int=3) -> List[List[DayType]]: ...
|
||||
|
||||
class TextCalendar(Calendar):
|
||||
def prweek(self, theweek: int, width: int) -> None: ...
|
||||
def formatday(self, day: DayType, weekday: WeekdayType, width: int) -> str: ...
|
||||
def formatweek(self, theweek: int, width: int) -> str: ...
|
||||
def formatweekday(self, day: DayType, width: int) -> str: ...
|
||||
def formatweekheader(self, width: int) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool=True) -> str: ...
|
||||
def prmonth(self, theyear: YearType, themonth: MonthType, w: Any=0, l: Any=0) -> None: ...
|
||||
def formatmonth(self, theyear: YearType, themonth: MonthType, w: int=0, l: int=0) -> str: ...
|
||||
def formatyear(self, theyear: YearType, w: int=2, l: int=1, c: int=6, m: int=3) -> str: ...
|
||||
def pryear(self, theyear: YearType, w: Any=0, l: Any=0, c: Any=6, m: Any=3) -> None: ...
|
||||
|
||||
class HTMLCalendar(Calendar):
|
||||
def formatday(self, day: DayType, weekday: WeekdayType) -> str: ...
|
||||
def formatweek(self, theweek: int) -> str: ...
|
||||
def formatweekday(self, day: DayType) -> str: ...
|
||||
def formatweekheader(self) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
def formatmonth(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
def formatyear(self, theyear: YearType, width: int=3) -> str: ...
|
||||
def formatyearpage(self, theyear: YearType, width: int=3, css: Optional[str]='calendar.css', encoding: Optional[str]=None) -> str: ...
|
||||
|
||||
class TimeEncoding:
|
||||
def __init__(self, locale: LocaleType) -> None: ...
|
||||
def __enter__(self) -> LocaleType: ...
|
||||
def __exit__(self, *args) -> None: ...
|
||||
|
||||
class LocaleTextCalendar(TextCalendar):
|
||||
def __init__(self, firstweekday: WeekdayType=0, locale: LocaleType=None) -> None: ...
|
||||
def formatweekday(self, day: DayType, width: int) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool=True) -> str: ...
|
||||
|
||||
class LocaleHTMLCalendar(HTMLCalendar):
|
||||
def __init__(self, firstweekday: WeekdayType=0, locale: LocaleType=None) -> None: ...
|
||||
def formatweekday(self, day: DayType) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
|
||||
c = ... # type: TextCalendar
|
||||
def setfirstweekday(firstweekday: WeekdayType) -> None: ...
|
||||
def format(cols: int, colwidth: int=_colwidth, spacing: int=_spacing) -> str: ...
|
||||
def formatstring(cols: int, colwidth: int=_colwidth, spacing: int=_spacing) -> str: ...
|
||||
def timegm(tuple: Tuple[int]) -> int: ...
|
||||
@@ -1,15 +1,87 @@
|
||||
# Stubs for calendar
|
||||
from typing import Any, Iterable, Optional, Tuple
|
||||
import datetime
|
||||
|
||||
# NOTE: These are incomplete!
|
||||
YearType = int
|
||||
MonthType = int
|
||||
DayType = int
|
||||
WeekdayType = int
|
||||
|
||||
from typing import overload, Tuple
|
||||
LocaleType = Tuple[Optional[str], Optional[str]]
|
||||
|
||||
# TODO actually, any number of items larger than 5 is fine
|
||||
@overload
|
||||
def timegm(t: Tuple[int, int, int, int, int, int]) -> int: ...
|
||||
@overload
|
||||
def timegm(t: Tuple[int, int, int, int, int, int, int]) -> int: ...
|
||||
@overload
|
||||
def timegm(t: Tuple[int, int, int, int, int, int, int, int]) -> int: ...
|
||||
@overload
|
||||
def timegm(t: Tuple[int, int, int, int, int, int, int, int, int]) -> int: ...
|
||||
_colwidth = ... # type: int
|
||||
_spacing = ... # type: int
|
||||
|
||||
# TODO mypy complains about missing True/False
|
||||
True = ... # type: bool
|
||||
False = ... # type: bool
|
||||
|
||||
class IllegalMonthError(ValueError):
|
||||
def __init__(self, month: MonthType) -> None: ...
|
||||
def __str__(self) -> str: ...
|
||||
|
||||
class IllegalWeekdayError(ValueError):
|
||||
def __init__(self, weekday: WeekdayType) -> None: ...
|
||||
def __str__(self) -> str: ...
|
||||
|
||||
def isleap(year: YearType) -> bool: ...
|
||||
def leapdays(y1: YearType, y2: YearType) -> int: ...
|
||||
def weekday(year: YearType, month: MonthType, day: DayType) -> WeekdayType: ...
|
||||
def monthrange(year: YearType, month: MonthType) -> Tuple[WeekdayType, int]: ...
|
||||
|
||||
class Calendar(object):
|
||||
def __init__(self, firstweekday: WeekdayType=0) -> None: ...
|
||||
def getfirstweekday(self) -> WeekdayType: ...
|
||||
def setfirstweekday(self, firstweekday: WeekdayType) -> None: ...
|
||||
def iterweekdays(self) -> Iterable[WeekdayType]: ...
|
||||
def itermonthdates(self, year: YearType, month: MonthType) -> Iterable[datetime.date]: ...
|
||||
def itermonthdays2(self, year: YearType, month: MonthType) -> Iterable[Tuple[DayType, WeekdayType]]: ...
|
||||
def itermonthdays(self, year: YearType, month: MonthType) -> Iterable[DayType]: ...
|
||||
def monthdatescalendar(self, year: YearType, month: MonthType) -> List[List[datetime.date]]: ...
|
||||
def monthdays2calendar(self, year: YearType, month: MonthType) -> List[List[Tuple[DayType, WeekdayType]]]: ...
|
||||
def monthdayscalendar(self, year: YearType, month: MonthType) -> List[List[DayType]]: ...
|
||||
def yeardatescalendar(self, year: YearType, width: int=3) -> List[List[DayType]]: ...
|
||||
def yeardays2calendar(self, year: YearType, width: int=3) -> List[List[Tuple[DayType, WeekdayType]]]: ...
|
||||
def yeardayscalendar(self, year: YearType, width: int=3) -> List[List[DayType]]: ...
|
||||
|
||||
class TextCalendar(Calendar):
|
||||
def prweek(self, theweek: int, width: int) -> None: ...
|
||||
def formatday(self, day: DayType, weekday: WeekdayType, width: int) -> str: ...
|
||||
def formatweek(self, theweek: int, width: int) -> str: ...
|
||||
def formatweekday(self, day: DayType, width: int) -> str: ...
|
||||
def formatweekheader(self, width: int) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool=True) -> str: ...
|
||||
def prmonth(self, theyear: YearType, themonth: MonthType, w: Any=0, l: Any=0) -> None: ...
|
||||
def formatmonth(self, theyear: YearType, themonth: MonthType, w: int=0, l: int=0) -> str: ...
|
||||
def formatyear(self, theyear: YearType, w: int=2, l: int=1, c: int=6, m: int=3) -> str: ...
|
||||
def pryear(self, theyear: YearType, w: Any=0, l: Any=0, c: Any=6, m: Any=3) -> None: ...
|
||||
|
||||
class HTMLCalendar(Calendar):
|
||||
def formatday(self, day: DayType, weekday: WeekdayType) -> str: ...
|
||||
def formatweek(self, theweek: int) -> str: ...
|
||||
def formatweekday(self, day: DayType) -> str: ...
|
||||
def formatweekheader(self) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
def formatmonth(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
def formatyear(self, theyear: YearType, width: int=3) -> str: ...
|
||||
def formatyearpage(self, theyear: YearType, width: int=3, css: Optional[str]='calendar.css', encoding: Optional[str]=None) -> str: ...
|
||||
|
||||
class different_locale:
|
||||
def __init__(self, locale: LocaleType) -> None: ...
|
||||
def __enter__(self) -> LocaleType: ...
|
||||
def __exit__(self, *args) -> None: ...
|
||||
|
||||
class LocaleTextCalendar(TextCalendar):
|
||||
def __init__(self, firstweekday: WeekdayType=0, locale: LocaleType=None) -> None: ...
|
||||
def formatweekday(self, day: DayType, width: int) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, width: int, withyear: bool=True) -> str: ...
|
||||
|
||||
class LocaleHTMLCalendar(HTMLCalendar):
|
||||
def __init__(self, firstweekday: WeekdayType=0, locale: LocaleType=None) -> None: ...
|
||||
def formatweekday(self, day: DayType) -> str: ...
|
||||
def formatmonthname(self, theyear: YearType, themonth: MonthType, withyear: bool=True) -> str: ...
|
||||
|
||||
c = ... # type: TextCalendar
|
||||
def setfirstweekday(firstweekday: WeekdayType) -> None: ...
|
||||
def format(cols: int, colwidth: int=_colwidth, spacing: int=_spacing) -> str: ...
|
||||
def formatstring(cols: int, colwidth: int=_colwidth, spacing: int=_spacing) -> str: ...
|
||||
def timegm(tuple: Tuple[int]) -> int: ...
|
||||
|
||||
Reference in New Issue
Block a user