def upload(request, folder, path): ret_list = [] data = [] def get_return_dict(file): return {"name": file.get("filename"), "size": file.get("size"), 'url': url, "mtime": file.get("mtime", 0), "mtime_readable": file.get("mtime_readable", "-"), 'delete_url': reverse("delete", args=[folder, path+"/"+file.get("filename")]), "delete_type": "POST"} if request.FILES: files = request.FILES.get("files[]") else: files = FileOperations.get_files(request.user.username, folder, path) for file in files: if os.path.isdir(file.get("full_path")): url = reverse("browse", args=[folder, path+"/"+ file.get("filename")]) else: if folder == "public_html": url = "http://public.futurice.com/~%s/%s/%s" % (request.user.username, path, file.get("filename")) else: url = "/~%s/%s/%s" % (request.user.username, path, file.get("filename")) data.append(get_return_dict(file)) return JSONResponse(data, {}, response_mimetype(request)) f = files FileOperations.upload_file(f, request.user.username, folder, path) file = FileOperations.get_file(request.user.username, folder, path, f.name) if os.path.isdir(file.get("full_path")): url = reverse("browse", args=[folder, path+"/"+ file.get("filename")]) else: if folder == "public_html": url = "http://public.futurice.com/~%s/%s/%s" % (request.user.username, path, file.get("filename")) else: url = "/~%s/%s/%s" % (request.user.username, path, file.get("filename")) data.append(get_return_dict(file)) response = JSONResponse(data, {}, response_mimetype(request)) response['Content-Disposition'] = 'inline; filename=files.json' return response