summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/dumbdbm.py10
-rw-r--r--Lib/os.py50
-rw-r--r--Lib/site.py8
-rw-r--r--Lib/socket.py3
-rw-r--r--Lib/urllib.py2
-rw-r--r--Lib/whichdb.py15
6 files changed, 64 insertions, 24 deletions
diff --git a/Lib/dumbdbm.py b/Lib/dumbdbm.py
index 45a2f36..f1cc41b 100644
--- a/Lib/dumbdbm.py
+++ b/Lib/dumbdbm.py
@@ -33,9 +33,13 @@ error = IOError # For anydbm
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 ddeb84c..201aa9d 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 @@ elif 'ce' in _names:
__all__.extend(_get_exports_list(ce))
del ce
+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
+ 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 @@ else:
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 12fe71d..807ebc7 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -59,6 +59,12 @@ ImportError exception, it is silently ignored.
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 c928700..136a052 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -48,7 +48,8 @@ __all__.extend(os._get_exports_list(_socket))
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 2eb90f9..302f707 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -41,6 +41,8 @@ if os.name == 'mac':
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 1f12099..fe54cc5 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"