@@ -59,7 +59,9 @@ def _get_dir_status(a_dir):
5959 # Remove initial slash on windows systems
6060 # urllib's url2pathname does not work properly
6161 a_dir_res = fs .create_resource (os .path .normpath (a_dir ))
62- a_dir_path = a_dir_res .uri_info .path
62+
63+ # a_dir_res is a LocalFilesystemResource already
64+ a_dir_path = a_dir_res .path
6365 if platform .system () == "Windows" :
6466 if a_dir_path .startswith ("/" ):
6567 a_dir_path = a_dir_path [1 :]
@@ -98,31 +100,6 @@ def _check_samples_dir(samples_dir):
98100 )
99101
100102
101- def _extract_path_from_uri (uri ):
102- res = fs .create_resource (uri )
103- if platform .system () == "Windows" :
104- # Case of file:///<LETTER>:/<REST_OF_PATH>:
105- # Eliminate first slash ("/") from path if the first component
106- if (
107- res .uri_info .scheme == ""
108- and res .uri_info .path [0 ] == "/"
109- and res .uri_info .path [1 ].isalpha ()
110- and res .uri_info .path [2 ] == ":"
111- ):
112- path = res .uri_info .path [1 :]
113- # Case of C:/<REST_OF_PATH>:
114- # Just use the original path
115- elif len (res .uri_info .scheme ) == 1 :
116- path = uri
117- # Otherwise return URI path as-is
118- else :
119- path = res .uri_info .path
120-
121- else :
122- path = res .uri_info .path
123- return path
124-
125-
126103def _khiops_env_file_exists (env_dir ):
127104 """Check ``khiops_env`` exists relative to the specified environment dir"""
128105 khiops_env_path = os .path .join (env_dir , "khiops_env" )
@@ -399,7 +376,7 @@ def root_temp_dir(self):
399376 def root_temp_dir (self , dir_path ):
400377 # Check existence, directory status and permissions for local paths
401378 if fs .is_local_resource (dir_path ):
402- real_dir_path = _extract_path_from_uri (dir_path )
379+ real_dir_path = fs . create_resource (dir_path ). path
403380 if os .path .exists (real_dir_path ):
404381 if os .path .isfile (real_dir_path ):
405382 raise KhiopsEnvironmentError (
@@ -439,7 +416,7 @@ def create_temp_file(self, prefix, suffix):
439416 # Local resource: Effectively create the file with the python file API
440417 if fs .is_local_resource (self .root_temp_dir ):
441418 # Extract the path from the potential URI
442- root_temp_dir_path = _extract_path_from_uri (self .root_temp_dir )
419+ root_temp_dir_path = fs . create_resource (self .root_temp_dir ). path
443420
444421 # Create the temporary file
445422 tmp_file_fd , tmp_file_path = tempfile .mkstemp (
@@ -470,7 +447,7 @@ def create_temp_dir(self, prefix):
470447 """
471448 # Local resource: Effectively create the directory with the python file API
472449 if fs .is_local_resource (self .root_temp_dir ):
473- root_temp_dir_path = _extract_path_from_uri (self .root_temp_dir )
450+ root_temp_dir_path = fs . create_resource (self .root_temp_dir ). path
474451 temp_dir = tempfile .mkdtemp (prefix = prefix , dir = root_temp_dir_path )
475452 # Remote resource: Just return a highly probable unique path
476453 else :
0 commit comments