-from functools import wraps
import os
from django.core.files.uploadedfile import UploadedFile
from django.core.files.uploadhandler import FileUploadHandler, StopUpload, StopFutureHandlers
-from django.views.decorators.csrf import csrf_exempt, csrf_protect
from filex.forms import HostPathForm
from filex.ftp import FTPOperation
if self.ftp is None:
self.ftp = FTPOperation(self.request.session['proxy'], self.chunk_size)
- self.url = 'gsiftp://' + form.cleaned_data['host'] + os.path.join(form.cleaned_data['path'], self.file_name)
+ self.url = 'gsiftp://{}/{}'.format(form.cleaned_data['host'],
+ os.path.join(form.cleaned_data['path'], self.file_name))
self.tmp_url = self.url + '.part'
self.ftp.put(self.tmp_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)
-
-
-def with_ftp_upload_handler(view_func):
- @wraps(view_func)
- def wrapped_view(request, *args, **kwargs):
- request.upload_handlers = [FtpUploadHandler(request)]
-
- return csrf_protect(view_func)(request, *args, **kwargs)
-
- return csrf_exempt(wrapped_view)