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 connection​Lost When the connection is lost, I close the file.
Method connection​Made Called when a connection is made.
Method data​Received 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 dest​Dir 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 file​Size 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 from​User 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 query​Data queryData is a 3-tuple of (user, channel, data).
Instance Variable _resume​Offset Undocumented

Inherited from DccFileReceiveBasic:

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

Inherited from Protocol (via DccFileReceiveBasic):

Method log​Prefix 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 make​Connection 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
file​SizeUndocumented
query​DataUndocumented
dest​DirUndocumented
resume​Offset: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