File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from __future__ import annotations
22
33import logging
4+ import ntpath
45import os
56import threading
67import time
108109)
109110
110111
112+ def _join_models_dir_path (models_dir : str , * relative_parts : str ) -> str :
113+ # CRITICAL: folder_paths.models_dir may come from a Windows-style host snapshot even when tests run on Linux;
114+ # do not use the runner OS path module blindly or native detector paths will pick mixed separators.
115+ path_module = ntpath if "\\ " in models_dir or (len (models_dir ) >= 2 and models_dir [1 ] == ":" ) else os .path
116+ return path_module .normpath (path_module .join (models_dir , * relative_parts ))
117+
118+
111119def ensure_native_ultralytics_model_paths (folder_paths_module : Any | None ) -> Any | None :
112120 if folder_paths_module is None :
113121 return None
@@ -122,7 +130,7 @@ def ensure_native_ultralytics_model_paths(folder_paths_module: Any | None) -> An
122130 # IMPORTANT: register native detector model folders here so RookieUI does not require an external detector pack
123131 # just to make host `folder_paths` aware of Ultralytics bbox/segm model locations.
124132 for folder_name , relative_parts in _NATIVE_ULTRALYTICS_MODEL_FOLDERS :
125- full_path = os . path . join (models_dir , * relative_parts )
133+ full_path = _join_models_dir_path (models_dir , * relative_parts )
126134 try :
127135 add_model_folder_path (folder_name , full_path , is_default = True )
128136 except TypeError :
You can’t perform that action at this time.
0 commit comments