#!/usr/bin/env python3
#
#

""" run multiple bot instances in 1 program. """

## bootstrap

import warnings
warnings.simplefilter("ignore")

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

## basic imports

import logging
import time
import signal


## options parser

from tl.boot import boot
opts, cfg = boot("fleet")

## tl imports

from tl.partyline import partyline
from tl.datadir import makedirs
from tl.exit import globalshutdown
from tl.utils.mainloop import mainloop
from tl.users import users_boot
from tl.threads import start_new_thread
from tl.utils.exception import handle_exception
import tl

from tl.fleet import getfleet
fleet = getfleet(opts.datadir)
if not fleet.avail(): logging.error("fleet - no bots found.") ; os._exit(1)
if opts.all:
    avail = fleet.avail()
    if avail: sys.stdout.write("available bots: " + ", ".join(avail) + ".\n")
    else: sys.stdout.write("no bots available.\n")

if opts.all: print("") ; os._exit(0)

thr = None

if opts.doresume: start_new_thread(doresume, ())
else: start_new_thread(fleet.boot, (opts.args, ["tornado", "console"]))

if opts.api:
    from jsb.api import server
    server.runapiserver(opts.apiport)
else: mainloop()
