Package twisted :: Package protocols :: Module msn :: Class FileReceive

[frames | no frames]

## Class FileReceive

    BaseProtocol --+
                   |
            Protocol --+
                       |
            LineReceiver --+
                           |
                          FileReceive

This class provides support for receiving files from contacts.

Method Summary
| ``__init__`(self, auth, myUserHandle, file, directory, overwrite)`
| `connectionLost(self, reason)`
| ``connectionMade`(self)` Called when a connection is made.
| ``gotSegment`(self, data)` called when a segment (block) of data arrives.
| `handle_FIL(self, params)`
| `handle_UNKNOWN(self, cmd, params)`
| `handle_VER(self, params)`
| ``lineReceived`(self, line)` Override this for when each line is received.
| ``parseHeader`(self, header)` parse the header of each 'message' to obtain the segment length
| ``rawDataReceived`(self, data)` Override this for when raw data is received.
Inherited from LineReceiver
| ``clearLineBuffer`(self)` Clear buffered data.
| ``dataReceived`(self, data)` Protocol.dataReceived.
| ``lineLengthExceeded`(self, line)` Called when the maximum line length has been reached.
| ``sendLine`(self, line)` Sends a line to the other end of the connection.
| ``setLineMode`(self, extra)` Sets the line-mode of this receiver.
| ``setRawMode`(self)` Sets the raw mode of this receiver.
Inherited from Protocol
| ``connectionFailed`(self)` (Deprecated)
Inherited from BaseProtocol
| ``makeConnection`(self, transport)` Make a connection to a transport and a server.

Instance Variable Summary
| `bytesReceived`: number of bytes (of the file) received.
| `completed`: true if the transfer is complete.
| `connected`: true if a connection has been established.
| `fileSize`: the size of the receiving file.

Class Variable Summary
Inherited from LineReceiver
`str` | `_LineReceiver__buffer` = `''`
`str` | `delimiter`: The line-ending delimiter to use.
`int` | `line_mode` = 1
`int` | `MAX_LENGTH`: The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped).
Inherited from Protocol
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.IPr...`
Inherited from BaseProtocol
`NoneType` | `transport` = None

Method Details

### __init__(self, auth, myUserHandle, file, directory='', overwrite=0)
(Constructor)

  Parameters:
    `auth` - auth string received in the file invitation.
    `myUserHandle` - your userhandle.
    `file` - A string or file object represnting the file to save data to.
    `directory` - optional parameter specifiying the directory. Defaults to the current directory.
    `overwrite` - if true and a file of the same name exists on your system, it will be overwritten. (0 by default)

### connectionMade(self)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.

  Overrides:
    `twisted.internet.protocol.BaseProtocol.connectionMade` (inherited documentation)

### gotSegment(self, data)

called when a segment (block) of data arrives.

### lineReceived(self, line)

Override this for when each line is received.

  Overrides:
    `twisted.protocols.basic.LineReceiver.lineReceived` (inherited documentation)

### parseHeader(self, header)

parse the header of each 'message' to obtain the segment length

### rawDataReceived(self, data)

Override this for when raw data is received.

  Overrides:
    `twisted.protocols.basic.LineReceiver.rawDataReceived` (inherited documentation)

Instance Variable Details

### bytesReceived

number of bytes (of the file) received. This does not include header data.

### completed

true if the transfer is complete.

### connected

true if a connection has been established.

### fileSize

the size of the receiving file. (you will have to set this)

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