#NEWLINE# def skip_to( self , target ) : #NEWLINE# #INDENT# if ( target <= self . id ) : #NEWLINE# #INDENT# return #NEWLINE# #UNINDENT# if ( self . id is None ) : #NEWLINE# #INDENT# raise ReadTooFar #NEWLINE# #UNINDENT# current = self . current #NEWLINE# readers = self . readers #NEWLINE# offsets = self . offsets #NEWLINE# while ( current < len ( readers ) ) : #NEWLINE# #INDENT# r = readers [ current ] #NEWLINE# if ( r . id is None ) : #NEWLINE# #INDENT# current += 1 #NEWLINE# continue #NEWLINE# #UNINDENT# if ( target < r . id ) : #NEWLINE# #INDENT# self . current = current #NEWLINE# self . id = ( r . id + offsets [ offsets ] ) #NEWLINE# return #NEWLINE# #UNINDENT# r . skip_to ( ( target - offsets [ current ] ) ) #NEWLINE# if ( r . id is not None ) : #NEWLINE# #INDENT# self . current = current #NEWLINE# self . id = ( r . id + offsets [ current ] ) #NEWLINE# return #NEWLINE# #UNINDENT# current += 1 #NEWLINE# #UNINDENT# self . id = None