Package twisted :: Package protocols :: Module ftp :: Class IFTPShell

[frames | no frames]

## Class IFTPShell

    Interface --+
                |
               IFTPShell

An abstraction of the shell commands used by the FTP protocol for a given user account

Method Summary
| ``cdup`(self)` changes to the parent of the current working directory
| ``cwd`(self, path)` Change working directory from the rfc: This command allows the user to work with a different directory or dataset for file storage or retrieval without altering his login or accounting information.
| ``dele`(self, path)` This command causes the file specified in the pathname to be deleted at the server site.
| ``list`(self, path)` @return: a tuple of (StringIO_object, size) containing the directory listing to be sent to the client via the DTP from the rfc: This command causes a list to be sent from the server to the passive DTP.
| ``mapCPathToSPath`(self, path)` converts a specified path relative to the user's top level directory into a path in the filesystem representation
string | ``mdtm`(self, path)` get the date and time for path
| ``mkd`(self, path)` This command causes the directory specified in the pathname to be created as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).
| ``nlst`(self, path)` This command causes a directory listing to be sent from server to user site.
| ``pwd`(self)` Print working directory command
| ``retr`(self, path)` This command causes the server-DTP to transfer a copy of the file, specified in the pathname, to the server- or user-DTP at the other end of the data connection.
| ``rmd`(self, path)` This command causes the directory specified in the pathname to be removed as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).
| ``size`(self, path)` returns the size of the file specified by path in bytes
| ``stor`(self, params)` This command causes the server-DTP to accept the data transferred via the data connection and to store the data as a file at the server site.

Method Details

### cdup(self)

changes to the parent of the current working directory

### cwd(self, path)

    Change working directory

    from the rfc:
        This command allows the user to work with a different
        directory or dataset for file storage or retrieval without
        altering his login or accounting information.  Transfer
        parameters are similarly unchanged.  The argument is a
        pathname specifying a directory or other system dependent
        file group designator.

    @param path: the path you're interested in
    @type path: string

### dele(self, path)

This command causes the file specified in the pathname to be deleted at the server site.

  Parameters:
    `path` - the path you're interested in
    (type=string)

### list(self, path)

    @return: a tuple of (StringIO_object, size) containing the directory
    listing to be sent to the client via the DTP

    from the rfc:
        This command causes a list to be sent from the server to the
        passive DTP.  If the pathname specifies a directory or other
        group of files, the server should transfer a list of files
        in the specified directory.  If the pathname specifies a
        file then the server should send current information on the
        file.  A null argument implies the user's current working or
        default directory.

### mapCPathToSPath(self, path)

converts a specified path relative to the user's top level directory into a path in the filesystem representation

example: if the user's tld is /home/foo and there's a file in the filesystem /home/foo/bar/spam.tar.gz the user would specify path /bar/spam.tar.gz in the ftp command, and this function would translate it into /home/foo/bar/spam.tar.gz

@returns a tuple (cpath, spath) where cpath is the client's top level directory plus path, and spath is cpath in relation to the server's filesystem.

cpath is an illusion, spath is a real file in the filesystem

### mdtm(self, path)

get the date and time for path

  Parameters:
    `path` - the path you're interested in
    (type=string)
  Returns:
    the date of path in the form of %Y%m%d%H%M%S
    (type=string)

### mkd(self, path)

This command causes the directory specified in the pathname to be created as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).

  Parameters:
    `path` - the path you're interested in
    (type=string)

### nlst(self, path)

This command causes a directory listing to be sent from server to user site. The pathname should specify a directory or other system-specific file group descriptor; a null argument implies the current directory. This command is intended to return information that can be used by a program to further process the files automatically. For example, in the implementation of a "multiple get" function.

  Parameters:
    `path` - the path to generate output for
    (type=string)

### pwd(self)

Print working directory command

### retr(self, path)

This command causes the server-DTP to transfer a copy of the file, specified in the pathname, to the server- or user-DTP at the other end of the data connection. The status and contents of the file at the server site shall be unaffected.

  Returns:
    a tuple of (fp, size) where fp is an opened file-like object to the data requested and size is the size, in bytes, of fp

### rmd(self, path)

This command causes the directory specified in the pathname to be removed as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).

  Parameters:
    `path` - the path you're interested in
    (type=string)

### size(self, path)

returns the size of the file specified by path in bytes

### stor(self, params)

This command causes the server-DTP to accept the data transferred via the data connection and to store the data as a file at the server site. If the file specified in the pathname exists at the server site, then its contents shall be replaced by the data being transferred. A new file is created at the server site if the file specified in the pathname does not already exist.

Generated by Epydoc 2.0 on Sat May 15 20:08:39 2004 | http://epydoc.sf.net