示例#1
0
def profile(request):
    rsp = ProfileRsp()
    if smartstring.equals_ingorecase(request.method, "POST"):
        req = ProfileReq()
        req.parse(request.body)
        u = getUserById(req.id)
        if u is not None:
            u.nick = req.nick
            u.sex = req.sex
            u.signature = req.signature
            u.save()
            rsp.account = u.account
            rsp.code = 0
            rsp.nick = u.nick
            rsp.sex = u.sex
            rsp.signature = u.signature
            rsp.curbind = u.curbind
        return HttpResponse(rsp.toJson())
    elif smartstring.equals_ingorecase(request.method, "GET"):
        id = request.GET.get("user", -1)
        u = getUserById(id)
        if u is not None:
            rsp.code = 0
            rsp.nick = u.nick
            rsp.signature = u.signature
            rsp.sex = u.sex
            rsp.curbind = u.curbind
            rsp.account = u.account
        return HttpResponse(rsp.toJson())
示例#2
0
def photo(request):
    if smartstring.equals_ingorecase(request.method, "POST"):
        userid = request.POST["user"]
        headphoto = request.FILES["headphoto"]
        handleUploadFile(userid, headphoto)
        return HttpResponse("")
    elif smartstring.equals_ingorecase(request.method, "GET"):
        userid = request.GET["user"]
        filename = "headphoto/" + userid + "_head.png"
        return FileResponse(open(filename), "rb")
示例#3
0
def audios(request, audiofile):
    print('audios')
    if smartstring.equals_ingorecase(request.method, "POST"):
        smartfile.make_dirs(IM_AUDIO_DIR)
        contentType = request.META['CONTENT_TYPE']
        f = "audio_" + str(int(time.time()))
        if smartstring.equals_ingorecase(contentType, MIME_TYPE_AMR):
            f = f + '.amr'
        with open(IM_AUDIO_DIR + f, "w") as audio:
            audio.write(request.body)
        rsp = ImageRsp(request.build_absolute_uri(request.get_full_path()) + f)
        return HttpResponse(rsp.toJson())
    elif smartstring.equals_ingorecase(request.method, "GET"):
        file = IM_AUDIO_DIR + audiofile
        return FileResponse(open(file), "rb")
示例#4
0
def images(request, imagefile):
    print('images')
    if smartstring.equals_ingorecase(request.method, "POST"):
        smartfile.make_dirs(IM_IMAGE_DIR)
        contentType = request.META['CONTENT_TYPE']
        f = "image_" + str(int(time.time()))
        if smartstring.equals_ingorecase(contentType, MIME_TYPE_JPG):
            f = f + '.jpg'
        elif smartstring.equals_ingorecase(contentType, MIME_TYPE_PNG):
            f = f + '.png'
        with open(IM_IMAGE_DIR + f, "w") as image:
            image.write(request.body)
        rsp = ImageRsp(request.build_absolute_uri(request.get_full_path()) + f)
        return HttpResponse(rsp.toJson())
    elif smartstring.equals_ingorecase(request.method, "GET"):
        file = IM_IMAGE_DIR + imagefile
        return FileResponse(open(file), "rb")
示例#5
0
def search(request):
    if smartstring.equals_ingorecase(request.method, "POST"):
        userid = request.body
        users = User.objects.all()
        searchs = [
            SearchRsp(u.id, u.account, u.nick, u.sex, u.signature)
            for u in users
        ]
        rsp = json.dumps([s.__dict__ for s in searchs])
        return HttpResponse(rsp)
示例#6
0
def logUser(request):
    rsp = LogRsp(200, -1, "")
    if smartstring.equals_ingorecase(request.method, "POST"):
        logMsg = RegMsg()
        logMsg.parse(request.body)
        u = checkUser(logMsg.account, logMsg.password)
        if u is not None:
            rsp.code = 0
            rsp.userid = u.id
            rsp.token = u.token
            saveUserToRedis(rsp.userid, rsp.token)
        return HttpResponse(rsp.toJson())
    else:
        return HttpResponse(rsp.toJson())
示例#7
0
def regUser(request):
    rsp = RegRsp(200, -1)
    if smartstring.equals_ingorecase(request.method, "POST"):
        regmsg = RegMsg()
        regmsg.parse(request.body)
        if not hasUser(regmsg.account):
            u = User()
            u.account = regmsg.account
            u.password = regmsg.password
            u.token = hashlib.sha1(os.urandom(24)).hexdigest()
            u.save()
            rsp.Code = 0
            rsp.Userid = u.id
            return HttpResponse(rsp.toJson())
        else:
            rsp.Code = 100
            rsp.Userid = -1
            return HttpResponse(rsp.toJson())
    else:
        return HttpResponse(rsp.toJson())