diff --git a/Lib/dumbdbm.py b/Lib/dumbdbm.py index 45a2f36a5db..f1cc41bd450 100644 --- a/Lib/dumbdbm.py +++ b/Lib/dumbdbm.py @@ -33,9 +33,13 @@ class _Database: def __init__(self, file): - self._dirfile = file + '.dir' - self._datfile = file + '.dat' - self._bakfile = file + '.bak' + if _os.sep == '.': + endsep = '/' + else: + endsep = '.' + self._dirfile = file + endsep + 'dir' + self._datfile = file + endsep + 'dat' + self._bakfile = file + endsep + 'bak' # Mod by Jack: create data file if needed try: f = _open(self._datfile, 'r') diff --git a/Lib/os.py b/Lib/os.py index ddeb84c212a..201aa9dc167 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -3,7 +3,7 @@ This exports: - all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc. - os.path is one of the modules posixpath, ntpath, macpath, or dospath - - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', or 'ce' + - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', 'ce' or 'riscos' - os.curdir is a string representing the current directory ('.' or ':') - os.pardir is a string representing the parent directory ('..' or '::') - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\') @@ -147,6 +147,25 @@ def _get_exports_list(module): __all__.extend(_get_exports_list(ce)) del ce +elif 'riscos' in _names: + name = 'riscos' + linesep = '\n' + curdir = '@'; pardir = '^'; sep = '.'; pathsep = ',' + defpath = '' + from riscos import * + try: + from riscos import _exit + except ImportError: + pass + import riscospath + path = riscospath + del riscospath + from riscosenviron import environ + + import riscos + __all__.extend(_get_exports_list(riscos)) + del ce + else: raise ImportError, 'no os specific module found' @@ -317,14 +336,16 @@ def _execvpe(file, args, env=None): exc, arg = error, (errno, msg) raise exc, arg -# Change environ to automatically call putenv() if it exists -try: - # This will fail if there's no putenv - putenv -except NameError: - pass -else: - import UserDict + +if name != "riscos": + # Change environ to automatically call putenv() if it exists + try: + # This will fail if there's no putenv + putenv + except NameError: + pass + else: + import UserDict if name in ('os2', 'nt', 'dos'): # Where Env Var Names Must Be UPPERCASE # But we store them as upper case @@ -363,12 +384,11 @@ def update(self, dict): environ = _Environ(environ) -def getenv(key, default=None): - """Get an environment variable, return None if it doesn't exist. - - The optional second argument can specify an alternate default.""" - return environ.get(key, default) -__all__.append("getenv") + def getenv(key, default=None): + """Get an environment variable, return None if it doesn't exist. + The optional second argument can specify an alternate default.""" + return environ.get(key, default) + __all__.append("getenv") def _exists(name): try: diff --git a/Lib/site.py b/Lib/site.py index 12fe71d4599..807ebc76a2c 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -59,6 +59,12 @@ import sys, os +if os.sep==".": + endsep = "/" +else: + endsep = "." + + def makepath(*paths): dir = os.path.join(*paths) return os.path.normcase(os.path.abspath(dir)) @@ -99,7 +105,7 @@ def addsitedir(sitedir): names = map(os.path.normcase, names) names.sort() for name in names: - if name[-4:] == ".pth": + if name[-4:] == endsep + "pth": addpackage(sitedir, name) def addpackage(sitedir, name): diff --git a/Lib/socket.py b/Lib/socket.py index c928700c4d3..136a052e369 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -48,7 +48,8 @@ del _socket if (sys.platform.lower().startswith("win") - or (hasattr(os, 'uname') and os.uname()[0] == "BeOS")): + or (hasattr(os, 'uname') and os.uname()[0] == "BeOS") + or (sys.platform=="RISCOS")): # be sure this happens only once, even in the face of reload(): try: diff --git a/Lib/urllib.py b/Lib/urllib.py index 2eb90f9d7f7..302f707db4d 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -41,6 +41,8 @@ from macurl2path import url2pathname, pathname2url elif os.name == 'nt': from nturl2path import url2pathname, pathname2url +elif os.name == 'riscos': + from rourl2path import url2pathname, pathname2url else: def url2pathname(pathname): return unquote(pathname) diff --git a/Lib/whichdb.py b/Lib/whichdb.py index 1f120998d47..fe54cc5ae39 100644 --- a/Lib/whichdb.py +++ b/Lib/whichdb.py @@ -1,5 +1,12 @@ """Guess which db package to use to open a db file.""" +import os + +if os.sep==".": + endsep = "/" +else: + endsep = "." + def whichdb(filename): """Guess which db package to use to open a db file. @@ -17,9 +24,9 @@ def whichdb(filename): # Check for dbm first -- this has a .pag and a .dir file try: - f = open(filename + ".pag", "rb") + f = open(filename + endsep + "pag", "rb") f.close() - f = open(filename + ".dir", "rb") + f = open(filename + endsep + "dir", "rb") f.close() return "dbm" except IOError: @@ -27,9 +34,9 @@ def whichdb(filename): # Check for dumbdbm next -- this has a .dir and and a .dat file try: - f = open(filename + ".dat", "rb") + f = open(filename + endsep + "dat", "rb") f.close() - f = open(filename + ".dir", "rb") + f = open(filename + endsep + "dir", "rb") try: if f.read(1) in ["'", '"']: return "dumbdbm"