[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