Skip to content

Commit e922682

Browse files
authored
openpyxl: Reduce false-positives in Worksheet.__getitem__ (#11717)
1 parent 4157cb6 commit e922682

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

stubs/openpyxl/openpyxl/worksheet/worksheet.pyi

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,15 @@ class Worksheet(_WorkbookChild):
8787
@freeze_panes.setter
8888
def freeze_panes(self, topLeftCell: str | Cell | None = ...) -> None: ...
8989
def cell(self, row: int, column: int, value: str | None = None) -> Cell: ...
90+
# An int is necessarily a row selection
9091
@overload
91-
def __getitem__(self, key: int | slice) -> tuple[Cell, ...]: ...
92+
def __getitem__(self, key: int) -> tuple[Cell, ...]: ...
93+
# A slice is necessarily a row or rows, even if targetting a single cell
9294
@overload
93-
def __getitem__(self, key: str) -> Any: ... # AnyOf[Cell, tuple[Cell, ...]]
95+
def __getitem__(self, key: slice) -> tuple[Any, ...]: ... # tuple[AnyOf[Cell, tuple[Cell, ...]]]
96+
# A str could be an individual cell, row, column or full range
97+
@overload
98+
def __getitem__(self, key: str) -> Any: ... # AnyOf[Cell, tuple[Cell, ...], tuple[tuple[Cell, ...], ...]]
9499
def __setitem__(self, key: str, value: str) -> None: ...
95100
def __iter__(self) -> Iterator[tuple[Cell, ...]]: ...
96101
def __delitem__(self, key: str) -> None: ...

0 commit comments

Comments
 (0)