From 1dda4ac10543c1a80a972e8a40a5d6e7dcf4dd08 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Tue, 23 May 2017 12:47:24 -0700 Subject: [PATCH] merge python 2 and 3 stubs for calendar (#1310) These are pretty much the same in the stdlib, except that TimeEncoding got renamed to different_locale. --- stdlib/2/calendar.pyi | 92 -------------------------------- stdlib/{3 => 2and3}/calendar.pyi | 16 ++++-- 2 files changed, 11 insertions(+), 97 deletions(-) delete mode 100644 stdlib/2/calendar.pyi rename stdlib/{3 => 2and3}/calendar.pyi (91%) diff --git a/stdlib/2/calendar.pyi b/stdlib/2/calendar.pyi deleted file mode 100644 index 6f1fd4580..000000000 --- a/stdlib/2/calendar.pyi +++ /dev/null @@ -1,92 +0,0 @@ -from typing import Any, Iterable, List, Optional, Tuple, Sequence -import datetime - -LocaleType = Tuple[Optional[str], Optional[str]] - -class IllegalMonthError(ValueError): - def __init__(self, month: int) -> None: ... - def __str__(self) -> str: ... - -class IllegalWeekdayError(ValueError): - def __init__(self, weekday: int) -> None: ... - def __str__(self) -> str: ... - -def isleap(year: int) -> bool: ... -def leapdays(y1: int, y2: int) -> int: ... -def weekday(year: int, month: int, day: int) -> int: ... -def monthrange(year: int, month: int) -> Tuple[int, int]: ... - -class Calendar(object): - def __init__(self, firstweekday: int = 0) -> None: ... - def getfirstweekday(self) -> int: ... - def setfirstweekday(self, firstweekday: int) -> None: ... - def iterweekdays(self) -> Iterable[int]: ... - def itermonthdates(self, year: int, month: int) -> Iterable[datetime.date]: ... - def itermonthdays2(self, year: int, month: int) -> Iterable[Tuple[int, int]]: ... - def itermonthdays(self, year: int, month: int) -> Iterable[int]: ... - def monthdatescalendar(self, year: int, month: int) -> List[List[datetime.date]]: ... - def monthdays2calendar(self, year: int, month: int) -> List[List[Tuple[int, int]]]: ... - def monthdayscalendar(self, year: int, month: int) -> List[List[int]]: ... - def yeardatescalendar(self, year: int, width: int = 3) -> List[List[int]]: ... - def yeardays2calendar(self, year: int, width: int = 3) -> List[List[Tuple[int, int]]]: ... - def yeardayscalendar(self, year: int, width: int = 3) -> List[List[int]]: ... - -class TextCalendar(Calendar): - def prweek(self, theweek: int, width: int) -> None: ... - def formatday(self, day: int, weekday: int, width: int) -> str: ... - def formatweek(self, theweek: int, width: int) -> str: ... - def formatweekday(self, day: int, width: int) -> str: ... - def formatweekheader(self, width: int) -> str: ... - def formatmonthname(self, theyear: int, themonth: int, width: int, withyear: bool = ...) -> str: ... - def prmonth(self, theyear: int, themonth: int, w: Any=0, l: Any = 0) -> None: ... - def formatmonth(self, theyear: int, themonth: int, w: int = 0, l: int = 0) -> str: ... - def formatyear(self, theyear: int, w: int = 2, l: int = 1, c: int = 6, m: int = 3) -> str: ... - def pryear(self, theyear: int, w: Any = 0, l: Any = 0, c: Any = 6, m: Any = 3) -> None: ... - -class HTMLCalendar(Calendar): - def formatday(self, day: int, weekday: int) -> str: ... - def formatweek(self, theweek: int) -> str: ... - def formatweekday(self, day: int) -> str: ... - def formatweekheader(self) -> str: ... - def formatmonthname(self, theyear: int, themonth: int, withyear: bool = ...) -> str: ... - def formatmonth(self, theyear: int, themonth: int, withyear: bool = ...) -> str: ... - def formatyear(self, theyear: int, width: int = 3) -> str: ... - def formatyearpage(self, theyear: int, width: int = 3, css: Optional[str] = ..., encoding: Optional[str] = ...) -> 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: int = 0, locale: Optional[LocaleType] = ...) -> None: ... - def formatweekday(self, day: int, width: int) -> str: ... - def formatmonthname(self, theyear: int, themonth: int, width: int, withyear: bool = ...) -> str: ... - -class LocaleHTMLCalendar(HTMLCalendar): - def __init__(self, firstweekday: int = 0, locale: Optional[LocaleType] = ...) -> None: ... - def formatweekday(self, day: int) -> str: ... - def formatmonthname(self, theyear: int, themonth: int, withyear: bool = ...) -> str: ... - -c = ... # type: TextCalendar -def setfirstweekday(firstweekday: int) -> None: ... -def format(cols: int, colwidth: int = ..., spacing: int = ...) -> str: ... -def formatstring(cols: int, colwidth: int = ..., spacing: int = ...) -> str: ... -def timegm(tuple: Tuple[int, ...]) -> int: ... - -# Data attributes -day_name = ... # type: Sequence[str] -day_abbr = ... # type: Sequence[str] -month_name = ... # type: Sequence[str] -month_abbr = ... # type: Sequence[str] - -# Below constants are not in docs or __all__, but enough people have used them -# they are now effectively public. - -MONDAY = ... # type: int -TUESDAY = ... # type: int -WEDNESDAY = ... # type: int -THURSDAY = ... # type: int -FRIDAY = ... # type: int -SATURDAY = ... # type: int -SUNDAY = ... # type: int diff --git a/stdlib/3/calendar.pyi b/stdlib/2and3/calendar.pyi similarity index 91% rename from stdlib/3/calendar.pyi rename to stdlib/2and3/calendar.pyi index eb6a0af4c..0857a466e 100644 --- a/stdlib/3/calendar.pyi +++ b/stdlib/2and3/calendar.pyi @@ -1,5 +1,5 @@ import datetime - +import sys from time import struct_time from typing import Any, Iterable, List, Optional, Sequence, Tuple, Union @@ -56,10 +56,16 @@ class HTMLCalendar(Calendar): def formatyear(self, theyear: int, width: int = ...) -> str: ... def formatyearpage(self, theyear: int, width: int = ..., css: Optional[str] = ..., encoding: Optional[str] = ...) -> str: ... -class different_locale: - def __init__(self, locale: LocaleType) -> None: ... - def __enter__(self) -> LocaleType: ... - def __exit__(self, *args) -> None: ... +if sys.version_info < (3, 0): + class TimeEncoding: + def __init__(self, locale: LocaleType) -> None: ... + def __enter__(self) -> LocaleType: ... + def __exit__(self, *args) -> None: ... +else: + 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: int = ..., locale: Optional[LocaleType] = ...) -> None: ...