__init__.py revision 539
290N/A# The contents of this file are subject to the terms of the 290N/A# Common Development and Distribution License (the "License"). 290N/A# You may not use this file except in compliance with the License. 290N/A# See the License for the specific language governing permissions 290N/A# and limitations under the License. 290N/A# When distributing Covered Code, include this CDDL HEADER in each 290N/A# If applicable, add the following below this CDDL HEADER, with the 290N/A# fields enclosed by brackets "[]" replaced with your own identifying 290N/A# information: Portions Copyright [yyyy] [name of copyright owner] 290N/A# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 290N/A# Use is subject to license terms. 290N/A# The portable module provide access to methods that require operating system- 290N/A# specific implementations. The module initialization logic selects the right 290N/A# implementation the module is loaded. The module methods then 290N/A# delegate to the implementation class object. 290N/A# The documentation for the methods is provided in this module. To support 290N/A# another operating system, each of these methods must be implemented by the 290N/A# class for that operating system even if it is effectively a no-op. 290N/A# The module and class must be named using os_[impl], where 290N/A# [impl] corresponds to the OS distro, name, or type of OS 290N/A# the class implements. For example, to add specific support 290N/A# for mandrake linux (above and beyond existing support for 290N/A# The following high-level groups of methods are defined in this module: # - Platform Attribute Methods: These methods give access to # attributes of the underlying platform not available through # existing python libraries. For example, the list of implemented # ISAs of a given platform. # - Account access: Retrieval of account information (users and # groups), in some cases for dormant, relocated OS images. # - Miscellaneous filesystem operations: common operations that # differ in implementation or are only available on a subset # of OS or filesystem implementations, such as chown() or rename(). # This module exports the methods defined below. They are defined here as # not implemented to avoid pylint errors. The included OS-specific module # redefines the methods with an OS-specific implementation. """ Return the information for the OS's supported ISAs. This can be a list or a single string.""" """ Return the information for the OS's release version. This must be a dot-separated set of integers (i.e. no alphabetic """ Return a string representing the current hardware model information, e.g. "i86pc".""" """ Return the group ID for a group name. If use_file is true, an OS-specific file from within the file tree rooted by dirpath will be consulted, if it exists. Otherwise, the group ID is retrieved from the operating system. KeyError if the specified group does not exist""" """ Return the user ID for a user name. If use_file is true, an OS-specific file from within the file tree rooted by dirpath will be consulted, if it exists. Otherwise, the user ID is retrieved from the operating system. KeyError if the specified group does not exist""" """ Return the group name for a group ID. If use_file is true, an OS-specific file from within the file tree rooted by dirpath will be consulted, if it exists. Otherwise, the group name is retrieved from the operating system. KeyError if the specified group does not exist""" """ Return the user name for a user ID. If use_file is true, an OS-specific file from within the file tree rooted by dirpath will be consulted, if it exists. Otherwise, the user name is retrieved from the operating system. KeyError if the specified group does not exist""" """ Return true if the invoking user has administrative privileges on the current runtime OS (e.g. are they the """ Return a string representing the invoking user's id.""" """ Return a string representing the invoking user's username.""" # Miscellaneous filesystem operations # ----------------------------------- """ Change ownership of a file in an OS-specific way. The owner and group ownership information should be applied to the given file, if applicable on the current runtime OS. EnvironmentError (or subclass) if the path does not exist or ownership cannot be changed""" """ Change the name of the given file, using the most appropriate method for the OS. OSError (or subclass) if the source path does not exist EnvironmentError if the rename fails.""" """ Link the src to the dst if supported, otherwise copy OSError (or subclass) if the source path does not exist or the link """ Remove the given file in an OS-specific way OSError (or subclass) if the source path does not exist or the file cannot be removed""" """ Copy the contents of the file named src to a file named dst. If dst already exists, it will be replaced. src and dst are path names given as strings. This is similar to python's shutil.copyfile() except that the intention is to deal with platform specifics, such as copying metadata associated with the file (e.g. Resource Exceptions: IOError if the destination location is not writable""" """ Splits a path and gives back the components of the path. This is intended to hide platform-specific details about splitting a path into its components. This interface is similar to os.path.split() except that the entire path is split, not just For platforms where there are additional components (like a windows drive letter), these should be discarded before """ Returns the 'root' of the given path. This should include any and all components of a path up to the first non-platform-specific component. For example, on Windows, it should include the drive letter prefix. This is intended to be used when constructing or deconstructing paths, where the root of the filesystem is significant (and often leads to ambiguity in cross-platform code).""" # try the most-specific module name first (e.g. os_suse), # then try the more generic OS Name module (e.g. os_linux), # then the OS type module (e.g. os_unix) "cannot find portable implementation class for os " +
str(
fragments))