#NEWLINE# def update_record( self , record , name = None , type = None , data = None , extra = None ) : #NEWLINE# #INDENT# name = ( name or record . name ) #NEWLINE# type = ( type or record . type ) #NEWLINE# extra = ( extra or record . extra ) #NEWLINE# if ( not extra ) : #NEWLINE# #INDENT# extra = record . extra #NEWLINE# #UNINDENT# multiple_value_record = record . extra . get ( '_multi_value' , False ) #NEWLINE# other_records = record . extra . get ( '_other_records' , [ ] ) #NEWLINE# if ( multiple_value_record and other_records ) : #NEWLINE# #INDENT# self . _update_multi_value_record ( record = record , name = name , type = type , data = data , extra = extra ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . _update_single_value_record ( record = record , name = name , type = type , data = data , extra = extra ) #NEWLINE# #UNINDENT# id = ':' . join ( ( self . RECORD_TYPE_MAP [ type ] , name ) ) #NEWLINE# return Record ( id = id , name = name , type = type , data = data , zone = record . zone , driver = self , ttl = extra . get ( 'ttl' , None ) , extra = extra )