[python-users] Mac OS X FSevents Talk Follow-Up

Christopher Arndt chris at chrisarndt.de
Fr Mär 16 18:30:21 CET 2012


Am 15.03.12 08:17, schrieb Christopher Arndt:
> Demo-Skript
> ===========
>
> Subversion Repository
> ---------------------
>
>      svn co svn://svn.chrisarndt.de/projects/dropsftp/trunk dropsftp

Ich habe das Skript jetzt nochmal überarbeitet und dabei hauptsächlich 
die SFTP-Funktionen verbessert:

- Die Authentifizierung mit SSH-Keys funktioniert jetzt, sowohl mit 
SSH-Agent als auch Keyfiles.
- Die SFTP-Funktionen wurden in eine Klasse 'ConfigSFTPClient' 
ausgelagert und diese in das neue Modul 'sftpclient.py'. Dieses erfüllt 
gleichzeitig dieselbe Funktion wie das vorherige Testskript 
'test_sftpclient.py'.
- Erweiterte und verbesserte Docstrings.
- Unterstützung des paramiko-Forks "ssh for Python"
   (http://python.org/pypi/ssh).

Dadurch vereinfacht sich die Benutzung der SFTP-Funktionen von 
paramiko/ssh auf Folgendes:

     import sftpclient

     config = {
         'hostname': 'example.com',
         'username': 'joe'
     }

     sftp = sftpclient.ConfigSFTPClient(config)
     sftp.put('local-file', '/path/to/remote-file')
     print sftp.listdir('/remote/dir')
     sftp.close()

Dabei wird automatisch versucht, den Key vom SSH-Agent zu laden, danach 
aus dem SSH Verzeichnis des Benutzers (default: ~/.ssh), oder ein in 
'config' übergebenes Passwort benutzt. Die Passphrase des Keys wird, 
falls nötig, über die Konsole abgefragt. Die Methode die Passphrase 
abzufragen, kann durch die Übergabe eines Callables in 
'config['passphrase'] 'angepasst werden (Beispiel, siehe 
'sftpclient._test()').

Share & Enjoy!


Chris



Mehr Informationen über die Mailingliste python-users