From d16c1b5e910b4f89543b694c6ff2813e506b60f2 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Sat, 20 Oct 2018 20:35:48 +0200 Subject: [PATCH] Better upload error handling --- config.py | 2 +- update.py | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/config.py b/config.py index d9dd27a..26864b4 100644 --- a/config.py +++ b/config.py @@ -8,7 +8,7 @@ BAUD_RATE = 4800 SFTP_HOST = 'rc-club-albersweiler.de' SFTP_PORT = 22 SFTP_USER = 'sftprcclub' -SFTP_KEY = '/home/sebastian/.ssh/id_rsa' +SFTP_KEY = '/home/pi/.ssh/id_rsa' DATA_FILE = './test.rrd' diff --git a/update.py b/update.py index 3b1717d..be32846 100644 --- a/update.py +++ b/update.py @@ -103,8 +103,14 @@ def update_graphs(): print("Failed to render archive data") -def upload_graphs(): +def _do_upload(sftp, src, dest): try: + sftp.put(src, dest) + except: + print("Unexpected error while uploading:", sys.exc_info()[1]) + +def upload_graphs(): + key = paramiko.RSAKey.from_private_key_file(SFTP_KEY) transport = paramiko.Transport((SFTP_HOST, SFTP_PORT)) transport.connect() @@ -112,14 +118,14 @@ def upload_graphs(): sftp = paramiko.SFTPClient.from_transport(transport) for name, _ in GRAPHS.items(): - sftp.put('%s.png' % name, 'solar/%s.png' % name) - sftp.put('%s_archive.png' % name, 'solar/%s_archive.png' % name) - sftp.put('index.html', 'solar/index.html') + _do_upload(sftp, '%s.png' % name, 'solar/%s.png' % name) + _do_upload(sftp, '%s_archive.png' % name, 'solar/%s_archive.png' % name) + + _do_upload(sftp, 'index.html', 'solar/index.html') sftp.close() transport.close() - except: - print("Unexpected error while uploading:", sys.exc_info()[1]) + def main(): ser = serial.Serial(SERIAL, BAUD_RATE, timeout=10.0)