]> granicus.if.org Git - python/commitdiff
forgot this when removing RISCOS stuff
authorSkip Montanaro <skip@pobox.com>
Fri, 17 Aug 2007 01:40:16 +0000 (01:40 +0000)
committerSkip Montanaro <skip@pobox.com>
Fri, 17 Aug 2007 01:40:16 +0000 (01:40 +0000)
Lib/plat-riscos/riscosenviron.py [deleted file]
Lib/plat-riscos/riscospath.py [deleted file]
Lib/plat-riscos/rourl2path.py [deleted file]

diff --git a/Lib/plat-riscos/riscosenviron.py b/Lib/plat-riscos/riscosenviron.py
deleted file mode 100644 (file)
index ae09a9d..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-"""A more or less complete dictionary like interface for the RISC OS environment."""
-
-import riscos
-
-class _Environ:
-    def __init__(self, initial = None):
-        pass
-    def __repr__(self):
-        return repr(riscos.getenvdict())
-    def __cmp__(self, dict):
-        return cmp(riscos.getenvdict(), dict)
-    def __len__(self):
-        return len(riscos.getenvdict())
-    def __getitem__(self, key):
-        ret = riscos.getenv(key)
-        if ret != None:
-            return ret
-        else:
-            raise KeyError
-    def __setitem__(self, key, item):
-        riscos.putenv(key, item)
-    def __delitem__(self, key):
-        riscos.delenv(key)
-    def clear(self):
-        # too dangerous on RISC OS
-        pass
-    def copy(self):
-        return riscos.getenvdict()
-    def keys(self): return riscos.getenvdict().keys()
-    def items(self): return riscos.getenvdict().items()
-    def values(self): return riscos.getenvdict().values()
-    def has_key(self, key):
-        value = riscos.getenv(key)
-        return value != None
-    def __contains__(self, key):
-        return riscos.getenv(key) is not None
-    def update(self, dict):
-        for k, v in dict.items():
-            riscos.putenv(k, v)
-    def get(self, key, failobj=None):
-        value = riscos.getenv(key)
-        if value != None:
-            return value
-        else:
-            return failobj
diff --git a/Lib/plat-riscos/riscospath.py b/Lib/plat-riscos/riscospath.py
deleted file mode 100644 (file)
index b9d1062..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-# Module 'riscospath' -- common operations on RISC OS pathnames.
-
-# contributed by Andrew Clover  ( andrew@oaktree.co.uk )
-
-# The "os.path" name is an alias for this module on RISC OS systems;
-# on other systems (e.g. Mac, Windows), os.path provides the same
-# operations in a manner specific to that platform, and is an alias
-# to another module (e.g. macpath, ntpath).
-
-"""
-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)
-
-import os, stat, string
-
-try:
-    import swi
-except ImportError:
-    class _swi:
-        def swi(*a):
-            raise AttributeError, 'This function only available under RISC OS'
-        block= swi
-    swi= _swi()
-
-[_false, _true]= range(2)
-
-_roots= ['$', '&', '%', '@', '\\']
-
-
-# _allowMOSFSNames
-# After importing riscospath, set _allowMOSFSNames true if you want the module
-# to understand the "-SomeFS-" notation left over from the old BBC Master MOS,
-# as well as the standard "SomeFS:" notation. Set this to be fully backwards
-# compatible but remember that "-SomeFS-" can also be a perfectly valid file
-# name so care must be taken when splitting and joining paths.
-
-_allowMOSFSNames= _false
-
-
-## Path manipulation, RISC OS stylee.
-
-def _split(p):
-    """
-  split filing system name (including special field) and drive specifier from rest
-  of path. This is needed by many riscospath functions.
-  """
-    dash= _allowMOSFSNames and p[:1]=='-'
-    if dash:
-        q= p.find('-', 1)+1
-    else:
-        if p[:1]==':':
-            q= 0
-        else:
-            q= p.find(':')+1 # q= index of start of non-FS portion of path
-    s= p.find('#')
-    if s==-1 or s>q:
-        s= q # find end of main FS name, not including special field
-    else:
-        for c in p[dash:s]:
-            if c not in string.ascii_letters:
-                q= 0
-                break # disallow invalid non-special-field characters in FS name
-    r= q
-    if p[q:q+1]==':':
-        r= p.find('.', q+1)+1
-        if r==0:
-            r= len(p) # find end of drive name (if any) following FS name (if any)
-    return (p[:q], p[q:r], p[r:])
-
-
-def normcase(p):
-    """
-  Normalize the case of a pathname. This converts to lowercase as the native RISC
-  OS filesystems are case-insensitive. However, not all filesystems have to be,
-  and there's no simple way to find out what type an FS is argh.
-  """
-    return p.lower()
-
-
-def isabs(p):
-    """
-  Return whether a path is absolute. Under RISC OS, a file system specifier does
-  not make a path absolute, but a drive name or number does, and so does using the
-  symbol for root, URD, library, CSD or PSD. This means it is perfectly possible
-  to have an "absolute" URL dependent on the current working directory, and
-  equally you can have a "relative" URL that's on a completely different device to
-  the current one argh.
-  """
-    (fs, drive, path)= _split(p)
-    return drive!='' or path[:1] in _roots
-
-
-def join(a, *p):
-    """
-  Join path elements with the directory separator, replacing the entire path when
-  an absolute or FS-changing path part is found.
-  """
-    j= a
-    for b in p:
-        (fs, drive, path)= _split(b)
-        if j=='' or fs!='' or drive!='' or path[:1] in _roots:
-            j= b
-        elif j[-1]==':':
-            j= j+b
-        else:
-            j= j+'.'+b
-    return j
-
-
-def split(p):
-    """
-  Split a path in head (everything up to the last '.') and tail (the rest). FS
-  name must still be dealt with separately since special field may contain '.'.
-  """
-    (fs, drive, path)= _split(p)
-    q= path.rfind('.')
-    if q!=-1:
-        return (fs+drive+path[:q], path[q+1:])
-    return ('', p)
-
-
-def splitext(p):
-    """
-  Split a path in root and extension. This assumes the 'using slash for dot and
-  dot for slash with foreign files' convention common in RISC OS is in force.
-  """
-    (tail, head)= split(p)
-    if '/' in head:
-        q= len(head)-head.rfind('/')
-        return (p[:-q], p[-q:])
-    return (p, '')
-
-
-def splitdrive(p):
-    """
-  Split a pathname into a drive specification (including FS name) and the rest of
-  the path. The terminating dot of the drive name is included in the drive
-  specification.
-  """
-    (fs, drive, path)= _split(p)
-    return (fs+drive, p)
-
-
-def basename(p):
-    """
-  Return the tail (basename) part of a path.
-  """
-    return split(p)[1]
-
-
-def dirname(p):
-    """
-  Return the head (dirname) part of a path.
-  """
-    return split(p)[0]
-
-
-def commonprefix(m):
-    "Given a list of pathnames, returns the longest common leading component"
-    if not m: return ''
-    s1 = min(m)
-    s2 = max(m)
-    n = min(len(s1), len(s2))
-    for i in range(n):
-        if s1[i] != s2[i]:
-            return s1[:i]
-    return s1[:n]
-
-
-## File access functions. Why are we in os.path?
-
-def getsize(p):
-    """
-  Return the size of a file, reported by os.stat().
-  """
-    st= os.stat(p)
-    return st[stat.ST_SIZE]
-
-
-def getmtime(p):
-    """
-  Return the last modification time of a file, reported by os.stat().
-  """
-    st = os.stat(p)
-    return st[stat.ST_MTIME]
-
-getatime= getmtime
-
-
-# RISC OS-specific file access functions
-
-def exists(p):
-    """
-  Test whether a path exists.
-  """
-    try:
-        return swi.swi('OS_File', '5s;i', p)!=0
-    except swi.error:
-        return 0
-
-lexists = exists
-
-
-def isdir(p):
-    """
-  Is a path a directory? Includes image files.
-  """
-    try:
-        return swi.swi('OS_File', '5s;i', p) in [2, 3]
-    except swi.error:
-        return 0
-
-
-def isfile(p):
-    """
-  Test whether a path is a file, including image files.
-  """
-    try:
-        return swi.swi('OS_File', '5s;i', p) in [1, 3]
-    except swi.error:
-        return 0
-
-
-def islink(p):
-    """
-  RISC OS has no links or mounts.
-  """
-    return _false
-
-ismount= islink
-
-
-# Same-file testing.
-
-# samefile works on filename comparison since there is no ST_DEV and ST_INO is
-# not reliably unique (esp. directories). First it has to normalise the
-# pathnames, which it can do 'properly' using OS_FSControl since samefile can
-# assume it's running on RISC OS (unlike normpath).
-
-def samefile(fa, fb):
-    """
-  Test whether two pathnames reference the same actual file.
-  """
-    l= 512
-    b= swi.block(l)
-    swi.swi('OS_FSControl', 'isb..i', 37, fa, b, l)
-    fa= b.ctrlstring()
-    swi.swi('OS_FSControl', 'isb..i', 37, fb, b, l)
-    fb= b.ctrlstring()
-    return fa==fb
-
-
-def sameopenfile(a, b):
-    """
-  Test whether two open file objects reference the same file.
-  """
-    return os.fstat(a)[stat.ST_INO]==os.fstat(b)[stat.ST_INO]
-
-
-## Path canonicalisation
-
-# 'user directory' is taken as meaning the User Root Directory, which is in
-# practice never used, for anything.
-
-def expanduser(p):
-    (fs, drive, path)= _split(p)
-    l= 512
-    b= swi.block(l)
-
-    if path[:1]!='@':
-        return p
-    if fs=='':
-        fsno= swi.swi('OS_Args', '00;i')
-        swi.swi('OS_FSControl', 'iibi', 33, fsno, b, l)
-        fsname= b.ctrlstring()
-    else:
-        if fs[:1]=='-':
-            fsname= fs[1:-1]
-        else:
-            fsname= fs[:-1]
-        fsname= fsname.split('#', 1)[0] # remove special field from fs
-    x= swi.swi('OS_FSControl', 'ib2s.i;.....i', 54, b, fsname, l)
-    if x<l:
-        urd= b.tostring(0, l-x-1)
-    else: # no URD! try CSD
-        x= swi.swi('OS_FSControl', 'ib0s.i;.....i', 54, b, fsname, l)
-        if x<l:
-            urd= b.tostring(0, l-x-1)
-        else: # no CSD! use root
-            urd= '$'
-    return fsname+':'+urd+path[1:]
-
-# Environment variables are in angle brackets.
-
-def expandvars(p):
-    """
-  Expand environment variables using OS_GSTrans.
-  """
-    l= 512
-    b= swi.block(l)
-    return b.tostring(0, swi.swi('OS_GSTrans', 'sbi;..i', p, b, l))
-
-
-# Return an absolute path. RISC OS' osfscontrol_canonicalise_path does this among others
-abspath = os.expand
-
-
-# realpath is a no-op on systems without islink support
-realpath = abspath
-
-
-# Normalize a path. Only special path element under RISC OS is "^" for "..".
-
-def normpath(p):
-    """
-  Normalize path, eliminating up-directory ^s.
-  """
-    (fs, drive, path)= _split(p)
-    rhs= ''
-    ups= 0
-    while path!='':
-        (path, el)= split(path)
-        if el=='^':
-            ups= ups+1
-        else:
-            if ups>0:
-                ups= ups-1
-            else:
-                if rhs=='':
-                    rhs= el
-                else:
-                    rhs= el+'.'+rhs
-    while ups>0:
-        ups= ups-1
-        rhs= '^.'+rhs
-    return fs+drive+rhs
-
-
-# Directory tree walk.
-# Independent of host system. Why am I in os.path?
-
-def walk(top, func, arg):
-    """Directory tree walk with callback function.
-
-    For each directory in the directory tree rooted at top (including top
-    itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
-    dirname is the name of the directory, and fnames a list of the names of
-    the files and subdirectories in dirname (excluding '.' and '..').  func
-    may modify the fnames list in-place (e.g. via del or slice assignment),
-    and walk will only recurse into the subdirectories whose names remain in
-    fnames; this can be used to implement a filter, or to impose a specific
-    order of visiting.  No semantics are defined for, or required of, arg,
-    beyond that arg is always passed to func.  It can be used, e.g., to pass
-    a filename pattern, or a mutable object designed to accumulate
-    statistics.  Passing None for arg is common."""
-
-    try:
-        names= os.listdir(top)
-    except os.error:
-        return
-    func(arg, top, names)
-    for name in names:
-        name= join(top, name)
-        if isdir(name) and not islink(name):
-            walk(name, func, arg)
diff --git a/Lib/plat-riscos/rourl2path.py b/Lib/plat-riscos/rourl2path.py
deleted file mode 100644 (file)
index 7694f1c..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-"""riscos specific module for conversion between pathnames and URLs.
-Based on macurl2path.
-Do not import directly, use urllib instead."""
-
-import string
-import urllib
-import os
-
-__all__ = ["url2pathname","pathname2url"]
-
-__slash_dot = string.maketrans("/.", "./")
-
-def url2pathname(url):
-    """OS-specific conversion from a relative URL of the 'file' scheme
-    to a file system path; not recommended for general use."""
-    tp = urllib.splittype(url)[0]
-    if tp and tp != 'file':
-        raise RuntimeError, 'Cannot convert non-local URL to pathname'
-    # Turn starting /// into /, an empty hostname means current host
-    if url[:3] == '///':
-        url = url[2:]
-    elif url[:2] == '//':
-        raise RuntimeError, 'Cannot convert non-local URL to pathname'
-    components = url.split('/')
-    if not components[0]:
-        if '$' in components:
-            del components[0]
-        else:
-            components[0] = '$'
-    # Remove . and embedded ..
-    i = 0
-    while i < len(components):
-        if components[i] == '.':
-            del components[i]
-        elif components[i] == '..' and i > 0 and \
-                                  components[i-1] not in ('', '..'):
-            del components[i-1:i+1]
-            i -= 1
-        elif components[i] == '..':
-            components[i] = '^'
-            i += 1
-        elif components[i] == '' and i > 0 and components[i-1] != '':
-            del components[i]
-        else:
-            i += 1
-    components = map(lambda x: urllib.unquote(x).translate(__slash_dot), components)
-    return '.'.join(components)
-
-def pathname2url(pathname):
-    """OS-specific conversion from a file system path to a relative URL
-    of the 'file' scheme; not recommended for general use."""
-    return urllib.quote('///' + pathname.translate(__slash_dot), "/$:")
-
-def test():
-    for url in ["index.html",
-                "/SCSI::SCSI4/$/Anwendung/Comm/Apps/!Fresco/Welcome",
-                "/SCSI::SCSI4/$/Anwendung/Comm/Apps/../!Fresco/Welcome",
-                "../index.html",
-                "bar/index.html",
-                "/foo/bar/index.html",
-                "/foo/bar/",
-                "/"]:
-        print('%r -> %r' % (url, url2pathname(url)))
-    print("*******************************************************")
-    for path in ["SCSI::SCSI4.$.Anwendung",
-                 "PythonApp:Lib",
-                 "PythonApp:Lib.rourl2path/py"]:
-        print('%r -> %r' % (path, pathname2url(path)))
-
-if __name__ == '__main__':
-    test()