Skip to content

Commit 82fd9e8

Browse files
authored
openpyxl: Simpler leftover changes from the microsoft/python-type-stubs merge (#11534)
1 parent 7c29ee3 commit 82fd9e8

File tree

7 files changed

+28
-20
lines changed

7 files changed

+28
-20
lines changed

stubs/openpyxl/openpyxl/cell/cell.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ class MergedCell(StyleableObject):
8484
data_type: str
8585
comment: Comment | None
8686
hyperlink: Hyperlink | None
87-
row: int
88-
column: int
87+
row: int | None
88+
column: int | None
8989
def __init__(self, worksheet: Worksheet, row: int | None = None, column: int | None = None) -> None: ...
9090
# Same as Cell.coordinate
9191
@property

stubs/openpyxl/openpyxl/reader/excel.pyi

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from typing import Final, Literal
32
from typing_extensions import TypeAlias
43
from zipfile import ZipFile
@@ -21,7 +20,7 @@ class ExcelReader:
2120
data_only: bool
2221
keep_links: bool
2322
rich_text: bool
24-
shared_strings: list[Incomplete]
23+
shared_strings: list[str]
2524
package: Manifest # defined after call to read_manifest()
2625
parser: WorkbookParser # defined after call to read_workbook()
2726
wb: Workbook # defined after call to read_workbook()

stubs/openpyxl/openpyxl/workbook/workbook.pyi

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ from zipfile import ZipFile
88
from openpyxl import _Decodable, _ZipFileFileProtocol
99
from openpyxl.chartsheet.chartsheet import Chartsheet
1010
from openpyxl.styles.named_styles import NamedStyle
11+
from openpyxl.utils.indexed_list import IndexedList
1112
from openpyxl.workbook.child import _WorkbookChild
13+
from openpyxl.worksheet._read_only import ReadOnlyWorksheet
1214
from openpyxl.worksheet._write_only import WriteOnlyWorksheet
1315
from openpyxl.worksheet.worksheet import Worksheet
1416

@@ -20,7 +22,7 @@ class Workbook:
2022
defined_names: Incomplete
2123
properties: Incomplete
2224
security: Incomplete
23-
shared_strings: Incomplete
25+
shared_strings: IndexedList[str]
2426
loaded_theme: Incomplete
2527
vba_archive: ZipFile | None
2628
is_template: bool
@@ -30,6 +32,9 @@ class Workbook:
3032
rels: Incomplete
3133
calculation: Incomplete
3234
views: Incomplete
35+
# Private, but useful as a reference of what "sheets" can be for other types
36+
# ExcelReader can add ReadOnlyWorksheet in read_only mode.
37+
_sheets: list[Worksheet | WriteOnlyWorksheet | Chartsheet | ReadOnlyWorksheet]
3338
def __init__(self, write_only: bool = False, iso_dates: bool = False) -> None: ...
3439
@property
3540
def epoch(self) -> datetime: ...

stubs/openpyxl/openpyxl/worksheet/_read_only.pyi

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from _typeshed import Incomplete
1+
from _typeshed import Incomplete, SupportsGetItem
22
from collections.abc import Generator
33

44
from openpyxl import _VisibilityType
@@ -23,7 +23,7 @@ class ReadOnlyWorksheet:
2323
parent: Incomplete
2424
title: str
2525
sheet_state: _VisibilityType
26-
def __init__(self, parent_workbook, title: str, worksheet_path, shared_strings) -> None: ...
26+
def __init__(self, parent_workbook, title: str, worksheet_path, shared_strings: SupportsGetItem[int, str]) -> None: ...
2727
def calculate_dimension(self, force: bool = False): ...
2828
def reset_dimensions(self) -> None: ...
2929
@property

stubs/openpyxl/openpyxl/worksheet/_reader.pyi

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
from _typeshed import Incomplete, SupportsGetItem, Unused
22
from collections.abc import Container, Generator
33
from datetime import datetime
4-
from typing import Final
4+
from typing import Any, Final
55
from xml.etree.ElementTree import _FileRead
66

7+
from openpyxl.cell.cell import Cell
78
from openpyxl.cell.rich_text import CellRichText
89
from openpyxl.descriptors.serialisable import _ChildSerialisableTreeElement, _SerialisableTreeElement
10+
from openpyxl.formula.translate import Translator
911
from openpyxl.utils.cell import _RangeBoundariesTuple
1012

1113
from ..xml._functions_overloads import _HasAttrib, _SupportsIterAndAttrib
@@ -50,9 +52,9 @@ class WorkSheetParser:
5052
min_col: Incomplete | None
5153
epoch: datetime
5254
source: _FileRead
53-
shared_strings: SupportsGetItem[int, Incomplete]
55+
shared_strings: SupportsGetItem[int, str]
5456
data_only: bool
55-
shared_formulae: dict[Incomplete, Incomplete]
57+
shared_formulae: dict[Incomplete, Translator]
5658
row_counter: int
5759
col_counter: int
5860
tables: TablePartList
@@ -74,7 +76,7 @@ class WorkSheetParser:
7476
def __init__(
7577
self,
7678
src: _FileRead,
77-
shared_strings: SupportsGetItem[int, Incomplete],
79+
shared_strings: SupportsGetItem[int, str],
7880
data_only: bool = False,
7981
epoch: datetime = ...,
8082
date_formats: Container[int] = ...,
@@ -83,10 +85,12 @@ class WorkSheetParser:
8385
) -> None: ...
8486
def parse(self) -> Generator[Incomplete, None, None]: ...
8587
def parse_dimensions(self) -> _RangeBoundariesTuple | None: ...
86-
def parse_cell(self, element) -> dict[str, Incomplete]: ...
88+
# AnyOf[time, date, datetime, timedelta, float, int, bool, str, ArrayFormula, DataTableFormula, Translator, Text, TextBlock, CellRichText, None]
89+
def parse_cell(self, element) -> dict[str, Any]: ...
8790
def parse_formula(self, element): ...
8891
def parse_column_dimensions(self, col: _HasAttrib) -> None: ...
89-
def parse_row(self, row: _SupportsIterAndAttrib) -> tuple[int, list[dict[str, Incomplete]]]: ...
92+
# Any: Same as parse_cell
93+
def parse_row(self, row: _SupportsIterAndAttrib) -> tuple[int, list[dict[str, Any]]]: ...
9094
def parse_formatting(self, element: _ChildSerialisableTreeElement) -> None: ...
9195
def parse_sheet_protection(self, element: _SerialisableTreeElement) -> None: ...
9296
def parse_extensions(self, element: _ChildSerialisableTreeElement) -> None: ...
@@ -100,14 +104,14 @@ class WorksheetReader:
100104
parser: WorkSheetParser
101105
tables: list[Incomplete]
102106
def __init__(
103-
self, ws, xml_source: _FileRead, shared_strings: SupportsGetItem[int, Incomplete], data_only: bool, rich_text: bool
107+
self, ws, xml_source: _FileRead, shared_strings: SupportsGetItem[int, str], data_only: bool, rich_text: bool
104108
) -> None: ...
105109
def bind_cells(self) -> None: ...
106110
def bind_formatting(self) -> None: ...
107111
def bind_tables(self) -> None: ...
108112
def bind_merged_cells(self) -> None: ...
109113
def bind_hyperlinks(self) -> None: ...
110-
def normalize_merged_cell_link(self, coord: str) -> Incomplete | None: ...
114+
def normalize_merged_cell_link(self, coord: str) -> Cell | None: ...
111115
def bind_col_dimensions(self) -> None: ...
112116
def bind_row_dimensions(self) -> None: ...
113117
def bind_properties(self) -> None: ...

stubs/openpyxl/openpyxl/worksheet/_writer.pyi

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class WorksheetWriter:
4646
def write_drawings(self) -> None: ...
4747
def write_legacy(self) -> None: ...
4848
def write_tables(self) -> None: ...
49-
def get_stream(self) -> Generator[Incomplete, Incomplete, None]: ...
49+
def get_stream(self) -> Generator[Incomplete | None, bool | None, None]: ...
5050
def write_tail(self) -> None: ...
5151
def write(self) -> None: ...
5252
def close(self) -> None: ...

stubs/openpyxl/openpyxl/worksheet/worksheet.pyi

+4-4
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ class Worksheet(_WorkbookChild):
131131
@overload
132132
def iter_rows(
133133
self, min_row: int | None, max_row: int | None, min_col: int | None, max_col: int | None, values_only: bool
134-
) -> Generator[tuple[Cell | str | float | datetime | None, ...], None, None]: ...
134+
) -> Generator[tuple[Cell, ...], None, None] | Generator[tuple[str | float | datetime | None, ...], None, None]: ...
135135
@overload
136136
def iter_rows(
137137
self,
@@ -141,7 +141,7 @@ class Worksheet(_WorkbookChild):
141141
max_col: int | None = None,
142142
*,
143143
values_only: bool,
144-
) -> Generator[tuple[Cell | str | float | datetime | None, ...], None, None]: ...
144+
) -> Generator[tuple[Cell, ...], None, None] | Generator[tuple[str | float | datetime | None, ...], None, None]: ...
145145
@property
146146
def rows(self) -> Generator[tuple[Cell, ...], None, None]: ...
147147
@property
@@ -172,7 +172,7 @@ class Worksheet(_WorkbookChild):
172172
@overload
173173
def iter_cols(
174174
self, min_col: int | None, max_col: int | None, min_row: int | None, max_row: int | None, values_only: bool
175-
) -> Generator[tuple[Cell | str | float | datetime | None, ...], None, None]: ...
175+
) -> Generator[tuple[Cell, ...], None, None] | Generator[tuple[str | float | datetime | None, ...], None, None]: ...
176176
@overload
177177
def iter_cols(
178178
self,
@@ -182,7 +182,7 @@ class Worksheet(_WorkbookChild):
182182
max_row: int | None = None,
183183
*,
184184
values_only: bool,
185-
) -> Generator[tuple[Cell | str | float | datetime | None, ...], None, None]: ...
185+
) -> Generator[tuple[Cell, ...], None, None] | Generator[tuple[str | float | datetime | None, ...], None, None]: ...
186186
@property
187187
def columns(self) -> Generator[tuple[Cell, ...], None, None]: ...
188188
def set_printer_settings(

0 commit comments

Comments
 (0)