def include(self, filename):
        """ Changes FILENAME and line count
        """
        if filename != STDIN and filename in [x[0] for x in self.filestack]:  # Already included?
            self.warning(' Recursive inclusion')

        self.filestack.append([filename, 1, self.lex, self.input_data])
        self.lex = lex.lex(object=self)
        result = self.put_current_line()  # First #line start with \n (EOL)

        try:
            if filename == STDIN:
                self.input_data = sys.stdin.read()
            else:
                self.input_data = api.utils.read_txt_file(filename)

            if len(self.input_data) and self.input_data[-1] != EOL:
                self.input_data += EOL
        except IOError:
            self.input_data = EOL

        self.lex.input(self.input_data)
        return result
def include ( self , filename ) : if filename != STDIN and filename in [ x [ 0 ] for x in self . filestack ] : self . warning ( ' Recursive inclusion' ) self . filestack . append ( [ filename , 1 , self . lex , self . input_data ] ) self . lex = lex . lex ( object = self ) result = self . put_current_line ( ) try : if filename == STDIN : self . input_data = sys . stdin . read ( ) else : self . input_data = api . utils . read_txt_file ( filename ) if len ( self . input_data ) and self . input_data [ - 1 ] != EOL : self . input_data += EOL except IOError : self . input_data = EOL self . lex . input ( self . input_data ) return result
Changes FILENAME and line count