gentoo-overlay/net-im/palaver/files/palaver.py.diff

51 lines
1.5 KiB
Diff

--- palaver.py 2012-03-19 11:44:46.000000000 +0100
+++ palaver_plugin.py 2012-07-19 03:53:27.782461489 +0200
@@ -1,7 +1,40 @@
-from twisted.scripts.mktap import _tapHelper
-
-Palaver = _tapHelper(
- "Palaver",
- "palaver.tap",
- "A multi-user chat xmpp/jabber component.",
- "palaver")
+from zope.interface import implements
+from twisted.python import usage
+from twisted.plugin import IPlugin
+from twisted.application.service import IServiceMaker
+
+# Due to the directory layout, and the fact that plugin directories aren't
+# modules (no __init__.py), this file is named something other than palaver.py,
+# to ensure that this import pulls in the right module.
+import palaver
+
+class Options(usage.Options):
+ optParameters = [
+ ('rhost', None, None),
+ ('rport', None, None),
+ ('secret', None, None),
+ ('backend', None, 'dir'),
+ ('spool', None, None),
+ ('admin', None, 1),
+ ('create', None, 1),
+ ('dbname', None, 'muc'),
+ ('dbuser', None, 'muc'),
+ ('dbhostname', None, None),
+ ('log', 'l', './html/logs/'),
+ ('config', 'c', 'config.xml')
+ ]
+
+ optFlags = [
+ ('verbose', 'v', 'Show traffic'),
+ ]
+
+class ServiceFactory(object):
+ implements(IServiceMaker, IPlugin)
+ tapname = "palaver"
+ description = "A multi-user chat xmpp/jabber component."
+ options = Options
+
+ def makeService(self, options):
+ return palaver.makeService(options)
+
+service = ServiceFactory()