Skip to content

Commit 3c09e89

Browse files
committed
Update to pyupgrades to 3.9 but skip typing changes as incorrectly putting Optional[str], etc. to str | None for python3.9
* afaics there is not an inline skip message
1 parent 14e306b commit 3c09e89

File tree

5 files changed

+24
-20
lines changed

5 files changed

+24
-20
lines changed

exasol/toolbox/nox/_format.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from typing import Iterable
3+
from collections.abc import Iterable
44

55
import nox
66
from nox import Session
@@ -26,7 +26,8 @@ def _pyupgrade(session: Session, files: Iterable[str]) -> None:
2626
"poetry",
2727
"run",
2828
"pyupgrade",
29-
"--py38-plus",
29+
"--py39-plus",
30+
"--keep-runtime-typing",
3031
"--exit-zero-even-if-changed",
3132
*files,
3233
)

exasol/toolbox/nox/_lint.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@
22

33
import argparse
44
import sys
5+
from collections.abc import Iterable
56
from pathlib import Path
6-
from typing import (
7-
Dict,
8-
Iterable,
9-
List,
10-
)
117

128
import nox
139
import rich.console

exasol/toolbox/tools/security.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from functools import partial
1919
from inspect import cleandoc
2020
from pathlib import Path
21+
from typing import Optional
2122

2223
import typer
2324

@@ -269,7 +270,9 @@ def as_markdown_listing(elements: Iterable[str]):
269270
)
270271

271272

272-
def create_security_issue(issue: Issue, project: str | None = None) -> tuple[str, str]:
273+
def create_security_issue(
274+
issue: Issue, project: Optional[str] = None
275+
) -> tuple[str, str]:
273276
# fmt: off
274277
command = [
275278
"gh", "issue", "create",

exasol/toolbox/util/dependencies/licenses.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import tempfile
55
from inspect import cleandoc
66
from json import loads
7+
from typing import Optional
78

89
from pydantic import field_validator
910

@@ -38,21 +39,21 @@
3839

3940

4041
class PackageLicense(Package):
41-
package_link: str | None
42+
package_link: Optional[str]
4243
license: str
4344

4445
@field_validator("package_link", mode="before")
45-
def map_unknown_to_none(cls, v) -> str | None:
46+
def map_unknown_to_none(cls, v) -> Optional[str]:
4647
if v == "UNKNOWN":
4748
return None
4849
return v
4950

5051
@field_validator("license", mode="before")
51-
def map_to_normalized_values(cls, v) -> str | None:
52+
def map_to_normalized_values(cls, v) -> Optional[str]:
5253
return _normalize(v)
5354

5455
@property
55-
def license_link(self) -> str | None:
56+
def license_link(self) -> Optional[str]:
5657
return LICENSE_MAPPING_TO_URL.get(self.license, None)
5758

5859

exasol/toolbox/util/dependencies/poetry_dependencies.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,19 @@
1717

1818
class PoetryGroup(BaseModel):
1919
name: str
20-
toml_section: str
20+
toml_section: Optional[str]
2121

2222
class Config:
2323
frozen = True
2424

2525

26+
TRANSITIVE_GROUP = PoetryGroup(name="transitive", toml_section=None)
27+
28+
2629
class PoetryDependency(Package):
2730
name: str
2831
version: str
29-
group: PoetryGroup | None
32+
group: PoetryGroup
3033

3134

3235
class PoetryToml(BaseModel):
@@ -45,12 +48,12 @@ def read_content(cls, values):
4548
raise ValueError(f"Error reading file: {str(e)}")
4649
return values
4750

48-
def get_section_dict(self, section: str) -> dict | None:
51+
def get_section_dict(self, section: str) -> Optional[dict]:
4952
current = self._content.copy()
5053
for section in section.split("."):
5154
if section not in current:
5255
return None
53-
current = current[section]
56+
current = current[section] # type: ignore
5457
return current
5558

5659
@property
@@ -83,13 +86,13 @@ class PoetryDependencies(BaseModel):
8386
working_directory: Path
8487

8588
@staticmethod
86-
def _extract_from_line(line: str, group: PoetryGroup | None) -> PoetryDependency:
89+
def _extract_from_line(line: str, group: PoetryGroup) -> PoetryDependency:
8790
pattern = r"\s+(\d+(?:\.\d+)*)\s+"
8891
match = re.split(pattern, line)
8992
return PoetryDependency(name=match[0], version=match[1], group=group)
9093

9194
def _extract_from_poetry_show(
92-
self, output_text: str, group: PoetryGroup | None
95+
self, output_text: str, group: PoetryGroup
9396
) -> list[PoetryDependency]:
9497
return [
9598
self._extract_from_line(line, group=group)
@@ -125,8 +128,8 @@ def all_dependencies(self) -> dict[str, list[PoetryDependency]]:
125128
for dep in group_list
126129
}
127130
for line in output.stdout.splitlines():
128-
dep = self._extract_from_line(line=line, group=None)
131+
dep = self._extract_from_line(line=line, group=TRANSITIVE_GROUP)
129132
if dep.name not in names_direct_dependencies:
130133
transitive_dependencies.append(dep)
131134

132-
return direct_dependencies | {"transitive": transitive_dependencies}
135+
return direct_dependencies | {TRANSITIVE_GROUP.name: transitive_dependencies}

0 commit comments

Comments
 (0)