[Checkins] SVN: keas.build/trunk/ remove twisted
Adam Groszer
agroszer at gmail.com
Fri Oct 16 13:16:23 EDT 2009
Log message for revision 105105:
remove twisted
Changed:
U keas.build/trunk/CHANGES.txt
U keas.build/trunk/setup.py
U keas.build/trunk/src/keas/build/deploy.py
D keas.build/trunk/src/keas/build/ssh.py
-=-
Modified: keas.build/trunk/CHANGES.txt
===================================================================
--- keas.build/trunk/CHANGES.txt 2009-10-16 16:56:22 UTC (rev 105104)
+++ keas.build/trunk/CHANGES.txt 2009-10-16 17:16:23 UTC (rev 105105)
@@ -4,6 +4,9 @@
0.1.5 (unreleased)
------------------
+- Improvement(?) or fix: remove twisted dependency that was used in deploy
+ for SSH
+
- Improvement: removed dependency on lxml. Now we just use pythons
built-in xml library.
Modified: keas.build/trunk/setup.py
===================================================================
--- keas.build/trunk/setup.py 2009-10-16 16:56:22 UTC (rev 105104)
+++ keas.build/trunk/setup.py 2009-10-16 17:16:23 UTC (rev 105105)
@@ -51,7 +51,6 @@
namespace_packages = ['keas'],
install_requires=[
'BeautifulSoup',
- 'Twisted',
'setuptools',
],
zip_safe = False,
@@ -60,6 +59,5 @@
build = keas.build.build:main
build-package = keas.build.package:main
install = keas.build.install:main
- deploy = keas.build.deploy:main
""",
)
Modified: keas.build/trunk/src/keas/build/deploy.py
===================================================================
--- keas.build/trunk/src/keas/build/deploy.py 2009-10-16 16:56:22 UTC (rev 105104)
+++ keas.build/trunk/src/keas/build/deploy.py 2009-10-16 17:16:23 UTC (rev 105105)
@@ -15,13 +15,23 @@
$Id$
"""
+
+#
+# WARNING
+# this was never working completely
+#
+# Stephan says: it should be moved to use command-line SSH
+# AdamG says: twisted was a pain on windows
+# keeping it around to have the idea what should be done
+#
+
__docformat__ = 'ReStructuredText'
import ConfigParser
import logging
import optparse
import subprocess
import sys
-from keas.build import base, ssh
+from keas.build import base #, ssh
logger = base.logger
Deleted: keas.build/trunk/src/keas/build/ssh.py
===================================================================
--- keas.build/trunk/src/keas/build/ssh.py 2009-10-16 16:56:22 UTC (rev 105104)
+++ keas.build/trunk/src/keas/build/ssh.py 2009-10-16 17:16:23 UTC (rev 105105)
@@ -1,110 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""SSH tools
-
-$Id$
-"""
-import StringIO
-import logging
-import sys
-from twisted.conch.ssh import transport, userauth, connection, channel
-from twisted.conch.ssh.common import NS
-from twisted.internet import defer, protocol, reactor
-from keas.build import base
-
-class Transport(transport.SSHClientTransport):
- user = None
- password = None
- cmd = None
- output = None
-
- def verifyHostKey(self, hostKey, fingerprint):
- base.logger.debug('host key fingerprint: %s' % fingerprint)
- return defer.succeed(1)
-
- def connectionSecure(self):
- conn = Connection()
- conn.cmd = self.cmd
- conn.output = self.output
- self.requestService(UserAuth(self.user, self.password, conn))
-
-
-class UserAuth(userauth.SSHUserAuthClient):
-
- def __init__(self, user, password, instance):
- userauth.SSHUserAuthClient.__init__(self, user, instance)
- self.password = password
-
- def getPassword(self):
- return defer.succeed(self.password)
-
- def getPublicKey(self):
- return # Empty implementation: always use password auth
-
-
-class Connection(connection.SSHConnection):
- cmd = None
-
- def serviceStarted(self):
- channel = Channel(2**16, 2**15, self)
- channel.cmd = self.cmd
- channel.output = self.output
- self.openChannel(channel)
-
-
-class Channel(channel.SSHChannel):
- name = 'session' # must use this exact string
- cmd = None
- output = None
-
- def openFailed(self, reason):
- base.logger.error('"%s" failed: %s' % (self.cmd, reason))
-
- def channelOpen(self, data):
- self.welcome = data # Might display/process welcome screen
- d = self.conn.sendRequest(self, 'exec', NS(self.cmd), wantReply=1)
-
- def dataReceived(self, data):
- self.output.write(data)
-
- def extReceived(self, dataType, data):
- self.output.write(data)
-
- def closed(self):
- self.loseConnection()
- reactor.stop()
-
-
-def run(cmd, host, username, password):
- handler = logging.StreamHandler(sys.stdout)
- handler.setFormatter(base.formatter)
- base.logger.addHandler(handler)
-
- output = StringIO.StringIO()
- def createTransport(*args, **kwargs):
- transport = Transport(*args, **kwargs)
- transport.user = username
- transport.password = password
- transport.cmd = cmd
- transport.output = output
- return transport
- protocol.ClientCreator(reactor, createTransport).connectTCP(host, 22)
- reactor.run()
-
- base.logger.removeHandler(handler)
-
- return output.getvalue()
-
-if __name__ == '__main__':
- print run(*sys.argv[1:])
More information about the checkins
mailing list