| Index: third_party/twisted_8_1/twisted/conch/interfaces.py
|
| diff --git a/third_party/twisted_8_1/twisted/conch/interfaces.py b/third_party/twisted_8_1/twisted/conch/interfaces.py
|
| deleted file mode 100644
|
| index 901d87bb7c84a9a8f442765d8dcb8b6086449434..0000000000000000000000000000000000000000
|
| --- a/third_party/twisted_8_1/twisted/conch/interfaces.py
|
| +++ /dev/null
|
| @@ -1,354 +0,0 @@
|
| -# Copyright (c) 2007 Twisted Matrix Laboratories.
|
| -# See LICENSE for details.
|
| -
|
| -from zope.interface import Interface
|
| -
|
| -class IConchUser(Interface):
|
| - """A user who has been authenticated to Cred through Conch. This is
|
| - the interface between the SSH connection and the user.
|
| -
|
| - @ivar conn: The SSHConnection object for this user.
|
| - """
|
| -
|
| - def lookupChannel(channelType, windowSize, maxPacket, data):
|
| - """
|
| - The other side requested a channel of some sort.
|
| - channelType is the type of channel being requested,
|
| - windowSize is the initial size of the remote window,
|
| - maxPacket is the largest packet we should send,
|
| - data is any other packet data (often nothing).
|
| -
|
| - We return a subclass of L{SSHChannel<ssh.channel.SSHChannel>}. If
|
| - an appropriate channel can not be found, an exception will be
|
| - raised. If a L{ConchError<error.ConchError>} is raised, the .value
|
| - will be the message, and the .data will be the error code.
|
| -
|
| - @type channelType: C{str}
|
| - @type windowSize: C{int}
|
| - @type maxPacket: C{int}
|
| - @type data: C{str}
|
| - @rtype: subclass of L{SSHChannel}/C{tuple}
|
| - """
|
| -
|
| - def lookupSubsystem(subsystem, data):
|
| - """
|
| - The other side requested a subsystem.
|
| - subsystem is the name of the subsystem being requested.
|
| - data is any other packet data (often nothing).
|
| -
|
| - We return a L{Protocol}.
|
| - """
|
| -
|
| - def gotGlobalRequest(requestType, data):
|
| - """
|
| - A global request was sent from the other side.
|
| -
|
| - By default, this dispatches to a method 'channel_channelType' with any
|
| - non-alphanumerics in the channelType replace with _'s. If it cannot
|
| - find a suitable method, it returns an OPEN_UNKNOWN_CHANNEL_TYPE error.
|
| - The method is called with arguments of windowSize, maxPacket, data.
|
| - """
|
| -
|
| -class ISession(Interface):
|
| -
|
| - def getPty(term, windowSize, modes):
|
| - """
|
| - Get a psuedo-terminal for use by a shell or command.
|
| -
|
| - If a psuedo-terminal is not available, or the request otherwise
|
| - fails, raise an exception.
|
| - """
|
| -
|
| - def openShell(proto):
|
| - """
|
| - Open a shell and connect it to proto.
|
| -
|
| - @param proto: a L{ProcessProtocol} instance.
|
| - """
|
| -
|
| - def execCommand(proto, command):
|
| - """
|
| - Execute a command.
|
| -
|
| - @param proto: a L{ProcessProtocol} instance.
|
| - """
|
| -
|
| - def windowChanged(newWindowSize):
|
| - """
|
| - Called when the size of the remote screen has changed.
|
| - """
|
| -
|
| - def eofReceived():
|
| - """
|
| - Called when the other side has indicated no more data will be sent.
|
| - """
|
| -
|
| - def closed():
|
| - """
|
| - Called when the session is closed.
|
| - """
|
| -
|
| -
|
| -class ISFTPServer(Interface):
|
| - """
|
| - The only attribute of this class is "avatar". It is the avatar
|
| - returned by the Realm that we are authenticated with, and
|
| - represents the logged-in user. Each method should check to verify
|
| - that the user has permission for their actions.
|
| - """
|
| -
|
| - def gotVersion(otherVersion, extData):
|
| - """
|
| - Called when the client sends their version info.
|
| -
|
| - otherVersion is an integer representing the version of the SFTP
|
| - protocol they are claiming.
|
| - extData is a dictionary of extended_name : extended_data items.
|
| - These items are sent by the client to indicate additional features.
|
| -
|
| - This method should return a dictionary of extended_name : extended_data
|
| - items. These items are the additional features (if any) supported
|
| - by the server.
|
| - """
|
| - return {}
|
| -
|
| - def openFile(filename, flags, attrs):
|
| - """
|
| - Called when the clients asks to open a file.
|
| -
|
| - @param filename: a string representing the file to open.
|
| -
|
| - @param flags: an integer of the flags to open the file with, ORed together.
|
| - The flags and their values are listed at the bottom of this file.
|
| -
|
| - @param attrs: a list of attributes to open the file with. It is a
|
| - dictionary, consisting of 0 or more keys. The possible keys are::
|
| -
|
| - size: the size of the file in bytes
|
| - uid: the user ID of the file as an integer
|
| - gid: the group ID of the file as an integer
|
| - permissions: the permissions of the file with as an integer.
|
| - the bit representation of this field is defined by POSIX.
|
| - atime: the access time of the file as seconds since the epoch.
|
| - mtime: the modification time of the file as seconds since the epoch.
|
| - ext_*: extended attributes. The server is not required to
|
| - understand this, but it may.
|
| -
|
| - NOTE: there is no way to indicate text or binary files. it is up
|
| - to the SFTP client to deal with this.
|
| -
|
| - This method returns an object that meets the ISFTPFile interface.
|
| - Alternatively, it can return a L{Deferred} that will be called back
|
| - with the object.
|
| - """
|
| -
|
| - def removeFile(filename):
|
| - """
|
| - Remove the given file.
|
| -
|
| - This method returns when the remove succeeds, or a Deferred that is
|
| - called back when it succeeds.
|
| -
|
| - @param filename: the name of the file as a string.
|
| - """
|
| -
|
| - def renameFile(oldpath, newpath):
|
| - """
|
| - Rename the given file.
|
| -
|
| - This method returns when the rename succeeds, or a L{Deferred} that is
|
| - called back when it succeeds. If the rename fails, C{renameFile} will
|
| - raise an implementation-dependent exception.
|
| -
|
| - @param oldpath: the current location of the file.
|
| - @param newpath: the new file name.
|
| - """
|
| -
|
| - def makeDirectory(path, attrs):
|
| - """
|
| - Make a directory.
|
| -
|
| - This method returns when the directory is created, or a Deferred that
|
| - is called back when it is created.
|
| -
|
| - @param path: the name of the directory to create as a string.
|
| - @param attrs: a dictionary of attributes to create the directory with.
|
| - Its meaning is the same as the attrs in the L{openFile} method.
|
| - """
|
| -
|
| - def removeDirectory(path):
|
| - """
|
| - Remove a directory (non-recursively)
|
| -
|
| - It is an error to remove a directory that has files or directories in
|
| - it.
|
| -
|
| - This method returns when the directory is removed, or a Deferred that
|
| - is called back when it is removed.
|
| -
|
| - @param path: the directory to remove.
|
| - """
|
| -
|
| - def openDirectory(path):
|
| - """
|
| - Open a directory for scanning.
|
| -
|
| - This method returns an iterable object that has a close() method,
|
| - or a Deferred that is called back with same.
|
| -
|
| - The close() method is called when the client is finished reading
|
| - from the directory. At this point, the iterable will no longer
|
| - be used.
|
| -
|
| - The iterable should return triples of the form (filename,
|
| - longname, attrs) or Deferreds that return the same. The
|
| - sequence must support __getitem__, but otherwise may be any
|
| - 'sequence-like' object.
|
| -
|
| - filename is the name of the file relative to the directory.
|
| - logname is an expanded format of the filename. The recommended format
|
| - is:
|
| - -rwxr-xr-x 1 mjos staff 348911 Mar 25 14:29 t-filexfer
|
| - 1234567890 123 12345678 12345678 12345678 123456789012
|
| -
|
| - The first line is sample output, the second is the length of the field.
|
| - The fields are: permissions, link count, user owner, group owner,
|
| - size in bytes, modification time.
|
| -
|
| - attrs is a dictionary in the format of the attrs argument to openFile.
|
| -
|
| - @param path: the directory to open.
|
| - """
|
| -
|
| - def getAttrs(path, followLinks):
|
| - """
|
| - Return the attributes for the given path.
|
| -
|
| - This method returns a dictionary in the same format as the attrs
|
| - argument to openFile or a Deferred that is called back with same.
|
| -
|
| - @param path: the path to return attributes for as a string.
|
| - @param followLinks: a boolean. If it is True, follow symbolic links
|
| - and return attributes for the real path at the base. If it is False,
|
| - return attributes for the specified path.
|
| - """
|
| -
|
| - def setAttrs(path, attrs):
|
| - """
|
| - Set the attributes for the path.
|
| -
|
| - This method returns when the attributes are set or a Deferred that is
|
| - called back when they are.
|
| -
|
| - @param path: the path to set attributes for as a string.
|
| - @param attrs: a dictionary in the same format as the attrs argument to
|
| - L{openFile}.
|
| - """
|
| -
|
| - def readLink(path):
|
| - """
|
| - Find the root of a set of symbolic links.
|
| -
|
| - This method returns the target of the link, or a Deferred that
|
| - returns the same.
|
| -
|
| - @param path: the path of the symlink to read.
|
| - """
|
| -
|
| - def makeLink(linkPath, targetPath):
|
| - """
|
| - Create a symbolic link.
|
| -
|
| - This method returns when the link is made, or a Deferred that
|
| - returns the same.
|
| -
|
| - @param linkPath: the pathname of the symlink as a string.
|
| - @param targetPath: the path of the target of the link as a string.
|
| - """
|
| -
|
| - def realPath(path):
|
| - """
|
| - Convert any path to an absolute path.
|
| -
|
| - This method returns the absolute path as a string, or a Deferred
|
| - that returns the same.
|
| -
|
| - @param path: the path to convert as a string.
|
| - """
|
| -
|
| - def extendedRequest(extendedName, extendedData):
|
| - """
|
| - This is the extension mechanism for SFTP. The other side can send us
|
| - arbitrary requests.
|
| -
|
| - If we don't implement the request given by extendedName, raise
|
| - NotImplementedError.
|
| -
|
| - The return value is a string, or a Deferred that will be called
|
| - back with a string.
|
| -
|
| - @param extendedName: the name of the request as a string.
|
| - @param extendedData: the data the other side sent with the request,
|
| - as a string.
|
| - """
|
| -
|
| -class ISFTPFile(Interface):
|
| - """
|
| - This represents an open file on the server. An object adhering to this
|
| - interface should be returned from L{openFile}().
|
| - """
|
| -
|
| - def close():
|
| - """
|
| - Close the file.
|
| -
|
| - This method returns nothing if the close succeeds immediately, or a
|
| - Deferred that is called back when the close succeeds.
|
| - """
|
| -
|
| - def readChunk(offset, length):
|
| - """
|
| - Read from the file.
|
| -
|
| - If EOF is reached before any data is read, raise EOFError.
|
| -
|
| - This method returns the data as a string, or a Deferred that is
|
| - called back with same.
|
| -
|
| - @param offset: an integer that is the index to start from in the file.
|
| - @param length: the maximum length of data to return. The actual amount
|
| - returned may less than this. For normal disk files, however,
|
| - this should read the requested number (up to the end of the file).
|
| - """
|
| -
|
| - def writeChunk(offset, data):
|
| - """
|
| - Write to the file.
|
| -
|
| - This method returns when the write completes, or a Deferred that is
|
| - called when it completes.
|
| -
|
| - @param offset: an integer that is the index to start from in the file.
|
| - @param data: a string that is the data to write.
|
| - """
|
| -
|
| - def getAttrs():
|
| - """
|
| - Return the attributes for the file.
|
| -
|
| - This method returns a dictionary in the same format as the attrs
|
| - argument to L{openFile} or a L{Deferred} that is called back with same.
|
| - """
|
| -
|
| - def setAttrs(attrs):
|
| - """
|
| - Set the attributes for the file.
|
| -
|
| - This method returns when the attributes are set or a Deferred that is
|
| - called back when they are.
|
| -
|
| - @param attrs: a dictionary in the same format as the attrs argument to
|
| - L{openFile}.
|
| - """
|
| -
|
| -
|
|
|