X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=filex%2Fuploadhandler.py;h=75a6cd771e7d6069ac52eef95de6548002a5a6fd;hb=312245a1dce5fc98836bf69d4d09da3053794376;hp=0f5bfb3e38dfa095e00479ddfa9bce4446bca642;hpb=a37c1482b8b0e2d5ba549a14b94a3f8e6335d1fe;p=qcg-portal.git diff --git a/filex/uploadhandler.py b/filex/uploadhandler.py index 0f5bfb3..75a6cd7 100644 --- a/filex/uploadhandler.py +++ b/filex/uploadhandler.py @@ -9,6 +9,8 @@ from filex.ftp import FTPOperation class FtpUploadHandler(FileUploadHandler): ftp = None + url = None + tmp_url = None def new_file(self, file_name, *args, **kwargs): super(FtpUploadHandler, self).new_file(file_name, *args, **kwargs) @@ -24,7 +26,10 @@ class FtpUploadHandler(FileUploadHandler): if self.ftp is None: self.ftp = FTPOperation(self.request.session['proxy'], self.chunk_size) - self.ftp.put('gsiftp://' + host + path + self.file_name) + self.url = 'gsiftp://' + host + path + self.file_name + self.tmp_url = 'gsiftp://' + host + path + self.file_name + '.part' + + self.ftp.put(self.tmp_url) StopFutureHandlers() @@ -36,6 +41,8 @@ class FtpUploadHandler(FileUploadHandler): self.ftp.stream.put(None) self.ftp.wait() + self.ftp.move(self.tmp_url, self.url) + return UploadedFile(name=self.file_name, size=file_size, charset=self.charset, content_type=self.content_type, content_type_extra=self.content_type_extra)