from zope.interface import implements
from twisted.python import usage
from twisted.plugin import IPlugin
from twisted.application.service import IServiceMaker
from twisted.application import internet
from fixbot import nexus
class NexusOptions (usage.Options) :
optParameters = [
# ( "uid", "u", "fixbot", "user to run as" ),
# ( "gid", "g", "nogroup", "group to run as" ),
( "irc-hostname", "s", "irc.fixme.fi", "IRC server hostname", ),
( "irc-port", "p", 6667, "IRC server port", int ),
( "irc-nickname", "n", "FixBotDev", "IRC nickname", ),
( "irc-username", "U", "fixbot", "IRC username", ),
( "irc-channel", "c", "#fixme-test", "IRC channel", ),
( "api-listen", "l", "127.0.0.1", "address for API server to listen on" ),
( "api-port", "P", 34888, "port for API server to listen on", int ),
]
optFlags = [
]
class MyServiceMaker (object) :
implements(IServiceMaker, IPlugin)
tapname = "fixbot_nexus"
description = "FixBot (nexus component)"
options = NexusOptions
def makeService (self, config) :
return nexus.makeService(config)
serviceMaker = MyServiceMaker()