示例#1
0
def modify_record_name(domain_name, name, record_id, new_ip_addr):
    request = UpdateDomainRecordRequest()
    request.set_accept_format('json')
    request.set_RecordId(record_id)
    request.set_RR(name)
    request.set_Type("A")
    request.set_Value(new_ip_addr)
    with open(log_file, "a") as logfile:
        try:
            response = client.do_action_with_exception(request)
            sms.dns_record_update_sms(
                '.'.join([name, domain_name]).replace(".", "-"),
                new_ip_addr.replace('.', '-'))
            serverchan_ip_change_msg(name, "-".join(new_ip_addr.split(".")))
            logfile.write(
                "%s \t %s \n" %
                (str(time.asctime(time.localtime(time.time()))), response))
            r_j = json.loads(response.decode())
            request_id = r_j["RequestId"]
            record_id = r_j["RecordId"]
            insert_change(request_id=request_id,
                          record_id=record_id,
                          domain=domain_name,
                          name=name,
                          ip_addr=new_ip_addr)
            exist_and_count(domain_name, name, record_id)
            OK_response("200.3 OK")
        except Exception as e:
            logfile.write("%s \t %s \n" %
                          (str(time.asctime(time.localtime(
                              time.time()))), traceback.print_exc()))
            code = "503.4"
            serverchan_error_msg(domain_name, code, e)
            error_response(code)
示例#2
0
                          name=name,
                          ip_addr=new_ip_addr)
            exist_and_count(domain_name, name, record_id)
            OK_response("200.3 OK")
        except Exception as e:
            logfile.write("%s \t %s \n" %
                          (str(time.asctime(time.localtime(
                              time.time()))), traceback.print_exc()))
            code = "503.4"
            serverchan_error_msg(domain_name, code, e)
            error_response(code)


client_ip = get_client_ip_addr()
domain_name, name_post = post_data()
full_records_response = describe_full_records(domain_name)
is_name_existed, name_data = search_name_from_full_records(
    name_post, full_records_response)
if is_name_existed:
    # name record exists
    # compare and modify the records
    record_id = name_data['RecordId']
    ip_in_record = describe_name_record(record_id)
    if ip_in_record == client_ip:
        exist_and_count(domain_name, name_post, record_id)
        OK_response("200.2 OK")
    else:
        modify_record_name(domain_name, name_post, record_id, client_ip)
else:
    create_record(domain_name, name_post, client_ip)