An FTP protocol implementation

Class InvalidPath Internal exception used to signify an error during parsing a path.
Function toSegments Normalize a path, as represented by a list of strings each representing one segment of the path.
Function errnoToFailure Map OSError and IOError to standard FTP errors.
Class FTPCmdError Generic exception for FTP commands.
Class FileNotFoundError Raised when trying to access a non existent file or directory.
Class AnonUserDeniedError Raised when an anonymous user issues a command that will alter the filesystem
Class PermissionDeniedError Raised when access is attempted to a resource to which access is not allowed.
Class IsNotADirectoryError Raised when RMD is called on a path that isn't a directory.
Class FileExistsError Raised when attempted to override an existing resource.
Class IsADirectoryError Raised when DELE is called on a path that is a directory.
Class CmdSyntaxError Raised when a command syntax is wrong.
Class CmdArgSyntaxError Raised when a command is called with wrong value or a wrong number of arguments.
Class CmdNotImplementedError Raised when an unimplemented command is given to the server.
Class CmdNotImplementedForArgError Raised when the handling of a parameter for a command is not implemented by the server.
Class FTPError Undocumented
Class PortConnectionError Undocumented
Class BadCmdSequenceError Raised when a client sends a series of commands in an illogical sequence.
Class AuthorizationError Raised when client authentication fails.
Function debugDeferred Undocumented
Class DTP No class docstring; 2/15 methods documented
Class DTPFactory Client factory for data transfer process protocols.
Class ASCIIConsumerWrapper Undocumented
Class FileConsumer A consumer for FTP input that writes data to a file.
Class FTPOverflowProtocol FTP mini-protocol for when there are too many connections.
Class FTP Protocol Interpreter for the File Transfer Protocol
Class FTPFactory A factory for producing ftp protocol instances
Interface IFTPShell An abstraction of the shell commands used by the FTP protocol for a given user account.
Interface IReadFile A file out of which bytes may be read.
Interface IWriteFile A file into which bytes may be written.
Class FTPAnonymousShell An anonymous implementation of IFTPShell
Class FTPShell An authenticated implementation of IFTPShell.
Class BaseFTPRealm Base class for simple FTP realms which provides an easy hook for specifying the home directory for each user.
Class FTPRealm
Class SystemFTPRealm SystemFTPRealm uses system user account information to decide what the home directory for a particular avatarId is.
Class ConnectionLost Undocumented
Class CommandFailed Undocumented
Class BadResponse Undocumented
Class UnexpectedResponse Undocumented
Class UnexpectedData Undocumented
Class FTPCommand Undocumented
Class ProtocolWrapper Undocumented
Interface IFinishableConsumer A Consumer for producers that finish.
Class SenderProtocol No class docstring; 2/8 methods documented
Function decodeHostPort Decode an FTP response specifying a host and port.
Function encodeHostPort Undocumented
Class FTPDataPortFactory Factory for data connections that use the PORT command
Class FTPClientBasic Foundations of an FTP client.
Class FTPClient FTPClient is a client implementation of the FTP protocol which exposes FTP commands as methods which return Deferreds.
Class FTPFileListProtocol Parser for standard FTP file listings
Function parsePWDResponse Returns the path from a response to a PWD command.
Function _isGlobbingExpression Helper for checking if a FTPShell `segments` contains a wildcard Unix expression.
Function _getgroups Return the primary and supplementary groups for the given UID.
Function _testPermissions checks to see if uid has proper permissions to access path with mode
Class _FileReader Undocumented
Class _FileWriter Undocumented
Function _unwrapFirstError Undocumented
Class _PassiveConnectionFactory Undocumented
def toSegments(cwd, path): (source)

Normalize a path, as represented by a list of strings each representing one segment of the path.

def errnoToFailure(e, path): (source)

Map OSError and IOError to standard FTP errors.

def _isGlobbingExpression(segments=None): (source)

Helper for checking if a FTPShell `segments` contains a wildcard Unix expression.

Only filename globbing is supported. This means that wildcards can only be presents in the last element of `segments`.

ParameterssegmentsList of path elements as used by the FTP server protocol. (type: list)
ReturnsTrue if `segments` contains a globbing expression. (type: Boolean)
def debugDeferred(self, *_): (source)
Undocumented
def _getgroups(uid): (source)

Return the primary and supplementary groups for the given UID.

def _testPermissions(uid, gid, spath, mode='r'): (source)

checks to see if uid has proper permissions to access path with mode

Parametersuidnumeric user id (type: int)
gidnumeric group id (type: int)
spaththe path on the server to test (type: str)
mode'r' or 'w' (read or write) (type: str)
ReturnsTrue if the given credentials have the specified form of access to the given path (type: bool)
def decodeHostPort(line): (source)

Decode an FTP response specifying a host and port.

Returnsa 2-tuple of (host, port).
def encodeHostPort(host, port): (source)
Undocumented
def _unwrapFirstError(failure): (source)
Undocumented
def parsePWDResponse(response): (source)

Returns the path from a response to a PWD command.

Responses typically look like:

   257 "/home/andrew" is current directory.

For this example, I will return '/home/andrew'.

If I can't find the path, I return None.

API Documentation for Twisted, generated by pydoctor at 2017-06-11 10:59:01.