aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/Twisted/py3/twisted/words/xmpproutertap.py
blob: 2a95f844fb0a945733edbc4b83f63f2d7c3c83bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- test-case-name: twisted.words.test.test_xmpproutertap -*-
#
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

from twisted.application import strports
from twisted.python import usage
from twisted.words.protocols.jabber import component


class Options(usage.Options):
    optParameters = [
        ("port", None, "tcp:5347:interface=127.0.0.1", "Port components connect to"),
        ("secret", None, "secret", "Router secret"),
    ]

    optFlags = [
        ("verbose", "v", "Log traffic"),
    ]


def makeService(config):
    router = component.Router()
    factory = component.XMPPComponentServerFactory(router, config["secret"])

    if config["verbose"]:
        factory.logTraffic = True

    return strports.service(config["port"], factory)