Go to the latest version of this document.

# ``twisted`.`protocols`.`ftp`.`FileConsumer``

class documentation

`class FileConsumer: (source)`

Constructor: `FileConsumer(fObj)`

Implements interfaces: `twisted.internet.interfaces.IConsumer`

View In Hierarchy

A consumer for FTP input that writes data to a file.

Method | `__init__` | Undocumented
Method | `registerProducer` | Register to receive data from a producer.
Method | `unregisterProducer` | Stop consuming data from a producer, without disconnecting.
Method | `write` | The producer will write data by calling this method.
Instance Variable | `fObj` | a file object opened for writing, used to write data received.
Instance Variable | `producer` | Undocumented

def __init__(self, fObj): (source)

Undocumented

def registerProducer(self, producer, streaming): (source)
from `twisted.internet.interfaces.IConsumer`

Register to receive data from a producer.

This sets self to be a consumer for a producer. When this object runs out of data (as when a send(2) call on a socket succeeds in moving the last data from a userspace buffer into a kernelspace buffer), it will ask the producer to resumeProducing().

For `IPullProducer` providers, `resumeProducing` will be called once each time data is required.

For `IPushProducer` providers, `pauseProducing` will be called whenever the write buffer fills up and `resumeProducing` will only be called when it empties. The consumer will only call `resumeProducing` to balance a previous `pauseProducing` call; the producer is assumed to start in an un-paused state.

Parameters
producer | Undocumented
streaming | `True` if `producer` provides `IPushProducer`, `False` if `producer` provides `IPullProducer`.

Raises
`RuntimeError` | If a producer is already registered.

def unregisterProducer(self): (source)
from `twisted.internet.interfaces.IConsumer`

Stop consuming data from a producer, without disconnecting.

def write(self, bytes): (source)
from `twisted.internet.interfaces.IConsumer`

The producer will write data by calling this method.

The implementation must be non-blocking and perform whatever buffering is necessary. If the producer has provided enough data for now and it is a `IPushProducer`, the consumer may call its `pauseProducing` method.

fObj: `file` = (source)

a file object opened for writing, used to write data received.

producer = (source)

Undocumented