示例#1
0
文件: views.py 项目: Jiang-Le/WeLearn
def upload(request, uri):
    if request.POST:
        _uri = request.POST.get("uri")
        _md5_hash = request.POST.get("hash")
        _name = request.POST.get("name")
        _description = request.POST.get("description")
        _time = datetime.datetime.now()
        _directory = request.POST.get("directory")
        if _directory != "":
            _rank = 2
            # 判断文件夹是否存在,若存在,则其中文件数加一,否则创建新的文件夹
            try:
                d = Directory.objects.get(uri=uri + "/" + _directory)
            except Directory.DoesNotExist:
                d = None
            if d:
                d.file_num += 1
                d.save()
            else:
                d = Directory(uri=uri + "/" + _directory, file_num=1, time=_time, name=_directory)
                d.save()
        else:
            _rank = 1
        pd = PrimaryDirectory.objects.get(uri=uri)
        pd.file_num += 1
        pd.save()
        file = File(uri=_uri, md5_hash=_md5_hash, name=_name,
                    description=_description, time=_time,
                    url=getDownloadUrl(_uri), download_num=0, rank=_rank)
        file.save()
        return HttpResponse("ok")
    return render_to_response("upload.html", {"uri": uri}, context_instance=RequestContext(request))
示例#2
0
def post_directory(request):

    data = json.loads(request.body)

    if all (key in data for key in ("name", "parent")):

        name = data['name']
        parent = Directory.objects.get(id=data['parent']) if type(data['parent']) is int else None; 

        directory = Directory(name=name, parent=parent, owner=request.user, bytes=0)
        
        directory.save()

        return JsonResponse(directory.get_client_inode(), safe=False)

    return JsonResponse({'message':'Invalid post data..'}, status=400, safe=False)