environment/lib/python2.7/site-packages/IPython/core/prefilter.py
def handle(self, line_info):
        """Handle lines which can be auto-executed, quoting if requested."""
        line    = line_info.line
        ifun    = line_info.ifun
        the_rest = line_info.the_rest
        pre     = line_info.pre
        esc     = line_info.esc
        continue_prompt = line_info.continue_prompt
        obj = line_info.ofind(self.shell)['obj']
        #print 'pre <%s> ifun <%s> rest <%s>' % (pre,ifun,the_rest)  # dbg

        # This should only be active for single-line input!
        if continue_prompt:
            return line

        force_auto = isinstance(obj, IPyAutocall)

        # User objects sometimes raise exceptions on attribute access other
        # than AttributeError (we've seen it in the past), so it's safest to be
        # ultra-conservative here and catch all.
        try:
            auto_rewrite = obj.rewrite
        except Exception:
            auto_rewrite = True

        if esc == ESC_QUOTE:
            # Auto-quote splitting on whitespace
            newcmd = '%s("%s")' % (ifun,'", "'.join(the_rest.split()) )
        elif esc == ESC_QUOTE2:
            # Auto-quote whole string
            newcmd = '%s("%s")' % (ifun,the_rest)
        elif esc == ESC_PAREN:
            newcmd = '%s(%s)' % (ifun,",".join(the_rest.split()))
        else:
            # Auto-paren.       
            if force_auto:
                # Don't rewrite if it is already a call.
                do_rewrite = not the_rest.startswith('(')
            else:
                if not the_rest:
                    # We only apply it to argument-less calls if the autocall
                    # parameter is set to 2.
                    do_rewrite = (self.shell.autocall >= 2)
                elif the_rest.startswith('[') and hasattr(obj, '__getitem__'):
                    # Don't autocall in this case: item access for an object
                    # which is BOTH callable and implements __getitem__.
                    do_rewrite = False
                else:
                    do_rewrite = True

            # Figure out the rewritten command
            if do_rewrite:
                if the_rest.endswith(';'):
                    newcmd = '%s(%s);' % (ifun.rstrip(),the_rest[:-1])
                else:
                    newcmd = '%s(%s)' % (ifun.rstrip(), the_rest)                
            else:
                normal_handler = self.prefilter_manager.get_handler_by_name('normal')
                return normal_handler.handle(line_info)
        
        # Display the rewritten call
        if auto_rewrite:
            self.shell.auto_rewrite_input(newcmd)

        return newcmd
def handle(self, line_info):
        line    = line_info.line
        ifun    = line_info.ifun
        the_rest = line_info.the_rest
        pre     = line_info.pre
        esc     = line_info.esc
        continue_prompt = line_info.continue_prompt
        obj = line_info.ofind(self.shell)['obj']
        #print 'pre <%s> ifun <%s> rest <%s>' % (pre,ifun,the_rest)  # dbg

        # This should only be active for single-line input!
        if continue_prompt:
            return line

        force_auto = isinstance(obj, IPyAutocall)

        # User objects sometimes raise exceptions on attribute access other
        # than AttributeError (we've seen it in the past), so it's safest to be
        # ultra-conservative here and catch all.
        try:
            auto_rewrite = obj.rewrite
        except Exception:
            auto_rewrite = True

        if esc == ESC_QUOTE:
            # Auto-quote splitting on whitespace
            newcmd = '%s("%s")' % (ifun,'", "'.join(the_rest.split()) )
        elif esc == ESC_QUOTE2:
            # Auto-quote whole string
            newcmd = '%s("%s")' % (ifun,the_rest)
        elif esc == ESC_PAREN:
            newcmd = '%s(%s)' % (ifun,",".join(the_rest.split()))
        else:
            # Auto-paren.       
            if force_auto:
                # Don't rewrite if it is already a call.
                do_rewrite = not the_rest.startswith('(')
            else:
                if not the_rest:
                    # We only apply it to argument-less calls if the autocall
                    # parameter is set to 2.
                    do_rewrite = (self.shell.autocall >= 2)
                elif the_rest.startswith('[') and hasattr(obj, '__getitem__'):
                    # Don't autocall in this case: item access for an object
                    # which is BOTH callable and implements __getitem__.
                    do_rewrite = False
                else:
                    do_rewrite = True

            # Figure out the rewritten command
            if do_rewrite:
                if the_rest.endswith(';'):
                    newcmd = '%s(%s);' % (ifun.rstrip(),the_rest[:-1])
                else:
                    newcmd = '%s(%s)' % (ifun.rstrip(), the_rest)                
            else:
                normal_handler = self.prefilter_manager.get_handler_by_name('normal')
                return normal_handler.handle(line_info)
        
        # Display the rewritten call
        if auto_rewrite:
            self.shell.auto_rewrite_input(newcmd)

        return newcmd
def handle ( self , line_info ) : line = line_info . line ifun = line_info . ifun the_rest = line_info . the_rest pre = line_info . pre esc = line_info . esc continue_prompt = line_info . continue_prompt obj = line_info . ofind ( self . shell ) [ 'obj' ] #print 'pre <%s> ifun <%s> rest <%s>' % (pre,ifun,the_rest)  # dbg # This should only be active for single-line input! if continue_prompt : return line force_auto = isinstance ( obj , IPyAutocall ) # User objects sometimes raise exceptions on attribute access other # than AttributeError (we've seen it in the past), so it's safest to be # ultra-conservative here and catch all. try : auto_rewrite = obj . rewrite except Exception : auto_rewrite = True if esc == ESC_QUOTE : # Auto-quote splitting on whitespace newcmd = '%s("%s")' % ( ifun , '", "' . join ( the_rest . split ( ) ) ) elif esc == ESC_QUOTE2 : # Auto-quote whole string newcmd = '%s("%s")' % ( ifun , the_rest ) elif esc == ESC_PAREN : newcmd = '%s(%s)' % ( ifun , "," . join ( the_rest . split ( ) ) ) else : # Auto-paren.        if force_auto : # Don't rewrite if it is already a call. do_rewrite = not the_rest . startswith ( '(' ) else : if not the_rest : # We only apply it to argument-less calls if the autocall # parameter is set to 2. do_rewrite = ( self . shell . autocall >= 2 ) elif the_rest . startswith ( '[' ) and hasattr ( obj , '__getitem__' ) : # Don't autocall in this case: item access for an object # which is BOTH callable and implements __getitem__. do_rewrite = False else : do_rewrite = True # Figure out the rewritten command if do_rewrite : if the_rest . endswith ( ';' ) : newcmd = '%s(%s);' % ( ifun . rstrip ( ) , the_rest [ : - 1 ] ) else : newcmd = '%s(%s)' % ( ifun . rstrip ( ) , the_rest ) else : normal_handler = self . prefilter_manager . get_handler_by_name ( 'normal' ) return normal_handler . handle ( line_info ) # Display the rewritten call if auto_rewrite : self . shell . auto_rewrite_input ( newcmd ) return newcmd
Handle lines which can be auto-executed, quoting if requested.
Handle lines which can be auto - executed quoting if requested .