t.p.f.FilePath(_PathHelper) : class documentation

Part of twisted.python.filepath View Source View In Hierarchy

Known subclasses: twisted.web.static.File, twisted.web.twcgi.CGIDirectory, twisted.web2.twcgi.CGIDirectory

I am a path on the filesystem that only permits 'downwards' access.

Instantiate me with a pathname (for example, FilePath('/home/myuser/public_html')) and I will attempt to only provide access to files which reside inside that path. I may be a path to a file, a directory, or a file which does not exist.

The correct way to use me is to instantiate me, and then do ALL filesystem access through me. In other words, do not import the 'os' module; if you need to open a file, call my 'open' method. If you need to list a directory, call my 'path' method.

Even if you pass me a relative path, I will convert that to an absolute path internally.

Note: although time-related methods do return floating-point results, they may still be only second resolution depending on the platform and the last value passed to os.stat_float_times. If you want greater-than-second precision, call os.stat_float_times(True), or use Python 2.5. Greater-than-second precision is only available in Windows on Python2.5 and later.
Instance VariablesalwaysCreateWhen opening this file, only succeed if the file does not already exist. (type: bool )
Method __init__ Undocumented
Method __getstate__ Undocumented
Method child Undocumented
Method preauthChild Use me if `path' might have slashes in it, but you know they're safe.
Method childSearchPreauth Return my first existing child with a name in 'paths'.
Method siblingExtensionSearch Attempt to return a path with my name, given multiple possible extensions.
Method realpath No summary
Method siblingExtension Undocumented
Method linkTo No summary
Method open Undocumented
Method restat Re-calculate cached effects of 'stat'. To refresh information on this path after you know the filesystem may have changed, call this method.
Method chmod Changes the permissions on self, if possible. Propagates errors from os.chmod up.
Method getsize Undocumented
Method getModificationTime Retrieve the time of last access from this file.
Method getStatusChangeTime Retrieve the time of the last status change for this file.
Method getAccessTime Retrieve the time that this file was last accessed.
Method exists Check if the path exists.
Method isdir Undocumented
Method isfile Undocumented
Method islink Undocumented
Method isabs Undocumented
Method listdir Undocumented
Method splitext Undocumented
Method __repr__ Undocumented
Method touch Undocumented
Method remove No summary
Method makedirs Create all directories not yet existing in path segments, using os.makedirs.
Method globChildren Assuming I am representing a directory, return a list of FilePaths representing my children that match the given pattern.
Method basename Undocumented
Method dirname Undocumented
Method parent Undocumented
Method setContent Undocumented
Method __cmp__ Undocumented
Method createDirectory Undocumented
Method requireCreate Undocumented
Method create Exclusively create a file, only if this file previously did not exist.
Method temporarySibling Create a path naming a temporary sibling of this path in a secure fashion.
Method copyTo Copies self to destination.
Method moveTo No summary

Inherited from _PathHelper:

Method getContent Undocumented
Method children List the chilren of this path object.
Method walk No summary
Method sibling Undocumented
Method segmentsFrom Return a list of segments between a child and its ancestor.
Method __hash__ Hash the same as another FilePath with the same path as mine.
Method getmtime Deprecated. Use getModificationTime instead.
Method getatime Deprecated. Use getAccessTime instead.
Method getctime Deprecated. Use getStatusChangeTime instead.
def __init__(self, path, alwaysCreate=False): (source)
Undocumented
def __getstate__(self): (source)
Undocumented
def child(self, path): (source)
Undocumented
def preauthChild(self, path): (source)

Use me if `path' might have slashes in it, but you know they're safe.

(NOT slashes at the beginning. It still needs to be a _child_).
def childSearchPreauth(self, *paths): (source)

Return my first existing child with a name in 'paths'.

paths is expected to be a list of *pre-secured* path fragments; in most cases this will be specified by a system administrator and not an arbitrary user.

If no appropriately-named children exist, this will return None.
def siblingExtensionSearch(self, *exts): (source)

Attempt to return a path with my name, given multiple possible extensions.

Each extension in exts will be tested and the first path which exists will be returned. If no path exists, None will be returned. If '' is in exts, then if the file referred to by this path exists, 'self' will be returned.

The extension '*' has a magic meaning, which means "any path that begins with self.path+'.' is acceptable".
def realpath(self): (source)

Returns the absolute target as a FilePath if self is a link, self otherwise. The absolute link is the ultimate file or directory the link refers to (for instance, if the link refers to another link, and another...). If the filesystem does not support symlinks, or if the link is cyclical, raises a LinkError.

