fix path errors
This commit is contained in:
@@ -25,6 +25,23 @@ class SensorBundlePreset:
|
||||
export_dir: str
|
||||
|
||||
|
||||
def _packaged_finger_preset() -> SensorBundlePreset | None:
|
||||
"""Use logical names that resolve through the installed wheel sensors/ layout."""
|
||||
try:
|
||||
from orisys.configs import resolve_sensor_bundle
|
||||
except ImportError:
|
||||
return None
|
||||
bundle = resolve_sensor_bundle("finger")
|
||||
if bundle is None:
|
||||
return None
|
||||
return SensorBundlePreset(
|
||||
label="ORY-FINGER",
|
||||
bundle_dir="sensors/finger",
|
||||
config="finger",
|
||||
export_dir=DEFAULT_FINGER_EXPORT_DIR,
|
||||
)
|
||||
|
||||
|
||||
def _load_manifest(bundle_root: Path) -> dict:
|
||||
path = bundle_root / "manifest.json"
|
||||
if not path.is_file():
|
||||
@@ -50,6 +67,14 @@ def _bundle_from_root(bundle_root: Path, *, label: str | None = None) -> SensorB
|
||||
break
|
||||
except ValueError:
|
||||
continue
|
||||
# Packaged / checkout sensors/finger: keep resolvable product names, not absolute paths.
|
||||
if rel_bundle.replace("\\", "/").endswith("sensors/finger") or bundle_root.name == "finger":
|
||||
return SensorBundlePreset(
|
||||
label=label or "ORY-FINGER",
|
||||
bundle_dir="sensors/finger",
|
||||
config="finger",
|
||||
export_dir=DEFAULT_FINGER_EXPORT_DIR,
|
||||
)
|
||||
return SensorBundlePreset(
|
||||
label=label or "ORY-FINGER",
|
||||
bundle_dir=rel_bundle,
|
||||
@@ -59,6 +84,9 @@ def _bundle_from_root(bundle_root: Path, *, label: str | None = None) -> SensorB
|
||||
|
||||
|
||||
def default_finger_bundle() -> SensorBundlePreset:
|
||||
packaged = _packaged_finger_preset()
|
||||
if packaged is not None:
|
||||
return packaged
|
||||
for root in _repo_root_candidates():
|
||||
preset = _bundle_from_root(root / "sensors" / "finger", label="ORY-FINGER")
|
||||
if preset is not None:
|
||||
@@ -66,7 +94,7 @@ def default_finger_bundle() -> SensorBundlePreset:
|
||||
return SensorBundlePreset(
|
||||
label="ORY-FINGER",
|
||||
bundle_dir="sensors/finger",
|
||||
config="sensors/finger/sensor.json",
|
||||
config="finger",
|
||||
export_dir=DEFAULT_FINGER_EXPORT_DIR,
|
||||
)
|
||||
|
||||
@@ -108,6 +136,8 @@ def sensor_bundle_preset_index(
|
||||
for idx, preset in enumerate(presets):
|
||||
if config == preset.config and export_dir == preset.export_dir:
|
||||
return idx
|
||||
if config in ("finger", "dd02", "dd02-ov") and preset.config == "finger":
|
||||
return idx
|
||||
if config.endswith("/sensor.json") and export_dir.endswith("/" + Path(preset.export_dir).name):
|
||||
return idx
|
||||
return -1
|
||||
|
||||
Reference in New Issue
Block a user