def prisocs(request, id=None): """PRISOC(PrivateSafeOutChains)的CURD操作REST接口""" if request.method == 'POST': mydomain = request.POST.get("mydomain") owner = request.POST.get("owner") remark = request.POST.get("remark") obj = PrivateSafeOutChains.objects.create(mydomain=mydomain, owner=owner, remark=remark) if not obj: result = json_result("error", "添加私有正常外链主域名失败:-(") else: result = json_result("success", "添加私有正常外链主域名成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'DELETE': obj = PrivateSafeOutChains.objects.filter(id=id).delete() if not obj or obj[0] == 0: result = json_result("error", "删除私有正常外链主域名失败:-(") else: result = json_result("success", "删除私有正常外链主域名成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'PUT': put = QueryDict(request.body) id = put.get("id") mydomain = put.get("mydomain") owner = put.get("owner") remark = put.get("remark") obj = PrivateSafeOutChains.objects.filter(id=id).update(mydomain=mydomain, owner=owner, remark=remark) if obj == 0: result = json_result("error", "更新私有正常外链主域名失败:-(") else: result = json_result("success", "更新私有正常外链主域名成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'GET': if id: obj = PrivateSafeOutChains.objects.filter(id=id) if not isinstance(obj, QuerySet): result = json_result("error", "查询私有正常外链主域名失败:-(") else: data = list() data.append(to_json_dict(obj)) result = json_result("success", "查询私有正常外链主域名成功:-)", data=data) else: rows = int(request.GET.get("rows")) if request.GET.get("rows") else 10 page = int(request.GET.get("page")) if request.GET.get("page") else 1 start = (page-1) * rows end = start + rows objs = PrivateSafeOutChains.objects.all()[start: end] if not isinstance(objs, QuerySet): result = json_result("error", "查询私有正常外链主域名失败:-(") else: data = list() for obj in objs: data.append(to_json_dict(obj)) recoards = PrivateSafeOutChains.objects.count() total_pages = math.floor(recoards / rows) + 1 result = json_result("success", "查询私有正常外链主域名成功:-)", data=data, page=page, total=total_pages, records=recoards) return HttpResponse(result, content_type="application/json;charset=utf-8") else: return render(request, 'isadmin/error/error-404.html')
def snapshots(request, id=None): """网页快照(Snapshot)的CURD操作REST接口""" if request.method == 'POST': return render(request, 'isadmin/error/error-404.html') elif request.method == 'DELETE': obj = Snapshot.objects.filter(id=id).delete() if not obj or obj[0] == 0: result = json_result("error", "删除网页快照失败:-(") else: result = json_result("success", "删除网页快照成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'PUT': put = QueryDict(request.body) id = put.get("id") screen_shot_path = put.get("screen_shot_path") obj = Snapshot.objects.filter(id=id).update(screen_shot_path=screen_shot_path) if obj == 0: result = json_result("error", "更新网页快照失败:-(") else: result = json_result("success", "更新网页快照成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'GET': if id: obj = Snapshot.objects.filter(id=id) if not isinstance(obj, QuerySet): result = json_result("error", "查询网页快照失败:-(") else: data = list() if obj.get_time: obj.get_time = obj.get_time.strftime("%Y-%m-%d %H:%M:%S") data.append(to_json_dict(obj)) result = json_result("success", "查询网页快照成功:-)", data=data) else: rows = int(request.GET.get("rows")) if request.GET.get("rows") else 10 page = int(request.GET.get("page")) if request.GET.get("page") else 1 start = (page - 1) * rows end = start + rows objs = Snapshot.objects.all()[start: end] if not isinstance(objs, QuerySet): result = json_result("error", "查询网页快照失败:-(") else: data = list() for obj in objs: if obj.get_time: obj.get_time = obj.get_time.strftime("%Y-%m-%d %H:%M:%S") data.append(to_json_dict(obj)) recoards = Snapshot.objects.count() total_pages = math.floor(recoards / rows) + 1 result = json_result("success", "查询网页快照成功:-)", data=data, page=page, total=total_pages, records=recoards) return HttpResponse(result, content_type="application/json;charset=utf-8") else: return render(request, 'isadmin/error/error-404.html')
def dcbps(request, id=None): """DCBP(DjangoCeleryBeatPeriodicTask)的CURD操作REST接口""" if request.method == 'POST': name = request.POST.get("name") args = request.POST.get("args") kwargs = request.POST.get("kwargs") queue = request.POST.get("queue") exchange = request.POST.get("exchange") routing_key = request.POST.get("routing_key") expires = request.POST.get("expires") enabled = request.POST.get("enabled") last_run_at = request.POST.get("last_run_at") total_run_count = request.POST.get("total_run_count") date_changed = request.POST.get("dete_changed") description = request.POST.get("description") crontab_id = request.POST.get("crontab_id") obj = PeriodicTask.objects.create(name=name, args=args, kwargs=kwargs, queue=queue, exchange=exchange, routing_key=routing_key, expires=expires, enabled=enabled, last_run_at=last_run_at, total_run_count=total_run_count, date_changed=date_changed, description=description, crontab_id=crontab_id) if not obj: result = json_result("error", "添加定时任务失败:-(") else: result = json_result("success", "添加定时任务成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'DELETE': obj = PeriodicTask.objects.filter(id=id).delete() if not obj or obj[0] == 0: result = json_result("error", "删除定时任务失败:-(") else: result = json_result("success", "删除定时任务成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'PUT': put = QueryDict(request.body) id = put.get("id") name = put.get("name") args = put.get("args") kwargs = put.get("kwargs") queue = put.get("queue") exchange = put.get("exchange") routing_key = put.get("routing_key") expires = put.get("expires") enabled = put.get("enabled") last_run_at = put.get("last_run_at") total_run_count = put.get("total_run_count") date_changed = put.get("dete_changed") description = put.get("description") crontab_id = put.get("crontab_id") obj = PeriodicTask.objects.filter(id=id).update(name=name, args=args, kwargs=kwargs, queue=queue, exchange=exchange, routing_key=routing_key, expires=expires, enabled=enabled, last_run_at=last_run_at, total_run_count=total_run_count, date_changed=date_changed, description=description, crontab_id=crontab_id) if obj == 0: result = json_result("error", "更新定时任务失败:-(") else: result = json_result("success", "更新定时任务成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'GET': if id: obj = PeriodicTask.objects.filter(id=id) if not isinstance(obj, QuerySet): result = json_result("error", "查询定时任务失败:-(") else: data = list() data.append(to_json_dict(obj)) result = json_result("success", "查询定时任务成功:-)", data=data) else: rows = int(request.GET.get("rows")) if request.GET.get("rows") else 10 page = int(request.GET.get("page")) if request.GET.get("page") else 1 start = (page - 1) * rows end = start + rows objs = PeriodicTask.objects.all()[start: end] if not isinstance(objs, QuerySet): result = json_result("error", "查询定时任务失败:-(") else: data = list() for obj in objs: data.append(to_json_dict(obj)) recoards = PeriodicTask.objects.count() total_pages = math.floor(recoards / rows) + 1 result = json_result("success", "查询定时任务成功:-)", data=data, page=page, total=total_pages, records=recoards) return HttpResponse(result, content_type="application/json;charset=utf-8") else: return render(request, 'isadmin/error/error-404.html')
def pocr_records(request, id=None): """比对结果(PrivateOutChainRecords)的CURD操作REST接口""" if request.method == 'POST': ss_id = request.POST.get("ss_id") out_chain = request.POST.get("out_chain") checked = request.POST.get("checked") result = request.POST.get("result") check_time = request.POST.get("check_time") obj = PrivateOutChainRecords.objects.create(ss_id=ss_id, out_chain=out_chain, checked=checked, result=result, check_time=check_time) if not obj: result = json_result("error", "添加比对结果记录失败:-(") else: result = json_result("success", "添加比对结果记录成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'DELETE': if isinstance(id, str) and id.find(',') != -1: ids = id.split(',') result_msg = "" for item in ids: obj = PrivateOutChainRecords.objects.filter(id=item).delete() if not obj or obj[0] == 0: result_msg += "删除比对结果记录id" + item + "失败:-(" else: result_msg += "删除比对结果记录id" + item + "成功:-)" result = json_result("success", result_msg) else: obj = PrivateOutChainRecords.objects.filter(id=id).delete() if not obj or obj[0] == 0: result = json_result("error", "删除比对结果记录失败:-(") else: result = json_result("success", "删除比对结果记录成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'PUT': put = QueryDict(request.body) id = put.get("id") ss_id = put.get("ss_id") out_chain = put.get("out_chain") checked = put.get("checked") result = put.get("result") check_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) obj = PrivateOutChainRecords.objects.filter(id=id). \ update(ss_id=ss_id, out_chain=out_chain, checked=checked, result=result, check_time=check_time) if obj == 0: result = json_result("error", "更新比对结果记录失败:-(") else: result = json_result("success", "删除比对结果记录成功:-)") return HttpResponse(result, content_type="application/json;charset=utf-8") elif request.method == 'GET': if id: obj = PrivateOutChainRecords.objects.filter(id=id) if not isinstance(obj, QuerySet): result = json_result("error", "查询比对结果记录失败:-(") else: data = list() if obj.check_time: obj.check_time = obj.check_time.strftime("%Y-%m-%d %H:%M:%S") data.append(to_json_dict(obj)) result = json_result("success", "查询比对结果记录成功:-)", data=data) else: rows = int(request.GET.get("rows")) if request.GET.get("rows") else 10 page = int(request.GET.get("page")) if request.GET.get("page") else 1 start = (page - 1) * rows end = start + rows filters = request.GET.get("filters") if filters: objs = PrivateOutChainRecords.objects filters = eval(filters) group_op = filters["groupOp"] rules = filters["rules"] if group_op == "OR": pass elif group_op == "AND": for rule in rules: if rule["op"] == "eq": if rule["field"] == "checked": objs = objs.filter(checked=rule["data"]) elif rule["field"] == "result": objs = objs.filter(result=rule["data"]) records = objs.count() objs = objs[start: end] else: return render(request, 'isadmin/error/error-404.html') else: objs = PrivateOutChainRecords.objects.all()[start: end] records = PrivateOutChainRecords.objects.count() if not isinstance(objs, QuerySet): result = json_result("error", "查询比对结果记录失败:-(") else: data = list() for obj in objs: if obj.check_time: obj.check_time = obj.check_time.strftime("%Y-%m-%d %H:%M:%S") data.append(to_json_dict(obj)) total_pages = math.floor(records / rows) + 1 result = json_result("success", "查询比对结果记录成功:-)", data=data, page=page, total=total_pages, records=records) return HttpResponse(result, content_type="application/json;charset=utf-8") else: return render(request, 'isadmin/error/error-404.html')