Esempio n. 1
0
def add_domain(request):
    '''
    添加dnspod域名
    :return:
    '''
    d_obj = Domain()
    result = {}
    # if request.method == "GET":
    #     group_list = d_obj.group_list()
    #     # 获取所有group_id
    #     ids = [{"group_id":g.get("group_id",""),"group_name":g.get("group_name","")}
    #            for g in group_list.get('groups',[])]
    #     # print ids
    #     return jsonify(ids)

    if request.method == "POST":
        domain = request.POST.get("domain", "")
        group_id = request.POST.get("group_id", "")
        ismark = request.POST.get("ismark", "")

        status, data = d_obj.create(domain, group_id, ismark)
        if status:
            result = {"code": 0, "message": data['status']['message']}
        else:
            result = {"code": 1, "message": data}

        return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
            result.get("code", ""), result.get("message", "")))
        # return HttpResponseRedirect(reverse("dnspod",
        #                             kwargs={"status":result.get("code", ""),
        #                                     "message":result.get("message", "")}))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use get/post method!")))
Esempio n. 2
0
def domain_changegroup(request):
    '''
    设置域名分组
    :return:
    '''
    d_obj = Domain()
    result = {}
    domain_id = request.POST.get("domain_id", "")
    group_id = request.POST.get("group_id", "")
    status, data = d_obj.change_group(domain_id=domain_id, group_id=group_id)

    return HttpResponse(json.dumps(status))
Esempio n. 3
0
def domain_delgroup(request):
    '''
    删除域名分组
    :return:
    '''
    d_obj = Domain()
    group_id = request.GET.get("group_id", "")

    status, data = d_obj.group_remove(group_id)
    if status:
        result = {"code": 0, "message": data['status']['message']}
    else:
        result = {"code": 1, "message": data}

    return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
        result.get("code", ""), result.get("message", "")))
Esempio n. 4
0
def domain_addgroup(request):
    '''
    添加域名分组
    :return:
    '''
    d_obj = Domain()
    group_name = request.POST.get("group_name", "")

    status, data = d_obj.group_create(group_name)
    if status:
        result = {"code": 0, "message": data['status']['message']}
    else:
        result = {"code": 1, "message": data}

    return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
        result.get("code", ""), result.get("message", "")))
Esempio n. 5
0
def list_subdomain(request):
    '''
    列出包含A记录的所有子域名
    :return:
    '''
    d_obj = Domain()
    dm_obj = dmonitor.DMonitor()

    domain_list = d_obj.list()

    id_list = [d.get("id") for d in domain_list]

    d2r_names = {}

    # st = time.time()
    li = []
    for did in id_list:
        t = MyThread(dm_obj.list_subdomain, args=(None, did))
        li.append(t)
        t.start()

    for t in li:
        t.join()  # 一定要join,不然主线程比子线程跑的快,会拿不到结果
        status, data = t.get_result()
        if status:
            d_name = data.get("domain", {}).get("name", "")
            d_id = data.get("domain", {}).get("id", "")
            r_name = data.get("subdomain", [])
            if r_name:
                d2r_names[d_name] = dict(id=d_id, rnames=r_name)
    # et = time.time()
    # print et - st

    # st = time.time()
    # for did in id_list:
    #     status,data = dm_obj.list_subdomain(domain_id=did)
    #     if status:
    #         d_name = data.get("domain",{}).get("name","")
    #         d_id = data.get("domain",{}).get("id","")
    #         r_name = data.get("subdomain",[])
    #         if r_name:
    #             d2r_names[d_name] = dict(id=d_id,rnames=r_name)
    # et = time.time()
    # print et - st

    # print d2r_names
    return HttpResponse(json.dumps(d2r_names))
Esempio n. 6
0
def domain_log(request):
    '''
    获取域名操作日志:默认100条
    :return:
    '''
    d_obj = Domain()

    if request.method == "GET":
        domain_id = request.GET.get("domain_id", "")
        status, data = d_obj.log(domain_id=domain_id)
        if status:
            log = '\n'.join(data.get("log", []))
            return HttpResponse(json.dumps(log))
        else:
            return HttpResponse(json.dumps(data))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use get method!")))
Esempio n. 7
0
def domain_lock(request):
    d_obj = Domain()
    if request.method == "POST":
        domain_id = request.POST.get("domain_id", "")
        days = request.POST.get("days", "")
        status, data = d_obj.lock(days=days, domain_id=domain_id)
        if status:
            result = {
                "code": 0,
                "message": '域名锁定成功,通过解锁码%s解锁,请妥善保管' % data['lock']['lock_code']
            }
        else:
            result = {"code": 1, "message": data}

        return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
            result.get("code", ""), result.get("message", "")))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use post method!")))
Esempio n. 8
0
def del_domain(request):
    '''
    删除dnspod域名
    :return:
    '''
    d_obj = Domain()
    result = {}
    if request.method == "GET":
        domain_id = request.GET.get("domain_id", "")
        status, data = d_obj.remove(domain_id=domain_id)
        if status:
            result = {"code": 0, "message": data['status']['message']}
        else:
            result = {"code": 1, "message": data}

        return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
            result.get("code", ""), result.get("message", "")))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use get method!")))
Esempio n. 9
0
def domain_remark(request):
    '''
    修改域名备注
    :return:
    '''
    d_obj = Domain()
    if request.method == "POST":
        domain_id = request.POST.get("domain_id", "")
        remark = request.POST.get("remark", "")
        status, data = d_obj.remark(remark=remark, domain_id=domain_id)
        if status:
            result = {"code": 0, "message": data['status']['message']}
        else:
            result = {"code": 1, "message": data}

        return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
            result.get("code", ""), result.get("message", "")))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use post method!")))
Esempio n. 10
0
def domain_searchenginepush(request):
    '''
    是否开启搜索引擎推送
    :return:
    '''
    d_obj = Domain()
    if request.method == "GET":
        domain_id = request.GET.get("domain_id", "")
        status = request.GET.get("status", "")
        status_val, data = d_obj.searchenginepush(domain_id=domain_id,
                                                  status=status)
        if status_val:
            result = {"code": 0, "message": data['status']['message']}
        else:
            result = {"code": 1, "message": data}

        return HttpResponseRedirect('/dnspod/?status={0}&message={1}'.format(
            result.get("code", ""), result.get("message", "")))
    else:
        return HttpResponse(
            json.dumps(dict(code=1, message="please use get method!")))
Esempio n. 11
0
def dnspod(request):
    '''
    获取dnspod域名列表
    :return:
    '''
    d_obj = Domain()
    group_id = request.GET.get("group_id", "")
    groups = d_obj.group_list().get('groups', [])
    domain_list = d_obj.list(group_id=group_id)
    result = {}

    status = request.GET.get("status", "")
    message = request.GET.get("message", "")
    if status.isdigit():
        result = {"code": int(status), "message": message}

    return render(request,
                  "dnspod.html", {
                      "domain_list": domain_list,
                      "result": result,
                      "groups": groups,
                      "group_id": group_id
                  },
                  using='jinja2')