def into_collection(req): if req.COOKIES.has_key('userid'): userid = req.COOKIES['userid'] content = ('进入错题集').decode('utf-8') ADao = activityDao({"userid":userid}) ADao.add_a_activity(content) return render_to_response('collection.html',RequestContext(req)) return render_to_response('login.html',RequestContext(req))
def into_title(req): if req.COOKIES.has_key("userid"): userid = req.COOKIES["userid"] content = ("进入刷题宝典").decode("utf-8") ADao = activityDao({"userid": userid}) ADao.add_a_activity(content) return render_to_response("title.html", RequestContext(req)) return render_to_response("login.html", RequestContext(req))
def upload_resources(req): if req.COOKIES.has_key('userid'): file = req.FILES['uploadedfile'] # @ReservedAssignment points = req.POST['points'] filename = req.POST['filename'].encode('utf-8') if file: userid = req.COOKIES['userid'].decode('utf-8').encode('utf-8') uploadFile({'userid':userid,'file':file,'filename':filename,'points':points}) content = ' 上传资源:' + filename ADao = activityDao({"userid":userid}) ADao.add_a_activity(content.decode('utf-8')) return HttpResponse(json.dumps({'tips':'上传成功'}),content_type="application/json") return HttpResponse(json.dumps({'tips':'上传失败or未登录'}),content_type="application/json")
def add(req): if req.method=='POST' and req.COOKIES.has_key('userid'): jsonReq = simplejson.loads(req.body) rq = {} userid = req.COOKIES['userid'] actDao = activityDao({"userid":userid}) if jsonReq.has_key('titleid'): titleid = jsonReq['titleid'] dao = complaintDao({'userid':userid,'titleid':titleid}) if dao.is_complaint_byEX(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for the title published by "+dao.us.username elif jsonReq.has_key('authorid'): authorid = jsonReq['authorid'] dao = complaintDao({'userid':userid,'authorid':authorid}) if dao.is_complaint_byAU(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for "+dao.au.username elif jsonReq.has_key('topicid'): topicid = jsonReq['topicid'] dao = complaintDao({'userid':userid,'topicid':topicid}) if dao.is_complaint_byTP(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for "+dao.tp.name elif jsonReq.has_key('opinionid'): opinionid = jsonReq['opinionid'] dao = complaintDao({'userid':userid,'opinionid':opinionid}) if dao.is_complaint_byOP(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") opdao = dao.op activities = " complaints for an opinion published by "+opdao.userid.username+" on "+opdao.topicid.name elif jsonReq.has_key('rsid'): rsid = jsonReq['rsid'] dao = complaintDao({'userid':userid,'rsid':rsid}) q = (dao.us.username + (" 下载资源: ").decode("utf-8") + dao.rs.download).encode("utf-8") if not is_activity(q): return HttpResponse(json.dumps({'tips':'假如你没有下载这份资源,你怎么知道资源的内容违反礼仪?'}), content_type="application/json") else: if dao.is_complaint_byRS(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") rsdao = dao.rs # activities = " complaints for a resource " + rsdao.download + " uploaded by "+ rsdao.userid.username activities = '对' + rsdao.userid.username + '发布的资源:' + rsdao.download + '进行投诉' rq['content'] = jsonReq['content'] actDao.add_a_activity(activities) return HttpResponse(json.dumps({'tips':dao.insert_a_complaint(rq,'+')}), content_type="application/json") return HttpResponse(json.dumps({'tips':'请求格式不正确or未登录'}), content_type="application/json")
def download_resources(req): if req.COOKIES.has_key('userid'): resourceID = int(req.GET.get('rs')) downloader = req.COOKIES['userid'] dao = Source.objects.get(id=resourceID) downloadPoint = dao.points uploader = dao.userid # downloadPoint = int(req.POST["points"]) # uploader = int(req.POST["uploader"]) # resourceID = int(req.POST["resourceID"]) if User.objects.filter(id=downloader,points__gte=downloadPoint): dao = userDao({'userid':downloader}) dao.update_point_byReq({'method':'-','points':downloadPoint}) dao.save_update() dao = userDao({'us':uploader}) dao.update_point_byReq({'method':'+','points':downloadPoint}) dao.save_update() dao = rsUpdateDao(rsid=resourceID) count = dao.update_content() dao.update_save() content = (' 下载资源: ').decode("utf-8") + dao.rs.download downloadPath = settings.MEDIA_ROOT+dao.rs.download ADao = activityDao({"userid":downloader}) ADao.add_a_activity(content) def file_iterator(file_name, chunk_size=512): with open(file_name) as f: while True: c = f.read(chunk_size) if c: yield c else: break response = StreamingHttpResponse(file_iterator(downloadPath)) response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = 'attachment;filename="{0}"'.format(dao.rs.download) #默认文件名 return response # return HttpResponse(json.dumps({'resourceID':resourceID,"count":count,'dURL':downloadURL}),content_type="application/json") return HttpResponse('积分不足') return HttpResponse('请先登录')
def publish_title(req): if req.method == "POST" and req.COOKIES.has_key("userid"): method = str(req.GET.get("p")) userid = req.COOKIES["userid"] if method == "input": jsonReq = simplejson.loads(req.body) ED = exerciseDao({"userid": userid}) for v in jsonReq: ED.insert_a_title(v) content = ("发布了题目").decode("utf-8") ADao = activityDao({"userid": userid}) ADao.add_a_activity(content) return HttpResponse(json.dumps({"tips": "添加成功"}), content_type="application/json") elif method == "upload": if not exerciseDao({"userid": userid}).if_excel(): file = req.FILES["uploadedfile"] # @ReservedAssignment filename = req.POST["filename"].encode("utf-8") if file: tips = fileCon({"filename": filename, "file": file, "userid": userid}) else: tips = "今天已上传了excel" return HttpResponse(json.dumps({"tips": tips}), content_type="application/json") return HttpResponse(json.dumps({"tips": "添加失败"}), content_type="application/json")