]> granicus.if.org Git - python/commitdiff
Migrate definitions of several platform-dependent path-related variables
authorSkip Montanaro <skip@pobox.com>
Fri, 14 Feb 2003 19:35:31 +0000 (19:35 +0000)
committerSkip Montanaro <skip@pobox.com>
Fri, 14 Feb 2003 19:35:31 +0000 (19:35 +0000)
into the relevant path modules.  See patch #686397.

Doc/lib/libos.tex
Lib/macpath.py
Lib/ntpath.py
Lib/os.py
Lib/os2emxpath.py
Lib/plat-riscos/riscospath.py
Lib/posixpath.py

index 8f13e0e65c5813f2ad319944bc3c9dbd64190a46..b2c10f7365d91475a3566384010d746f64b3b6a5 100644 (file)
@@ -1620,12 +1620,14 @@ Higher-level operations on pathnames are defined in the
 The constant string used by the operating system to refer to the current
 directory.
 For example: \code{'.'} for \POSIX{} or \code{':'} for the Macintosh.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{pardir}
 The constant string used by the operating system to refer to the parent
 directory.
 For example: \code{'..'} for \POSIX{} or \code{'::'} for the Macintosh.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{sep}
@@ -1634,6 +1636,7 @@ for example, \character{/} for \POSIX{} or \character{:} for the
 Macintosh.  Note that knowing this is not sufficient to be able to
 parse or concatenate pathnames --- use \function{os.path.split()} and
 \function{os.path.join()} --- but it is occasionally useful.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{altsep}
@@ -1641,11 +1644,13 @@ An alternative character used by the operating system to separate pathname
 components, or \code{None} if only one separator character exists.  This is
 set to \character{/} on Windows systems where \code{sep} is a
 backslash.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{extsep}
 The character which separates the base filename from the extension;
 for example, the \character{.} in \file{os.py}.
+Also available via \module{os.path}.
 \versionadded{2.2}
 \end{datadesc}
 
@@ -1653,12 +1658,14 @@ for example, the \character{.} in \file{os.py}.
 The character conventionally used by the operating system to separate
 search patch components (as in \envvar{PATH}), such as \character{:} for
 \POSIX{} or \character{;} for Windows.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{defpath}
 The default search path used by \function{exec*p*()} and
 \function{spawn*p*()} if the environment doesn't have a \code{'PATH'}
 key.
+Also available via \module{os.path}.
 \end{datadesc}
 
 \begin{datadesc}{linesep}
index e8ac467a2400fcc47b6f96622a850a2afc7f93a5..8277d41b17b6a90b7e60a517ee5f56455d2773c0 100644 (file)
@@ -7,8 +7,18 @@ __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","getctime", "islink","exists","isdir","isfile",
            "walk","expanduser","expandvars","normpath","abspath",
+           "curdir","pardir","sep","pathsep","defpath","altsep","extsep",
            "realpath","supports_unicode_filenames"]
 
+# strings representing various path-related bits and pieces
+curdir = ':'
+pardir = '::'
+extsep = '.'
+sep = ':'
+pathsep = '\n'
+defpath = ':'
+altsep = None
+
 # Normalize the case of a pathname.  Dummy in Posix, but <s>.lower() here.
 
 def normcase(path):
index b82051424e28eac703faacf9e9f39578d3f0069d..e39266bf21ce24511a277210241809a606277b2a 100644 (file)
@@ -13,8 +13,24 @@ __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","getctime", "islink","exists","isdir","isfile","ismount",
            "walk","expanduser","expandvars","normpath","abspath","splitunc",
+           "curdir","pardir","sep","pathsep","defpath","altsep","extsep",
            "realpath","supports_unicode_filenames"]
 
+# strings representing various path-related bits and pieces
+curdir = '.'
+pardir = '..'
+extsep = '.'
+sep = '\\'
+pathsep = ';'
+altsep = None
+if 'ce' in sys.builtin_module_names:
+    defpath = '\\Windows'
+elif 'os2' in sys.builtin_module_names:
+    # OS/2 w/ EMX
+    altsep = '/'
+else:
+    defpath = '.;C:\\bin'
+
 # Normalize the case of a pathname and map slashes to backslashes.
 # Other normalizations (such as optimizing '../' away) are not done
 # (this is done by normpath).
index e3b77616fd1c7b329d32136a558a04f51080952b..d3078d6c6f9b1b93e96ca020a627753db60c052b 100644 (file)
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -26,10 +26,8 @@ import sys
 
 _names = sys.builtin_module_names
 
-altsep = None
-
 __all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
-           "defpath", "name"]
+           "defpath", "name", "path"]
 
 def _get_exports_list(module):
     try:
@@ -40,17 +38,13 @@ def _get_exports_list(module):
 if 'posix' in _names:
     name = 'posix'
     linesep = '\n'
-    curdir = '.'; pardir = '..'; sep = '/'; pathsep = ':'
-    defpath = ':/bin:/usr/bin'
     from posix import *
     try:
         from posix import _exit
     except ImportError:
         pass
-    import posixpath
-    path = posixpath
-    del posixpath
-
+    import posixpath as path
+    
     import posix
     __all__.extend(_get_exports_list(posix))
     del posix
@@ -58,17 +52,13 @@ if 'posix' in _names:
 elif 'nt' in _names:
     name = 'nt'
     linesep = '\r\n'
-    curdir = '.'; pardir = '..'; sep = '\\'; pathsep = ';'
-    defpath = '.;C:\\bin'
     from nt import *
     try:
         from nt import _exit
     except ImportError:
         pass
