1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
def retrBinary(self, remote_file, blocksize=8192, rest=None):
try:
self.ftptransfer.ftp.voidcmd('TYPE I')
conn = self.ftp.transfercmd("RETR %s" % remote_file, rest)
while 1:
data = conn.recv(blocksize)
if (not data) and (self.SrcRemoteFileSize != self.totalBytes):
# Start Retry to FTP server
retry=1
print(">>> Received Data buffer empty and file not ended, Start Retry to FTP server")
while ((not data) and (retry<=3)):
print(">>> Retry data %s" % (retry))
data = conn.recv(blocksize)
if not data: retry +=1
else:
break
time.sleep(2)
break
print "Close Download file transfer\n"
conn.close()
print "DL: Return voidresp"
return self.ftp.voidresp()
except Exception, err:
print traceback.format_exc()
print("Received Exception during Transfer" |
Partager