ben@ben-laptop:~/Projects/trollbot$ ./trollbot
#################################################
# Trollbot v1.0.0, written by #
#################################################
# poutine/DALnet - Lead Developer #
# kicken/DALnet - Javascript Support and Core #
# comcor/DALnet - Python Support #
#################################################
# Reading configuration #
#################################################
Configuration Parser Output:
[python] Initialized interpreter
[python] Loaded trollbot binding module
[python] code: import imp
import trollbot
import sys
NETWORKS = {}
#TrollbotNetworkInterface
#Marshals access to the trollbot module for the given network.
#Each script loaded will have a reference to an instance of this
#object for the network it is attached to
class TrollbotNetworkInterface:
def __init__(self, network):
self.network = network #ptr to TB net struct
self.modules = {}
#end __init__
def load_module(self, name):
ok = False
if (name.find("/") != -1):
comps = name.split("/")
path = "/".join(comps[:-1])
name = comps[-1]
if path not in sys.path:
sys.path.insert(0,path)
#end path handling
#strip .py off
if (name[-3:] == ".py"):
name = name[:-3]
fp, pathname, description = imp.find_module(name)
try:
module = imp.load_module(name, fp, pathname, description)
if module is not None:
#pass module a reference to us
module.trollbot = self
#initialize our module
if getattr(module, "load") != None:
module.load()
else:
raise "Missing load() method for module!"
#save the module for access later
self.modules[name] = module
ok = True
finally:
if fp:
fp.close
return ok
#end load_module
def bind(self,*args):
trollbot.bind(self.network, *args)
def putserv(self, *args):
trollbot.putserv(self.network, *args)
def call_method(self,callback, *args):
#get module name
(module, method) = callback.split(".")
if self.modules.has_key(module):
cb = getattr(self.modules[module], method)
cb(*args)
#end TrollbotNetworkInterface
##
## INTERNAL FUNCTIONS
##
## Please don't call these unless you know what you are doing.
## These are meant to be called through the Python C/API
##
def __TB_init_network(network):
if not NETWORKS.has_key(network):
NETWORKS[network] =
[python] Loaded internal core module
[python] initializing network context DALnet
[python] loading module `scripts/test.py' for network DALnet
Could not load Javascript file (scripts/cocks.js)
test loaded
Loaded cryptoquote