Behaves like os.path.realpath in that it does not resolve link names in the middle (ex. /x/y/z, y is a link to w - realpath on z will return /x/y/z, not /x/w/z).
ReturnsFilePath of the target path
RaisesLinkErrorif links are not supported or links are cyclical.
def siblingExtension(self, ext): (source)
Undocumented
def linkTo(self, linkFilePath): (source)
Creates a symlink to self to at the path in the FilePath linkFilePath. Only works on posix systems due to its dependence on os.symlink. Propagates OSErrors up from os.symlink if linkFilePath.parent() does not exist, or linkFilePath already exists.
ParameterslinkFilePatha FilePath representing the link to be created (type: FilePath )
def open(self, mode='r'): (source)
Undocumented
def restat(self, reraise=True): (source)
Re-calculate cached effects of 'stat'. To refresh information on this path after you know the filesystem may have changed, call this method.
Parametersreraisea boolean. If true, re-raise exceptions from os.stat; otherwise, mark this path as not existing, and remove any cached stat information.
def chmod(self, mode): (source)
Changes the permissions on self, if possible. Propagates errors from os.chmod up.
Parametersmodeinteger representing the new permissions desired (same as the command line chmod) (type: int )
def getsize(self): (source)
Undocumented
def getModificationTime(self): (source)
Retrieve the time of last access from this file.
Returnsa number of seconds from the epoch. (type: float )
def getStatusChangeTime(self): (source)
Retrieve the time of the last status change for this file.
Returnsa number of seconds from the epoch. (type: float )
def getAccessTime(self): (source)
Retrieve the time that this file was last accessed.
Returnsa number of seconds from the epoch. (type: float )
def exists(self): (source)
Check if the path exists.
ReturnsTrue if the stats of path can be retrieved successfully, False in the other cases. (type: bool )
def isdir(self): (source)
Undocumented
def isfile(self): (source)
Undocumented
def islink(self): (source)
Undocumented
def isabs(self): (source)
Undocumented
def listdir(self): (source)
Undocumented
def splitext(self): (source)
Undocumented
def __repr__(self): (source)
Undocumented
def touch(self): (source)
Undocumented
def remove(self): (source)
Removes the file or directory that is represented by self. If self.path is a directory, recursively remove all its children before removing the directory. If it's a file or link, just delete it.
def makedirs(self): (source)
Create all directories not yet existing in path segments, using os.makedirs.
def globChildren(self, pattern): (source)
Assuming I am representing a directory, return a list of FilePaths representing my children that match the given pattern.
def basename(self): (source)
Undocumented
def dirname(self): (source)
Undocumented
def parent(self): (source)
Undocumented
def setContent(self, content, ext='.new'): (source)
Undocumented
def __cmp__(self, other): (source)
Undocumented
def createDirectory(self): (source)
Undocumented
def requireCreate(self, val=1): (source)
Undocumented
def create(self): (source)
Exclusively create a file, only if this file previously did not exist.
def temporarySibling(self): (source)
Create a path naming a temporary sibling of this path in a secure fashion.
def copyTo(self, destination, followLinks=True): (source)

Copies self to destination.

If self is a directory, this method copies its children (but not itself) recursively to destination - if destination does not exist as a directory, this method creates it. If destination is a file, an IOError will be raised.

If self is a file, this method copies it to destination. If destination is a file, this method overwrites it. If destination is a directory, an IOError will be raised.

If self is a link (and followLinks is False), self will be copied over as a new symlink with the same target as returned by os.readlink. That means that if it is absolute, both the old and new symlink will link to the same thing. If it's relative, then perhaps not (and it's also possible that this relative link will be broken).

File/directory permissions and ownership will NOT be copied over.

If followLinks is True, symlinks are followed so that they're treated as their targets. In other words, if self is a link, the link's target will be copied. If destination is a link, self will be copied to the destination's target (the actual destination will be destination's target). Symlinks under self (if self is a directory) will be followed and its target's children be copied recursively.

If followLinks is False, symlinks will be copied over as symlinks.
Parametersdestinationthe destination (a FilePath) to which self should be copied
followLinkswhether symlinks in self should be treated as links or as their targets
def moveTo(self, destination, followLinks=True): (source)

Move self to destination - basically renaming self to whatever destination is named. If destination is an already-existing directory, moves all children to destination if destination is empty. If destination is a non-empty directory, or destination is a file, an OSError will be raised.

If moving between filesystems, self needs to be copied, and everything that applies to copyTo applies to moveTo.
Parametersdestinationthe destination (a FilePath) to which self should be copied
followLinkswhether symlinks in self should be treated as links or as their targets (only applicable when moving between filesystems)
API Documentation for Twisted, generated by pydoctor at 2011-10-27 16:02:37.