-from zope.interface import implements\r
-\r
-from twisted.python import usage\r
-from twisted.internet import task\r
-from twisted.plugin import IPlugin\r
-from twisted.application.service import IServiceMaker\r
-from twisted.application import internet, strports\r
-from twisted.web import static, server\r
-\r
-from qwebirc import RootSite\r
-\r
-class Options(usage.Options):\r
- optParameters = [["port", "p", "9090","Port to start the server on."],\r
- ["logfile", "l", None, "Path to web CLF (Combined Log Format) log file."],\r
- ["https", None, None, "Port to listen on for Secure HTTP."],\r
- ["certificate", "c", "server.pem", "SSL certificate to use for HTTPS. "],\r
- ["privkey", "k", "server.pem", "SSL certificate to use for HTTPS."],\r
- ["staticpath", "s", "static", "Path to static content"],\r
- ]\r
-\r
- optFlags = [["notracebacks", "n", "Display tracebacks in broken web pages. " +\r
- "Displaying tracebacks to users may be security risk!"],\r
- ]\r
- \r
- zsh_actions = {"logfile" : "_files -g '*.log'", "certificate" : "_files -g '*.pem'",\r
- "privkey" : "_files -g '*.pem'"} \r
-\r
- def postOptions(self):\r
- if self['https']:\r
- try:\r
- from twisted.internet.ssl import DefaultOpenSSLContextFactory\r
- except ImportError:\r
- raise usage.UsageError("SSL support not installed")\r
- \r
-class QWebIRCServiceMaker(object):\r
- implements(IServiceMaker, IPlugin)\r
- tapname = "qwebirc"\r
- description = "QuakeNet web-based IRC client"\r
- options = Options\r
-\r
- \r
- def makeService(self, config):\r
- if config['logfile']:\r
- site = RootSite(config['staticpath'], logPath=config['logfile'])\r
- else:\r
- site = RootSite(config['staticpath'])\r
- \r
- \r
- site.displayTracebacks = not config["notracebacks"]\r
- if config['https']:\r
- from twisted.internet.ssl import DefaultOpenSSLContextFactory\r
- i = internet.SSLServer(int(config['https']), site, DefaultOpenSSLContextFactory(config['privkey'], config['certificate']))\r
- else:\r
- i = internet.TCPServer(int(config['port']), site)\r
- \r
- return i\r
- \r
+from zope.interface import implements
+
+from twisted.python import usage
+from twisted.internet import task
+from twisted.plugin import IPlugin
+from twisted.application.service import IServiceMaker
+from twisted.application import internet, strports
+from twisted.web import static, server
+
+from qwebirc import RootSite
+
+class Options(usage.Options):
+ optParameters = [["port", "p", "9090","Port to start the server on."],
+ ["logfile", "l", None, "Path to web CLF (Combined Log Format) log file."],
+ ["https", None, None, "Port to listen on for Secure HTTP."],
+ ["certificate", "c", "server.pem", "SSL certificate to use for HTTPS. "],
+ ["privkey", "k", "server.pem", "SSL certificate to use for HTTPS."],
+ ["staticpath", "s", "static", "Path to static content"],
+ ]
+
+ optFlags = [["notracebacks", "n", "Display tracebacks in broken web pages. " +
+ "Displaying tracebacks to users may be security risk!"],
+ ]
+
+ zsh_actions = {"logfile" : "_files -g '*.log'", "certificate" : "_files -g '*.pem'",
+ "privkey" : "_files -g '*.pem'"}
+
+ def postOptions(self):
+ if self['https']:
+ try:
+ from twisted.internet.ssl import DefaultOpenSSLContextFactory
+ except ImportError:
+ raise usage.UsageError("SSL support not installed")
+
+class QWebIRCServiceMaker(object):
+ implements(IServiceMaker, IPlugin)
+ tapname = "qwebirc"
+ description = "QuakeNet web-based IRC client"
+ options = Options
+
+
+ def makeService(self, config):
+ if config['logfile']:
+ site = RootSite(config['staticpath'], logPath=config['logfile'])
+ else:
+ site = RootSite(config['staticpath'])
+
+
+ site.displayTracebacks = not config["notracebacks"]
+ if config['https']:
+ from twisted.internet.ssl import DefaultOpenSSLContextFactory
+ i = internet.SSLServer(int(config['https']), site, DefaultOpenSSLContextFactory(config['privkey'], config['certificate']))
+ else:
+ i = internet.TCPServer(int(config['port']), site)
+
+ return i
+
serviceMaker = QWebIRCServiceMaker()
\ No newline at end of file