#NEWLINE# def _substr( t , expr ) : #NEWLINE# #INDENT# f = sa . func . substr #NEWLINE# ( arg , start , length ) = expr . op ( ) . args #NEWLINE# sa_arg = t . translate ( arg ) #NEWLINE# sa_start = t . translate ( start ) #NEWLINE# if ( length is None ) : #NEWLINE# #INDENT# return f ( sa_arg , ( sa_start + 1 ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# sa_length = t . translate ( length ) #NEWLINE# return f ( sa_arg , ( sa_start + 1 ) , sa_length )