#NEWLINE# def observe( self , event_name , func ) : #NEWLINE# #INDENT# "\n        event_name := {'created', 'modified', 'deleted'}, list, tuple\n\n        Attaches a function to run to a particular event. The function must be\n        unique to be removed cleanly. Alternatively, event_name can be an list/\n        tuple if any of the string possibilities to be added on multiple events\n        " #NEWLINE# if ( isinstance ( event_name , list ) or isinstance ( event_name , tuple ) ) : #NEWLINE# #INDENT# for name in event_name : #NEWLINE# #INDENT# self . observe ( name , func ) #NEWLINE# #UNINDENT# return #NEWLINE# #UNINDENT# self . log ( event_name . __name__ , 'attached to' , event_name ) #NEWLINE# self . _modify_event ( event_name , 'append' , func )