Skip to content

Commit 0980cad

Browse files
committed
Upgrade to newest tomlkit, fix type issues
1 parent 0a318d4 commit 0980cad

File tree

4 files changed

+18
-14
lines changed

4 files changed

+18
-14
lines changed

dowsing/maturin.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def get_metadata(self) -> Distribution:
2525

2626
cargo = self.path / "Cargo.toml"
2727
doc = tomlkit.parse(cargo.read_text())
28-
for k, v in doc["package"].items():
28+
package = doc.get("package", {})
29+
for k, v in package.items():
2930
if k == "name":
3031
d.name = v
3132
elif k == "version":
@@ -39,7 +40,8 @@ def get_metadata(self) -> Distribution:
3940
# homepage
4041
# readme (filename)
4142

42-
for k, v in doc["package"]["metadata"]["maturin"].items():
43+
maturin = package.get("metadata", {}).get("maturin", {})
44+
for k, v in maturin.items():
4345
if k == "requires-python":
4446
d.requires_python = v
4547
elif k == "classifier":

dowsing/pep517.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ def get_backend(path: Path) -> Tuple[List[str], BaseReader]:
2626
requires: List[str] = []
2727
if pyproject.exists():
2828
doc = tomlkit.parse(pyproject.read_text())
29-
if "build-system" in doc:
30-
# 1b. include any build-system requires
31-
if "requires" in doc["build-system"]:
32-
requires.extend(doc["build-system"]["requires"])
33-
if "build-backend" in doc["build-system"]:
34-
backend = doc["build-system"]["build-backend"]
35-
# TODO backend-path
29+
table = doc.get("build-system", {})
30+
31+
# 1b. include any build-system requires
32+
if "requires" in table:
33+
requires.extend(table["requires"])
34+
if "build-backend" in table:
35+
backend = table["build-backend"]
36+
# TODO backend-path
3637

3738
try:
3839
backend_path = KNOWN_BACKENDS[backend]

dowsing/poetry.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ def get_metadata(self) -> Distribution:
4242
d.packages = []
4343
d.packages_dict = {}
4444

45-
for k, v in doc["tool"]["poetry"].items():
45+
poetry = doc.get("tool", {}).get("poetry", {})
46+
for k, v in poetry.items():
4647
if k in ("homepage", "repository", "documentation"):
4748
d.project_urls[k] = v
4849
elif k == "packages":
@@ -64,16 +65,16 @@ def get_metadata(self) -> Distribution:
6465
d.packages_dict[p] = p.replace(".", "/")
6566
d.packages.append(p)
6667

67-
for k, v in doc["tool"]["poetry"].get("dependencies", {}).items():
68+
for k, v in poetry.get("dependencies", {}).items():
6869
if k == "python":
6970
pass # TODO translate to requires_python
7071
else:
7172
d.requires_dist.append(k) # TODO something with version
7273

73-
for k, v in doc["tool"]["poetry"].get("urls", {}).items():
74+
for k, v in poetry.get("urls", {}).items():
7475
d.project_urls[k] = v
7576

76-
for k, v in doc["tool"]["poetry"].get("scripts", {}).items():
77+
for k, v in poetry.get("scripts", {}).items():
7778
d.entry_points[k] = v
7879

7980
d.source_mapping = d._source_mapping(self.path)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
highlighter==0.1.1
22
imperfect==0.3.0
33
LibCST==0.3.12
4-
tomlkit==0.7.2
4+
tomlkit==0.8.0
55
pkginfo==1.8.1

0 commit comments

Comments
 (0)