#!/usr/bin/env python
import os

def _main500():
    from IPython.terminal.prompts import Prompts, Token
    from traitlets.config.loader import Config

    class MyPrompt(Prompts):
        def in_prompt_tokens(self, cli=None):
            return [(Token.Prompt, 'ASAP> ')]

        def out_prompt_tokens(self, cli=None):
            return [(Token.OutPrompt, 'asap>: ')]

    cfg = Config()
    cfg.TerminalInteractiveShell.colors = "Linux"
    cfg.TerminalInteractiveShell.prompts_class=MyPrompt
    from IPython.terminal.embed import InteractiveShellEmbed
    ipshell = InteractiveShellEmbed(config=cfg,
                                    banner1 = welcome(),
                                    exit_msg = '')
    return ipshell
    
def _main011():
    from IPython.config.loader import Config
    cfg = Config()
    prompt_config = cfg.PromptManager
    prompt_config.in_template = 'ASAP> '
    prompt_config.out_template = 'asap>: '
    cfg.InteractiveShell.autoindent = True
    cfg.InteractiveShell.autocall = 2
    cfg.InteractiveShell.magic_pprint = True
    cfg.InteractiveShell.use_readline=True
    cfg.InteractiveShell.confirm_exit=False
    cfg.InteractiveShell.xmode='Plain'
    try:        
        from IPython.terminal.embed import InteractiveShellEmbed
    except ImportError:
        from IPython.frontend.terminal.embed import InteractiveShellEmbed
    ipshell = InteractiveShellEmbed(config=cfg,
                                    banner1 = welcome(),
                                    exit_msg = '')
    return ipshell

try: 
    os.system('clear')
    import IPython
    from asap import *    
    vitems = IPython.__version__.split(".")
    vmaj = int(vitems[0])
    if vmaj >= 5:
        ipshell = _main500()
    else:
        ipshell = _main011()
    ipshell()
    
except ImportError:
    banner =  "No ipython found. Running standard python"
    import code
    from asap import *
    code.interact(banner, local=locals())
