diff --git a/src/python/dm/common/utility/sftpUtility.py b/src/python/dm/common/utility/sftpUtility.py index 668bba641a66793414d2b5c86864b5bb64fa8a73..f9f384e21e94a56abd7884cd0043c1677f1e4417 100755 --- a/src/python/dm/common/utility/sftpUtility.py +++ b/src/python/dm/common/utility/sftpUtility.py @@ -6,6 +6,7 @@ import stat import pysftp from dm.common.utility.timeUtility import TimeUtility from dm.common.utility.loggingManager import LoggingManager +from dm.common.exceptions.commandFailed import CommandFailed import urlparse class SftpUtility: @@ -90,8 +91,15 @@ class SftpUtility: if not self.sftpClient: self.sftpClient = self.getSftpClient(self.host, self.port, self.username, self.password, self.privateKey) try: - md5Sum = self.sftpClient.execute('md5sum "%s"' % filePath)[0].split()[0] + #md5Sum = self.sftpClient.execute('md5sum "%s"' % filePath)[0].split()[0] + output = self.sftpClient.execute('md5sum "%s"' % filePath)[0] + if output.startswith("md5sum"): + raise CommandFailed(output) + md5Sum = output.split()[0] fileInfo['md5Sum'] = md5Sum + except CommandFailed, ex: + self.getLogger().error('Could not get md5sum for file %s: %s' % (filePath,ex)) + raise except Exception, ex: self.getLogger().error('Could not get md5sum for file %s: %s' % (filePath,ex)) self.closeConnection() @@ -137,9 +145,9 @@ class SftpUtility: if __name__ == '__main__': #sftpUtility = SftpUtility('s1dserv', username='dmadmin', password='theKey12') sftpUtility = SftpUtility('s1dserv',privateKey='/home/beams/DMADMIN/.ssh/id_dsa') - files = sftpUtility.getFiles('/export/dm/test') - print files + #files = sftpUtility.getFiles('/export/dm/test') + #print files print sftpUtility.getMd5Sum('/export/dm/test/testfile01') - print 'Closing connection' - sftpUtility.closeConnection() - print sftpUtility.statFile('/export/dm/test/testfile01') + #print 'Closing connection' + #sftpUtility.closeConnection() + #print sftpUtility.statFile('/export/dm/test/testfile01')