Exemple #1
0
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