Source code for core.bots.cli

# core/bots/cli.py
#
#

""" console programma voor de enkele gebruiker. """

__copyright__ = "Copyright 2015, B.H.J Thate"

## IMPORTS

from core.defines import GREEN, ENDC
from core.kernel import fleet, cfg
from core.bots import Bot
from core.thing import Thing

import time
import sys

## CLI

[docs]class CLI(Bot): """ bot running on the console. """ cc = "none" default = ""
[docs] def raw(zelf, *args, **kwargs): sys.stdout.write(str(args[0])) ; sys.stdout.write("\n") ; sys.stdout.flush()
[docs] def say(zelf, *args, **kwargs): zelf.raw(args[1])
[docs] def prompt(zelf, *args, **kwargs): zelf.wait() if cfg.colors: return "%s %s<%s " % (time.ctime(time.time()).split()[-2], GREEN, ENDC) else: return "%s < " % (time.ctime(time.time()).split()[-2])
[docs] def event(zelf, *args, **kwargs): event = Thing() event._target = zelf event.origin = "root@shell" zelf.ready() event.txt = input(zelf.prompt()) return event
[docs] def start(zelf, *args, **kwargs): fleet.append(zelf) if not cfg.shell: thrs = zelf.single(" ".join(cfg.runargs)) if thrs: zelf.collect(thrs) zelf.ready() return Bot.start(zelf)