-    import ntpath
-    path = ntpath
-    del ntpath
-
+    import ntpath as path
+    
     import nt
     __all__.extend(_get_exports_list(nt))
     del nt
@@ -76,28 +66,16 @@ elif 'nt' in _names:
 elif 'os2' in _names:
     name = 'os2'
     linesep = '\r\n'
-    curdir = '.'; pardir = '..'; pathsep = ';'
-    if sys.version.find('EMX GCC') == -1:
-        # standard OS/2 compiler (VACPP or Watcom?)
-        sep = '\\'; altsep = '/'
-    else:
-        # EMX
-        sep = '/'; altsep = '\\'
-    defpath = '.;C:\\bin'
     from os2 import *
     try:
         from os2 import _exit
     except ImportError:
         pass
     if sys.version.find('EMX GCC') == -1:
-        import ntpath
-        path = ntpath
-        del ntpath
+        import ntpath as path
     else:
-        import os2emxpath
-        path = os2emxpath
-        del os2emxpath
-
+        import os2emxpath as path
+    
     import os2
     __all__.extend(_get_exports_list(os2))
     del os2
@@ -105,17 +83,13 @@ elif 'os2' in _names:
 elif 'mac' in _names:
     name = 'mac'
     linesep = '\r'
-    curdir = ':'; pardir = '::'; sep = ':'; pathsep = '\n'
-    defpath = ':'
     from mac import *
     try:
         from mac import _exit
     except ImportError:
         pass
-    import macpath
-    path = macpath
-    del macpath
-
+    import macpath as path
+    
     import mac
     __all__.extend(_get_exports_list(mac))
     del mac
@@ -123,18 +97,14 @@ elif 'mac' in _names:
 elif 'ce' in _names:
     name = 'ce'
     linesep = '\r\n'
-    curdir = '.'; pardir = '..'; sep = '\\'; pathsep = ';'
-    defpath = '\\Windows'
     from ce import *
     try:
         from ce import _exit
     except ImportError:
         pass
     # We can use the standard Windows path.
-    import ntpath
-    path = ntpath
-    del ntpath
-
+    import ntpath as path
+    
     import ce
     __all__.extend(_get_exports_list(ce))
     del ce
@@ -142,17 +112,13 @@ elif 'ce' in _names:
 elif 'riscos' in _names:
     name = 'riscos'
     linesep = '\n'
-    curdir = '@'; pardir = '^'; sep = '.'; pathsep = ','
-    defpath = '<Run$Dir>'
     from riscos import *
     try:
         from riscos import _exit
     except ImportError:
         pass
-    import riscospath
-    path = riscospath
-    del riscospath
-
+    import riscospath as path
+    
     import riscos
     __all__.extend(_get_exports_list(riscos))
     del riscos
@@ -160,18 +126,11 @@ elif 'riscos' in _names:
 else:
     raise ImportError, 'no os specific module found'
 
-
-if sep=='.':
-    extsep = '/'
-else:
-    extsep = '.'
-
-__all__.append("path")
+sys.modules['os.path'] = path
+from os.path import curdir, pardir, sep, pathsep, defpath, extsep, altsep
 
 del _names
 
-sys.modules['os.path'] = path
-
 #'
 
 # Super directory utilities.
index f92841fd5f9eca507770a7453e199c16de41556d..67f00df10c8724d926482753d585a8500891a5e6 100644 (file)
@@ -12,8 +12,18 @@ __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","getctime", "islink","exists","isdir","isfile","ismount",
            "walk","expanduser","expandvars","normpath","abspath","splitunc",
+           "curdir","pardir","sep","pathsep","defpath","altsep","extsep",
            "realpath","supports_unicode_filenames"]
 
+# strings representing various path-related bits and pieces
+curdir = '.'
+pardir = '..'
+extsep = '.'
+sep = '/'
+altsep = '\\'
+pathsep = ';'
+defpath = '.;C:\\bin'
+
 # Normalize the case of a pathname and map slashes to backslashes.
 # Other normalizations (such as optimizing '../' away) are not done
 # (this is done by normpath).
index 30c0c9fe5160881be54c9eadc9dedb3564a70481..c875a4f1627a069de62d87abbd15097671d0a96d 100644 (file)
@@ -12,6 +12,14 @@ Instead of importing this module directly, import os and refer to this module
 as os.path.
 """
 
+# strings representing various path-related bits and pieces
+curdir = '@'
+pardir = '^'
+extsep = '.'
+sep = '.'
+pathsep = ','
+defpath = '<Run$Dir>'
+altsep = None
 
 # Imports - make an error-generating swi object if the swi module is not
 # available (ie. we are not running on RISC OS Python)
index d0179f112cbfad513e86583393009a6bb65be3e5..50073dc99d50465226f280babfcf9d48a9ff4de8 100644 (file)
@@ -18,8 +18,18 @@ __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "getatime","getctime","islink","exists","isdir","isfile","ismount",
            "walk","expanduser","expandvars","normpath","abspath",
            "samefile","sameopenfile","samestat",
+           "curdir","pardir","sep","pathsep","defpath","altsep","extsep",
            "realpath","supports_unicode_filenames"]
 
+# strings representing various path-related bits and pieces
+curdir = '.'
+pardir = '..'
+extsep = '.'
+sep = '/'
+pathsep = ':'
+defpath = ':/bin:/usr/bin'
+altsep = None
+
 # Normalize the case of a pathname.  Trivial in Posix, string.lower on Mac.
 # On MS-DOS this may also turn slashes into backslashes; however, other
 # normalizations (such as optimizing '../' away) are not allowed