class documentation

class DccFileReceive(DccFileReceiveBasic): (source)

View In Hierarchy

Higher-level coverage for getting a file from DCC SEND.

I allow you to change the file's name and destination directory. I won't overwrite an existing file unless I've been told it's okay to do so. If passed the resumeOffset keyword argument I will attempt to resume the file from that amount of bytes.

XXX: I need to let the client know when I am finished. XXX: I need to decide how to keep a progress indicator updated. XXX: Client needs a way to tell me "Do not finish until I say so." XXX: I need to make sure the client understands if the file cannot be written.

Method __init__
Method __repr__ Undocumented
Method __str__ Undocumented
Method connectionLost When the connection is lost, I close the file.
Method connectionMade Called when a connection is made.
Method dataReceived See: protocol.Protocol.dataReceived
Method set_directory Set the directory where the downloaded file will be placed.
Method set_filename Change the name of the file being transferred.
Method set_overwrite May I overwrite existing files?
Instance Variable connected Undocumented
Instance Variable destDir The destination directory for the file to be received.
Instance Variable file Undocumented
Instance Variable filename The name of the file to get.
Instance Variable fileSize The size of the file to get, which has a default value of -1 if the size of the file was not specified in the DCC SEND request.
Instance Variable fromUser This is the hostmask of the requesting user and is found at index 0 of queryData.
Instance Variable overwrite An integer representing whether an existing file should be overwritten or not. This initially is an int but can be modified to be a bool using the set_overwrite method.
Instance Variable queryData queryData is a 3-tuple of (user, channel, data).
Instance Variable _resumeOffset Undocumented

Inherited from DccFileReceiveBasic:

Instance Variable bytesReceived An integer representing the number of bytes of data received.
Instance Variable resume Undocumented

Inherited from Protocol (via DccFileReceiveBasic):

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable factory Undocumented

Inherited from BaseProtocol (via DccFileReceiveBasic, Protocol):

Method makeConnection Make a connection to a transport and a server.
Instance Variable transport Undocumented

Inherited from Ephemeral (via DccFileReceiveBasic):

Method __getstate__ Undocumented
Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __setstate__ Undocumented
Instance Variable __class__ Undocumented
def __init__(self, filename, fileSize=-1, queryData=None, destDir='.', resumeOffset=0): (source)
Parameters
filenameUndocumented
fileSizeUndocumented
queryDataUndocumented
destDirUndocumented
resumeOffset:intAn integer representing the amount of bytes from where the transfer of data should be resumed.
def __repr__(self): (source)

Undocumented

Returns
strUndocumented
def __str__(self): (source)

Undocumented

Returns
strUndocumented
def connectionLost(self, reason): (source)
When the connection is lost, I close the file.
Parameters
reason:FailureThe reason why the connection was lost.
def connectionMade(self): (source)

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.

def dataReceived(self, data): (source)

See: protocol.Protocol.dataReceived

Warning: This just acknowledges to the remote host that the data has been received; it doesn't do anything with the data, so you'll want to override this.

def set_directory(self, directory): (source)

Set the directory where the downloaded file will be placed.

May raise OSError if the supplied directory path is not suitable.

Parameters
directory:bytesThe directory where the file to be received will be placed.
def set_filename(self, filename): (source)

Change the name of the file being transferred.

This replaces the file name provided by the sender.

Parameters
filename:bytesThe new name for the file.
def set_overwrite(self, boolean): (source)
May I overwrite existing files?
Parameters
boolean:boolA boolean value representing whether existing files should be overwritten or not.
destDir: bytes = (source)
The destination directory for the file to be received.
file = (source)

Undocumented

filename: bytes = (source)
The name of the file to get.
fileSize: int = (source)
The size of the file to get, which has a default value of -1 if the size of the file was not specified in the DCC SEND request.
fromUser: bytes = (source)
This is the hostmask of the requesting user and is found at index 0 of queryData.
overwrite: int or bool = (source)
An integer representing whether an existing file should be overwritten or not. This initially is an int but can be modified to be a bool using the set_overwrite method.
queryData: tuple = (source)
queryData is a 3-tuple of (user, channel, data).
_resumeOffset = (source)

Undocumented