ftplib returns EOFError

Jon Bowlas me at jonbowlas.com
Mon May 19 07:27:23 EDT 2008


Hi All,

I've written a little method to connect to an ftpserver which works well,
however when I send a file using this ftp connection oddly I _sometimes_ get
returned an EOFError from ftplib.getline even though my file is actually
transferred. 

Here's my script:

    def uploadViaFtp(self, file, filename):
        '''A method to upload a file via ftp'''
        ftpserverloc = self.getItunesUftpServer()
        ftpserverusername = self.getItunesUftpUser()
        ftpserverpassword = self.getItunesUftpPsswd()
        ftp = ftplib.FTP(ftpserverloc)
        ftp.login(ftpserverusername, ftpserverpassword)
        try:
            ftp.storbinary("STOR " + filename, file, 1024)
        finally:
            file.close()
        ftp.quit()


And here's the traceback:
Traceback (innermost last):
  Module ZPublisher.Publish, line 114, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 40, in call_object
  Module Products.FileSystemSite.FSPythonScript, line 108, in __call__
  Module Shared.DC.Scripts.Bindings, line 311, in __call__
  Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
  Module Products.FileSystemSite.FSPythonScript, line 164, in _exec
  Module None, line 28, in upload_submit
   - <FSPythonScript at
/silva/service_views/UCLItunesUPodcast/edit/Asset/UCLItunesUTrack/upload_sub
mit>
   - Line 28
  Module Products.UCLItunesUPodcast.UCLItunesUService, line 138, in
uploadViaFtp
  Module ftplib, line 523, in quit
  Module ftplib, line 246, in voidcmd
  Module ftplib, line 221, in voidresp
  Module ftplib, line 207, in getresp
  Module ftplib, line 193, in getmultiline
  Module ftplib, line 183, in getline
EOFError


Any help in catching and ignoring this error would be greatly appreciated.

Regards

Jon




More information about the Python-list mailing list