#!/usr/bin/env python # Copyright 2012 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . import stat import sys import ttystatus from obnamlib.plugins.sftp_plugin import SftpFS ts = ttystatus.TerminalStatus(period=0.1) ts['bytes'] = 0 ts.format( '%ElapsedTime() %Counter(pathname) %ByteSize(bytes) ' '%ByteSpeed(bytes) %Pathname(pathname)') url = sys.argv[1] fs = SftpFS(url) fs.connect() for pathname, st in fs.scan_tree('.'): ts['pathname'] = pathname if stat.S_ISREG(st.st_mode): f = fs.open(pathname, 'rb') while True: data = f.read(1024**2) if not data: break ts['bytes'] += len(data) f.close() ts.finish()