mirror of https://github.com/python/cpython
some RiscOS stuff I missed before (was only looking for "RISCOS")
This commit is contained in:
parent
ceaafa66ef
commit
289bc05709
|
@ -171,9 +171,6 @@ function arguments, instead.
|
|||
|
||||
#. A platform-specific location:
|
||||
|
||||
* On RiscOS, the directory named by the :envvar:`Wimp$ScrapDir` environment
|
||||
variable.
|
||||
|
||||
* On Windows, the directories :file:`C:\\TEMP`, :file:`C:\\TMP`,
|
||||
:file:`\\TEMP`, and :file:`\\TMP`, in that order.
|
||||
|
||||
|
|
116
Lib/os.py
116
Lib/os.py
|
@ -3,7 +3,7 @@ r"""OS routines for Mac, NT, or Posix depending on what system we're on.
|
|||
This exports:
|
||||
- all functions from posix, nt, os2, mac, or ce, e.g. unlink, stat, etc.
|
||||
- os.path is one of the modules posixpath, ntpath, or macpath
|
||||
- os.name is 'posix', 'nt', 'os2', 'mac', 'ce' or 'riscos'
|
||||
- os.name is 'posix', 'nt', 'os2', 'mac' or 'ce'
|
||||
- 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 '\\')
|
||||
|
@ -112,20 +112,6 @@ elif 'ce' in _names:
|
|||
__all__.extend(_get_exports_list(ce))
|
||||
del ce
|
||||
|
||||
elif 'riscos' in _names:
|
||||
name = 'riscos'
|
||||
linesep = '\n'
|
||||
from riscos import *
|
||||
try:
|
||||
from riscos import _exit
|
||||
except ImportError:
|
||||
pass
|
||||
import riscospath as path
|
||||
|
||||
import riscos
|
||||
__all__.extend(_get_exports_list(riscos))
|
||||
del riscos
|
||||
|
||||
else:
|
||||
raise ImportError, 'no os specific module found'
|
||||
|
||||
|
@ -404,62 +390,58 @@ def _execvpe(file, args, env=None):
|
|||
raise error, last_exc, tb
|
||||
|
||||
|
||||
if name == "riscos":
|
||||
# On RISC OS, all env access goes through getenv and putenv
|
||||
from riscosenviron import _Environ
|
||||
# Change environ to automatically call putenv(), unsetenv if they exist.
|
||||
from _abcoll import MutableMapping # Can't use collections (bootstrap)
|
||||
|
||||
class _Environ(MutableMapping):
|
||||
def __init__(self, environ, keymap, putenv, unsetenv):
|
||||
self.keymap = keymap
|
||||
self.putenv = putenv
|
||||
self.unsetenv = unsetenv
|
||||
self.data = data = {}
|
||||
for key, value in environ.items():
|
||||
data[keymap(key)] = str(value)
|
||||
def __getitem__(self, key):
|
||||
return self.data[self.keymap(key)]
|
||||
def __setitem__(self, key, value):
|
||||
value = str(value)
|
||||
self.putenv(key, value)
|
||||
self.data[self.keymap(key)] = value
|
||||
def __delitem__(self, key):
|
||||
self.unsetenv(key)
|
||||
del self.data[self.keymap(key)]
|
||||
def __iter__(self):
|
||||
for key in self.data:
|
||||
yield key
|
||||
def __len__(self):
|
||||
return len(self.data)
|
||||
def copy(self):
|
||||
return dict(self)
|
||||
def setdefault(self, key, value):
|
||||
if key not in self:
|
||||
self[key] = value
|
||||
return self[key]
|
||||
|
||||
try:
|
||||
_putenv = putenv
|
||||
except NameError:
|
||||
_putenv = lambda key, value: None
|
||||
else:
|
||||
# Change environ to automatically call putenv(), unsetenv if they exist.
|
||||
from _abcoll import MutableMapping # Can't use collections (bootstrap)
|
||||
__all__.append("putenv")
|
||||
|
||||
class _Environ(MutableMapping):
|
||||
def __init__(self, environ, keymap, putenv, unsetenv):
|
||||
self.keymap = keymap
|
||||
self.putenv = putenv
|
||||
self.unsetenv = unsetenv
|
||||
self.data = data = {}
|
||||
for key, value in environ.items():
|
||||
data[keymap(key)] = str(value)
|
||||
def __getitem__(self, key):
|
||||
return self.data[self.keymap(key)]
|
||||
def __setitem__(self, key, value):
|
||||
value = str(value)
|
||||
self.putenv(key, value)
|
||||
self.data[self.keymap(key)] = value
|
||||
def __delitem__(self, key):
|
||||
self.unsetenv(key)
|
||||
del self.data[self.keymap(key)]
|
||||
def __iter__(self):
|
||||
for key in self.data:
|
||||
yield key
|
||||
def __len__(self):
|
||||
return len(self.data)
|
||||
def copy(self):
|
||||
return dict(self)
|
||||
def setdefault(self, key, value):
|
||||
if key not in self:
|
||||
self[key] = value
|
||||
return self[key]
|
||||
try:
|
||||
_unsetenv = unsetenv
|
||||
except NameError:
|
||||
_unsetenv = lambda key: _putenv(key, "")
|
||||
else:
|
||||
__all__.append("unsetenv")
|
||||
|
||||
try:
|
||||
_putenv = putenv
|
||||
except NameError:
|
||||
_putenv = lambda key, value: None
|
||||
else:
|
||||
__all__.append("putenv")
|
||||
if name in ('os2', 'nt'): # Where Env Var Names Must Be UPPERCASE
|
||||
_keymap = lambda key: str(key.upper())
|
||||
else: # Where Env Var Names Can Be Mixed Case
|
||||
_keymap = lambda key: str(key)
|
||||
|
||||
try:
|
||||
_unsetenv = unsetenv
|
||||
except NameError:
|
||||
_unsetenv = lambda key: _putenv(key, "")
|
||||
else:
|
||||
__all__.append("unsetenv")
|
||||
|
||||
if name in ('os2', 'nt'): # Where Env Var Names Must Be UPPERCASE
|
||||
_keymap = lambda key: str(key.upper())
|
||||
else: # Where Env Var Names Can Be Mixed Case
|
||||
_keymap = lambda key: str(key)
|
||||
|
||||
environ = _Environ(environ, _keymap, _putenv, _unsetenv)
|
||||
environ = _Environ(environ, _keymap, _putenv, _unsetenv)
|
||||
|
||||
|
||||
def getenv(key, default=None):
|
||||
|
|
|
@ -272,7 +272,7 @@ del __load
|
|||
|
||||
MAYMISS_MODULES = ['mac', 'os2', 'nt', 'ntpath', 'dos', 'dospath',
|
||||
'win32api', 'ce', '_winreg', 'nturl2path', 'sitecustomize',
|
||||
'org.python.core', 'riscos', 'riscosenviron', 'riscospath'
|
||||
'org.python.core'
|
||||
]
|
||||
|
||||
STRIP_EXEC = "/usr/bin/strip"
|
||||
|
|
|
@ -180,7 +180,7 @@ def addsitepackages(known_paths):
|
|||
prefixes.append(sys.exec_prefix)
|
||||
for prefix in prefixes:
|
||||
if prefix:
|
||||
if sys.platform in ('os2emx', 'riscos'):
|
||||
if sys.platform == 'os2emx':
|
||||
sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
|
||||
elif os.sep == '/':
|
||||
sitedirs = [os.path.join(prefix,
|
||||
|
|
|
@ -159,9 +159,6 @@ def _candidate_tempdir_list():
|
|||
dirlist.append(dirname)
|
||||
except _Folder.error:
|
||||
pass
|
||||
elif _os.name == 'riscos':
|
||||
dirname = _os.getenv('Wimp$ScrapDir')
|
||||
if dirname: dirlist.append(dirname)
|
||||
elif _os.name == 'nt':
|
||||
dirlist.extend([ r'c:\temp', r'c:\tmp', r'\temp', r'\tmp' ])
|
||||
else:
|
||||
|
|
|
@ -947,33 +947,6 @@ _expectations = {
|
|||
test_threadedtempfile
|
||||
test_threading
|
||||
""",
|
||||
'riscos':
|
||||
"""
|
||||
test_asynchat
|
||||
test_atexit
|
||||
test_bsddb
|
||||
test_bsddb3
|
||||
test_commands
|
||||
test_crypt
|
||||
test_dbm
|
||||
test_dl
|
||||
test_fcntl
|
||||
test_fork1
|
||||
test_gdbm
|
||||
test_grp
|
||||
test_largefile
|
||||
test_locale
|
||||
test_mmap
|
||||
test_openpty
|
||||
test_poll
|
||||
test_pty
|
||||
test_pwd
|
||||
test_sundry
|
||||
test_thread
|
||||
test_threaded_import
|
||||
test_threadedtempfile
|
||||
test_threading
|
||||
""",
|
||||
'darwin':
|
||||
"""
|
||||
test__locale
|
||||
|
|
|
@ -11,7 +11,7 @@ import sys
|
|||
import bz2
|
||||
from bz2 import BZ2File, BZ2Compressor, BZ2Decompressor
|
||||
|
||||
has_cmdline_bunzip2 = sys.platform not in ("win32", "os2emx", "riscos")
|
||||
has_cmdline_bunzip2 = sys.platform not in ("win32", "os2emx")
|
||||
|
||||
class BaseTest(unittest.TestCase):
|
||||
"Base for other testcases."
|
||||
|
|
|
@ -13,8 +13,7 @@ import io
|
|||
import sys
|
||||
import mhlib
|
||||
|
||||
if (sys.platform.startswith("win") or sys.platform=="riscos" or
|
||||
sys.platform.startswith("atheos")):
|
||||
if sys.platform.startswith("win") or sys.platform.startswith("atheos"):
|
||||
# mhlib.updateline() renames a file to the name of a file that already
|
||||
# exists. That causes a reasonable OS <wink> to complain in test_sequence
|
||||
# here, like the "OSError: [Errno 17] File exists" raised on Windows.
|
||||
|
|
|
@ -42,7 +42,7 @@ else:
|
|||
|
||||
def test():
|
||||
import sys
|
||||
if sys.platform[:3] in ('win', 'mac', 'os2', 'riscos'):
|
||||
if sys.platform[:3] in ('win', 'mac', 'os2'):
|
||||
if verbose:
|
||||
print("Can't test select easily on", sys.platform)
|
||||
return
|
||||
|
|
|
@ -3,7 +3,7 @@ from test.test_support import verbose, TestSkipped, TestFailed, vereq
|
|||
import signal
|
||||
import os, sys, time
|
||||
|
||||
if sys.platform[:3] in ('win', 'os2') or sys.platform=='riscos':
|
||||
if sys.platform[:3] in ('win', 'os2'):
|
||||
raise TestSkipped, "Can't test signal on %s" % sys.platform
|
||||
|
||||
MAX_DURATION = 20 # Entire test should last at most 20 sec.
|
||||
|
|
|
@ -142,8 +142,6 @@ is_jython = sys.platform.startswith('java')
|
|||
if os.name == 'java':
|
||||
# Jython disallows @ in module names
|
||||
TESTFN = '$test'
|
||||
elif os.name == 'riscos':
|
||||
TESTFN = 'testfile'
|
||||
else:
|
||||
TESTFN = '@test'
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import os
|
|||
import sys
|
||||
from test.test_support import run_unittest, TestSkipped
|
||||
|
||||
if sys.platform[:3] in ('win', 'os2') or sys.platform=='riscos':
|
||||
if sys.platform[:3] in ('win', 'os2'):
|
||||
raise TestSkipped, "Can't test signal on %s" % sys.platform
|
||||
|
||||
process_pid = os.getpid()
|
||||
|
|
|
@ -26,10 +26,6 @@ class TrivialTests(unittest.TestCase):
|
|||
# urllib.pathname2url works, unfortunately...
|
||||
if os.name == 'mac':
|
||||
fname = '/' + fname.replace(':', '/')
|
||||
elif os.name == 'riscos':
|
||||
import string
|
||||
fname = os.expand(fname)
|
||||
fname = fname.translate(string.maketrans("/.", "./"))
|
||||
|
||||
file_url = "file://%s" % fname
|
||||
f = urllib2.urlopen(file_url)
|
||||
|
|
|
@ -46,8 +46,6 @@ 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):
|
||||
"""OS-specific conversion from a relative URL of the 'file' scheme
|
||||
|
|
|
@ -125,7 +125,7 @@ def main():
|
|||
# default the exclude list for each platform
|
||||
if win: exclude = exclude + [
|
||||
'dos', 'dospath', 'mac', 'macpath', 'macfs', 'MACFS', 'posix',
|
||||
'os2', 'ce', 'riscos', 'riscosenviron', 'riscospath',
|
||||
'os2', 'ce',
|
||||
]
|
||||
|
||||
fail_import = exclude[:]
|
||||
|
|
Loading…
Reference in New Issue