Skip to content

Commit c6a8ad5

Browse files
Normalize source-tree version fallback failures
Co-authored-by: cartertinney <3613133+cartertinney@users.noreply.github.com>
1 parent ceacba3 commit c6a8ad5

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

‎azure-iot-device/azure/iot/device/constant.py‎

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,22 @@
1212

1313
def _read_source_tree_version():
1414
for parent in Path(__file__).resolve().parents:
15-
pyproject_path = parent / "pyproject.toml"
16-
if pyproject_path.exists():
17-
with pyproject_path.open("rb") as f:
18-
project_metadata = tomllib.load(f).get("project", {})
19-
if project_metadata.get("name") == "azure-iot-device":
20-
source_tree_version = project_metadata.get("version")
21-
if source_tree_version is not None:
22-
return source_tree_version
23-
raise PackageNotFoundError("azure-iot-device")
15+
if parent.name == "azure-iot-device":
16+
pyproject_path = parent.parent / "pyproject.toml"
17+
break
18+
else:
19+
raise PackageNotFoundError("azure-iot-device")
20+
21+
try:
22+
with pyproject_path.open("rb") as f:
23+
project_metadata = tomllib.load(f).get("project", {})
24+
except (OSError, tomllib.TOMLDecodeError):
25+
raise PackageNotFoundError("azure-iot-device")
26+
27+
if project_metadata.get("name") == "azure-iot-device":
28+
source_tree_version = project_metadata.get("version")
29+
if source_tree_version is not None:
30+
return source_tree_version
2431
raise PackageNotFoundError("azure-iot-device")
2532

2633

0 commit comments

Comments
 (0)