X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?p=living-lab-site.git;a=blobdiff_plain;f=cis%2Fapi%2Fftp.py;h=3798fd386eb5feb396227249ef191d25e31d41c9;hp=567978fe60acea453093de249bf45dd5ed16b61f;hb=080b37a97e93691b3ba1c4aa3982a143167115a7;hpb=9d5e17576e133645963b8e41083baf235c5cceba diff --git a/cis/api/ftp.py b/cis/api/ftp.py index 567978f..3798fd3 100644 --- a/cis/api/ftp.py +++ b/cis/api/ftp.py @@ -11,7 +11,7 @@ import ftplib import base import ftp_config import socket -import api_exceptions +import cis_exceptions import os import logger @@ -35,7 +35,7 @@ class FTPFileTransferer(base.BaseFileTransferer): try: self.ftp.cwd(self.remote_path) except ftplib.error_perm as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not change remote directory '%s': %s" \ % (self.remote_path, repr(e))) @@ -43,10 +43,15 @@ class FTPFileTransferer(base.BaseFileTransferer): for crt_fn in files: local_fn = os.path.join(self.local_path, crt_fn) remote_fn = os.path.join(self.remote_path, crt_fn) + + if os.path.exists(local_fn): + raise cis_exceptions.FileAlreadyExistsException( \ + 'file "%s" already exists' % local_fn) + try: file_local = open(local_fn, 'wb') except IOError as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not open local file '%s' for writing: %s" \ % (local_fn, repr(e))) @@ -54,7 +59,7 @@ class FTPFileTransferer(base.BaseFileTransferer): self.ftp.retrbinary('RETR %s' % crt_fn, file_local.write) file_local.close() except ftplib.error_perm as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not get file '%s' from Web Server: %s" \ % (remote_fn, repr(e))) @@ -62,7 +67,7 @@ class FTPFileTransferer(base.BaseFileTransferer): try: self.ftp.cwd(self.remote_path) except ftplib.error_perm as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not change remote directory '%s': %s" \ % (self.remote_path, repr(e))) @@ -72,7 +77,7 @@ class FTPFileTransferer(base.BaseFileTransferer): try: file_local = open(local_fn, 'rb') except IOError as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not open local file '%s' for reading: %s" \ % (local_fn, repr(e))) @@ -80,7 +85,7 @@ class FTPFileTransferer(base.BaseFileTransferer): self.ftp.storbinary('STOR %s' % crt_fn, file_local) file_local.close() except ftplib.error_perm as e: - raise api_exceptions.FileTransferException( \ + raise cis_exceptions.FileTransferException( \ "Could not put file '%s' to Web Server: %s" \ % (local_fn, repr(e)))