#!/usr/bin/env python
import argparse

import IPython
from IPython.config.loader import Config
from IPython.frontend.terminal.embed import InteractiveShellEmbed

import ipymongo

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        'addr',
        default='mongodb://localhost:27017/test',
        nargs='?')
    options = parser.parse_args()
    argv = [ '--ext', 'ipymongo' ]
    user_ns = {}
    shell = InteractiveShellEmbed(user_ns=user_ns)
    shell.extension_manager.load_extension('ipymongo')
    conn, db = ipymongo.set_uri(options.addr)
    user_ns.update(conn=conn, db=db)
    shell_config = shell.prompt_manager
    shell_config.in_template = 'In [\\#] (%s): ' % db.name
    shell()

if __name__ == '__main__':
    main()
