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