#NEWLINE# @ _ignore_closed #NEWLINE# def _get_data( self , event = None ) : #NEWLINE# #INDENT# with self . _run_lock : #NEWLINE# #INDENT# if self . _stopped : #NEWLINE# #INDENT# return #NEWLINE# #UNINDENT# initial_version = self . _version #NEWLINE# try : #NEWLINE# #INDENT# ( data , stat ) = self . _retry ( self . _client . get , self . _path , self . _watcher ) #NEWLINE# #UNINDENT# except NoNodeError : #NEWLINE# #INDENT# data = None #NEWLINE# stat = self . _retry ( self . _client . exists , self . _path , self . _watcher ) #NEWLINE# if stat : #NEWLINE# #INDENT# self . _client . handler . spawn ( event . _get_data ) #NEWLINE# return #NEWLINE# #UNINDENT# #UNINDENT# if ( stat is None ) : #NEWLINE# #INDENT# self . _version = None #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . _version = stat . mzxid #NEWLINE# #UNINDENT# if ( ( initial_version != self . _version ) or ( not self . _ever_called ) ) : #NEWLINE# #INDENT# self . _log_func_exception ( data , stat , event )