[Checkins] SVN: zc.buildoutsftp/trunk/ Make zc.buildoutsftp compatible with paramiko 1.10.x

Patrick Strawderman cvs-admin at zope.org
Wed Apr 10 16:17:33 UTC 2013


Log message for revision 130186:
  Make zc.buildoutsftp compatible with paramiko 1.10.x
  

Changed:
  U   zc.buildoutsftp/trunk/buildout.cfg
  U   zc.buildoutsftp/trunk/src/zc/buildoutsftp/__init__.py
  U   zc.buildoutsftp/trunk/src/zc/buildoutsftp/main.test
  U   zc.buildoutsftp/trunk/src/zc/buildoutsftp/tests.py

-=-
Modified: zc.buildoutsftp/trunk/buildout.cfg
===================================================================
--- zc.buildoutsftp/trunk/buildout.cfg	2013-04-04 18:36:38 UTC (rev 130185)
+++ zc.buildoutsftp/trunk/buildout.cfg	2013-04-10 16:17:32 UTC (rev 130186)
@@ -11,4 +11,7 @@
 eggs = ${test:eggs}
 interpreter = py
 
-
+[versions]
+zc.buildout = 2.1.0
+distribute = 0.6.36
+paramiko = 1.10.1

Modified: zc.buildoutsftp/trunk/src/zc/buildoutsftp/__init__.py
===================================================================
--- zc.buildoutsftp/trunk/src/zc/buildoutsftp/__init__.py	2013-04-04 18:36:38 UTC (rev 130185)
+++ zc.buildoutsftp/trunk/src/zc/buildoutsftp/__init__.py	2013-04-10 16:17:32 UTC (rev 130186)
@@ -16,7 +16,6 @@
 import cStringIO
 import getpass
 import logging
-import logging
 import mimetypes
 import os
 import paramiko
@@ -198,12 +197,14 @@
             keys = list(paramiko.Agent().get_keys())
             IdentityFile = config.get('identityfile')
             if IdentityFile:
-                key = _open_key(os.path.expanduser(IdentityFile))
-                if key is None:
-                    logger.error('IdentityFile, %s, does not exist',
-                                 IdentityFile)
-                else:
-                    keys.insert(0, key)
+                if isinstance(IdentityFile, basestring):
+                    IdentityFile = [IdentityFile]
+                for key_path in IdentityFile:
+                    key = _open_key(os.path.expanduser(key_path))
+                    if key is None:
+                        logger.error('IdentityFile, %s, does not exist', key)
+                    else:
+                        keys.insert(0, key)
             else:
                 for path in (
                     '~/.ssh/identity', '~/.ssh/id_rsa', '~/.ssh/id_dsa'):
@@ -256,7 +257,7 @@
                     ('<a href="%s/%s">%s</a><br />'
                      % (url, x, x)
                      )
-                    for x in sftp.listdir(path)
+                    for x in sorted(sftp.listdir(path))
                     ])),
                 url, {'content-type': 'text/html'}, trans)
         else:

Modified: zc.buildoutsftp/trunk/src/zc/buildoutsftp/main.test
===================================================================
--- zc.buildoutsftp/trunk/src/zc/buildoutsftp/main.test	2013-04-04 18:36:38 UTC (rev 130185)
+++ zc.buildoutsftp/trunk/src/zc/buildoutsftp/main.test	2013-04-10 16:17:32 UTC (rev 130186)
@@ -61,8 +61,8 @@
     >>> host_keys.add('example.com', 'ssh-rsa', host_key)
     >>> host_keys.save(join('.ssh', 'known_hosts'))
     >>> print handler.sftp_open(request).read()
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 That worked and we got a directory listing.  If we access a file:
 
@@ -91,8 +91,8 @@
     >>> ukey.write_private_key_file(join('.ssh', 'id_dsa'))
     >>> creds[(('example.com', 22), 'testuser')]['user_key'] = ukey
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 User key in ~/.ssh/identity
 ---------------------------
@@ -108,8 +108,8 @@
 
     >>> ukey.write_private_key_file(join('.ssh', 'identity'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 Host key in global known hosts file
 -----------------------------------
@@ -126,8 +126,8 @@
     >>> os.mkdir('etc')
     >>> host_keys.save(join('etc', 'ssh_known_hosts'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
     >>> zc.buildoutsftp.cleanup()
     >>> os.remove(join('etc', 'ssh_known_hosts'))
@@ -141,8 +141,8 @@
     >>> os.mkdir(join('etc', 'ssh'))
     >>> host_keys.save(join('etc', 'ssh', 'ssh_known_hosts'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 Host key in global known hosts file with non-standard name
 ----------------------------------------------------------
@@ -161,8 +161,8 @@
     >>> zc.buildoutsftp.cleanup()
     >>> host_keys.save(join('etc', 'ssh', 'known_hosts'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 Alternate global config location
 --------------------------------
@@ -183,8 +183,8 @@
     >>> zc.buildoutsftp.cleanup()
     >>> host_keys.save(join('etc', 'KnownHosts'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 Host-specific user
 ==================
@@ -204,8 +204,8 @@
     ...             )
     >>> zc.buildoutsftp.cleanup()
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />
 
 Host-specific key file
 ======================
@@ -225,5 +225,5 @@
     >>> zc.buildoutsftp.cleanup()
     >>> ukey.write_private_key_file(join('.ssh', 'id'))
     >>> print handler.sftp_open(request).read(),
+    <a href="sftp://example.com/data/index.html">index.html</a><br />
     <a href="sftp://example.com/data/moredata">moredata</a><br />
-    <a href="sftp://example.com/data/index.html">index.html</a><br />

Modified: zc.buildoutsftp/trunk/src/zc/buildoutsftp/tests.py
===================================================================
--- zc.buildoutsftp/trunk/src/zc/buildoutsftp/tests.py	2013-04-04 18:36:38 UTC (rev 130185)
+++ zc.buildoutsftp/trunk/src/zc/buildoutsftp/tests.py	2013-04-10 16:17:32 UTC (rev 130186)
@@ -97,7 +97,7 @@
     def transport(addr):
         return Transport(addr)
 
-    globs['server_files'] = server_files = {} # addr -> path
+    globs['server_files'] = {} # addr -> path
     class SFTPClient:
 
         def __init__(self, transport):



More information about the checkins mailing list