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())
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")
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")
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")
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)
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())
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())