diff options
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/tap.py')
-rwxr-xr-x | lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/tap.py | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/tap.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/tap.py deleted file mode 100755 index c0ba9fd0..00000000 --- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/tap.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- test-case-name: twisted.words.test.test_tap -*- -# Copyright (c) Twisted Matrix Laboratories. -# See LICENSE for details. -""" -Shiny new words service maker -""" - -import sys, socket - -from twisted.application import strports -from twisted.application.service import MultiService -from twisted.python import usage -from twisted import plugin - -from twisted.words import iwords, service -from twisted.cred import checkers, credentials, portal, strcred - -class Options(usage.Options, strcred.AuthOptionMixin): - supportedInterfaces = [credentials.IUsernamePassword] - optParameters = [ - ('hostname', None, socket.gethostname(), - 'Name of this server; purely an informative')] - - compData = usage.Completions(multiUse=["group"]) - - interfacePlugins = {} - plg = None - for plg in plugin.getPlugins(iwords.IProtocolPlugin): - assert plg.name not in interfacePlugins - interfacePlugins[plg.name] = plg - optParameters.append(( - plg.name + '-port', - None, None, - 'strports description of the port to bind for the ' + plg.name + ' server')) - del plg - - def __init__(self, *a, **kw): - usage.Options.__init__(self, *a, **kw) - self['groups'] = [] - - def opt_group(self, name): - """Specify a group which should exist - """ - self['groups'].append(name.decode(sys.stdin.encoding)) - - def opt_passwd(self, filename): - """ - Name of a passwd-style file. (This is for - backwards-compatibility only; you should use the --auth - command instead.) - """ - self.addChecker(checkers.FilePasswordDB(filename)) - -def makeService(config): - credCheckers = config.get('credCheckers', []) - wordsRealm = service.InMemoryWordsRealm(config['hostname']) - wordsPortal = portal.Portal(wordsRealm, credCheckers) - - msvc = MultiService() - - # XXX Attribute lookup on config is kind of bad - hrm. - for plgName in config.interfacePlugins: - port = config.get(plgName + '-port') - if port is not None: - factory = config.interfacePlugins[plgName].getFactory(wordsRealm, wordsPortal) - svc = strports.service(port, factory) - svc.setServiceParent(msvc) - - # This is bogus. createGroup is async. makeService must be - # allowed to return a Deferred or some crap. - for g in config['groups']: - wordsRealm.createGroup(g) - - return msvc |