Fix type annotations for 3.8.

This commit is contained in:
ljnsn 2022-12-21 22:54:32 +01:00
parent f15f949bfb
commit 29dcf79b78
3 changed files with 14 additions and 14 deletions

View File

@ -1,14 +1,14 @@
from collections import OrderedDict
from pathlib import Path
from types import ModuleType
from typing import Any, Iterator, Union
from typing import Any, Dict, Iterator, List, Union
import pandas as pd
from .utils import sanitize_df
def get_columns_from_headers(backend: ModuleType, row: Any) -> list[str]:
def get_columns_from_headers(backend: ModuleType, row: Any) -> List[str]:
repeat_until = -1
repeat_value = None
# columns as lists in a dictionary
@ -36,11 +36,11 @@ def get_columns_from_headers(backend: ModuleType, row: Any) -> list[str]:
return columns
def get_generic_columns(row: Any) -> list[str]:
def get_generic_columns(row: Any) -> List[str]:
return [f"column.{j}" for j in range(len(row))]
def get_columns(backend: ModuleType, row: Any, headers: bool) -> list[str]:
def get_columns(backend: ModuleType, row: Any, headers: bool) -> List[str]:
if headers:
return get_columns_from_headers(backend, row)
return get_generic_columns(row)
@ -48,13 +48,13 @@ def get_columns(backend: ModuleType, row: Any, headers: bool) -> list[str]:
def parse_data(
backend: ModuleType,
rows: Iterator[list[Any]],
rows: Iterator[List[Any]],
headers: bool,
columns: list[str],
columns: List[str],
skiprows: int,
) -> pd.DataFrame:
df_dict: OrderedDict[str, Any] = OrderedDict()
col_index: dict[int, str] = {}
col_index: Dict[int, str] = {}
for _ in range(skiprows):
next(rows)
@ -90,7 +90,7 @@ def read_data(
file_or_path: Path,
sheet_id: Union[str, int],
headers: bool,
columns: list[str],
columns: List[str],
skiprows: int,
) -> pd.DataFrame:
doc = backend.get_doc(file_or_path)

View File

@ -1,6 +1,6 @@
"""Imports an ods or fods file into a DataFrame object"""
from pathlib import Path
from typing import Optional, Union
from typing import Optional, List, Union
import pandas as pd
@ -15,7 +15,7 @@ def read_ods(
file_or_path: Union[str, Path],
sheet: Union[str, int] = 1,
headers: bool = True,
columns: Optional[list[str]] = None,
columns: Optional[List[str]] = None,
skiprows: int = 0,
) -> pd.DataFrame:
"""

View File

@ -1,5 +1,5 @@
from pathlib import Path
from typing import Any, Iterator, Union
from typing import Any, Iterator, List, Tuple, Union
import ezodf # type: ignore[import]
from ezodf.document import FlatXMLDocument, PackagedDocument # type: ignore[import]
@ -12,11 +12,11 @@ def get_doc(file_or_path: Path) -> Union[FlatXMLDocument, PackagedDocument]:
def get_rows(
doc: Union[FlatXMLDocument, PackagedDocument],
sheet_id: Union[str, int],
) -> Iterator[list[ezodf.Cell]]:
) -> Iterator[List[ezodf.Cell]]:
if not isinstance(sheet_id, (int, str)):
raise ValueError("Sheet id has to be either `str` or `int`")
if isinstance(sheet_id, str):
sheets: list[str] = [sheet.name for sheet in doc.sheets]
sheets: List[str] = [sheet.name for sheet in doc.sheets]
if sheet_id not in sheets:
raise KeyError("There is no sheet named {}".format(sheet_id))
sheet_id = sheets.index(sheet_id) + 1
@ -24,5 +24,5 @@ def get_rows(
return sheet.rows()
def get_value(cell: ezodf.Cell, parsed: bool = False) -> tuple[Any, int]:
def get_value(cell: ezodf.Cell, parsed: bool = False) -> Tuple[Any, int]:
return cell.value, 0