# ``twisted`.`protocols`.`ftp`.`FTPAnonymousShell``

class documentation

`class FTPAnonymousShell: (source)`

Known subclasses: `twisted.protocols.ftp.FTPShell`

Implements interfaces: `twisted.protocols.ftp.IFTPShell`

View In Hierarchy

An anonymous implementation of IFTPShell

Method | `__init__` | Undocumented
Method | `access` | Determine whether access to the given path is allowed.
Method | `list` | Return the list of files at given `path`, adding `keys` stat informations if specified.
Method | `makeDirectory` | Create a directory.
Method | `openForReading` | Open `path` for reading.
Method | `openForWriting` | Reject write attempts by anonymous users with `PermissionDeniedError`.
Method | `receive` | Undocumented
Method | `removeDirectory` | Remove a directory.
Method | `removeFile` | Remove a file.
Method | `rename` | Rename a file or directory.
Method | `stat` | Retrieve information about the given path.
Instance Variable | `filesystemRoot` | The path which is considered the root of this shell.
Method | `_path` | Undocumented
Method | `_stat_directory` | Get whether the filepath is a directory
Method | `_stat_group` | Get the filepath's owner's group. If this is not implemented (say in Windows) return the string "0" since stat-ing a file in Windows seems to return `st_gid=0`.
Method | `_stat_hardlinks` | Get the number of hardlinks for the filepath - if the number of hardlinks is not yet implemented (say in Windows), just return 0 since stat-ing a file in Windows seems to return `st_nlink=0`.
Method | `_stat_modified` | Get the filepath's last modified date
Method | `_stat_owner` | Get the filepath's owner's username. If this is not implemented (say in Windows) return the string "0" since stat-ing a file in Windows seems to return `st_uid=0`.
Method | `_stat_permissions` | Get the filepath's permissions object
Method | `_stat_size` | Get the filepath's size as an int
Method | `_statNode` | Shortcut method to get stat info on a node.

def __init__(self, filesystemRoot): (source)

Undocumented

def access(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
Determine whether access to the given path is allowed.

Parameters
path | The path, as a list of segments
Returns
A Deferred which fires with None if access is allowed or which fails with a specific exception type if access is denied.

def list(self, path, keys=()): (source)
from `twisted.protocols.ftp.IFTPShell`
Return the list of files at given `path`, adding `keys` stat informations if specified.

Parameters
path:`str` | the directory or file to check.
keys:`list` of `str` | the list of desired metadata

def makeDirectory(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
overridden in `twisted.protocols.ftp.FTPShell`
Create a directory.

Parameters
path:`list` of `unicode` | The path, as a list of segments, to create
Returns
A Deferred which fires when the directory has been created, or which fails if the directory cannot be created.

def openForReading(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
Open `path` for reading.

Parameters
path:`list` of `unicode` | The path, as a list of segments, to open.
Returns
A `Deferred` is returned that will fire with an object implementing `IReadFile` if the file is successfully opened. If `path` is a directory, or if an exception is raised while trying to open the file, the `Deferred` will fire with an error.

def openForWriting(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
overridden in `twisted.protocols.ftp.FTPShell`
Reject write attempts by anonymous users with `PermissionDeniedError`.
def receive(self, path): (source)

Undocumented

def removeDirectory(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
overridden in `twisted.protocols.ftp.FTPShell`
Remove a directory.

Parameters
path:`list` of `unicode` | The path, as a list of segments, to remove
Returns
A Deferred which fires when the directory has been removed, or which fails if the directory cannot be removed.

def removeFile(self, path): (source)
from `twisted.protocols.ftp.IFTPShell`
overridden in `twisted.protocols.ftp.FTPShell`
Remove a file.

Parameters
path:`list` of `unicode` | The path, as a list of segments, to remove
Returns
A Deferred which fires when the file has been removed, or which fails if the file cannot be removed.

def rename(self, fromPath, toPath): (source)
from `twisted.protocols.ftp.IFTPShell`
overridden in `twisted.protocols.ftp.FTPShell`
Rename a file or directory.

Parameters
fromPath:`list` of `unicode` | The current name of the path.
toPath:`list` of `unicode` | The desired new name of the path.
Returns
A Deferred which fires when the path has been renamed, or which fails if the path cannot be renamed.

def stat(self, path, keys=()): (source)
from `twisted.protocols.ftp.IFTPShell`

Retrieve information about the given path.

This is like list, except it will never return results about child paths.

filesystemRoot: `twisted.python.filepath.FilePath` = (source)
The path which is considered the root of this shell.
def _path(self, path): (source)

Undocumented

def _stat_directory(self, fp): (source)
Get whether the filepath is a directory

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`bool`

def _stat_group(self, fp): (source)

Get the filepath's owner's group. If this is not implemented (say in Windows) return the string "0" since stat-ing a file in Windows seems to return `st_gid=0`.

(Reference: http://stackoverflow.com/questions/5275731/os-stat-on-windows)

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`str` representing the owner's group

def _stat_hardlinks(self, fp): (source)

Get the number of hardlinks for the filepath - if the number of hardlinks is not yet implemented (say in Windows), just return 0 since stat-ing a file in Windows seems to return `st_nlink=0`.

(Reference: http://stackoverflow.com/questions/5275731/os-stat-on-windows)

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`int` representing the number of hardlinks

def _stat_modified(self, fp): (source)
Get the filepath's last modified date

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`int` as seconds since the epoch

def _stat_owner(self, fp): (source)

Get the filepath's owner's username. If this is not implemented (say in Windows) return the string "0" since stat-ing a file in Windows seems to return `st_uid=0`.

(Reference: http://stackoverflow.com/questions/5275731/os-stat-on-windows)

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`str` representing the owner's username

def _stat_permissions(self, fp): (source)
Get the filepath's permissions object

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`twisted.python.filepath.Permissions` of `fp`

def _stat_size(self, fp): (source)
Get the filepath's size as an int

Parameters
fp | `twisted.python.filepath.FilePath`
Returns
`int` representing the size

def _statNode(self, filePath, keys): (source)
Shortcut method to get stat info on a node.

Parameters
filePath:`filepath.FilePath` | the node to stat.
keys:`iterable` | the stat keys to get.