changeset 1492:e7c4d031d333

Fix for Windows paths
author Olivier Delalleau <delallea@iro>
date Tue, 16 Aug 2011 15:44:01 -0400
parents c41fdf8c35b8
children b1af99fd7bf6
files pylearn/datasets/config.py
diffstat 1 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/pylearn/datasets/config.py	Wed Apr 27 11:34:36 2011 -0400
+++ b/pylearn/datasets/config.py	Tue Aug 16 15:44:01 2011 -0400
@@ -41,14 +41,16 @@
     if roots is None:
         roots = [data_root()]
     else:
-        roots = roots.split(':')
-    roots2 = []
-    #remove directory that don't exist
-    for root in roots:
-        if os.path.exists(root):
-            roots2.append(root)
-    data_roots.rval = roots2
-    return roots2
+        # Note that under Windows, we cannot use ':' as a delimiter because
+        # paths may contain this character. Thus we use ';' instead (similar to
+        # the PATH environment variable in Windows).
+        if sys.platform == 'win32':
+            roots = roots.split(';')
+        else:
+            roots = roots.split(':')
+    # Remove paths that are not directories.
+    data_roots.rval = [r for r in roots if os.path.isdir(r)]
+    return data_roots.rval
 
 
 def get_filepath_in_roots(*names):