#!/usr/bin/python3
#
#

""" CORED - for writing bots.  """

__copyright__ = "Copyright 2014 B.H.J Thate"

## ENVIRONMENT

import os, sys

os.environ["PYTHONPATH"] = "eggs"

sys.path.insert(0, os.getcwd())

## IMPORTS

from core.utils import hello, shutdown
from core.bots.console import ConsoleBot
from core.object import Object
from core.log import init
from core import kernel, __version__

from apo import __version__

import readline
import logging
import time
import sys
import os

## MAIN

def main():
    cfg = kernel.cfg
    cfg.shell and hello("APO", __version__)
    init(cfg.loglevel)
    cfg.plugs.append("apo.plugs")
    if cfg.loglevel != "error": print("\n".join(sorted(cfg.show()))) ; print("")
    for package in cfg.plugs: kernel.plugs.start(package)
    for modname in cfg.services: kernel.services.start(modname)   
    for modname in cfg.bots: kernel.bots.start(modname)   
    kernel.plugs.init(cfg.init)
    kernel.services.init(cfg.init)
    kernel.bots.init(cfg.init)
    bot = ConsoleBot()
    bot.start()

if __name__ == "__main__": 
    try: main()
    except KeyboardInterrupt: pass
    shutdown()
