diff --git a/src/python/dm/__init__.py b/src/python/dm/__init__.py index cf4f959e78080e041bd60af16832420f5407be45..6342600419f9dbbf99f06d7b74936545fd108b41 100644 --- a/src/python/dm/__init__.py +++ b/src/python/dm/__init__.py @@ -1 +1 @@ -__version__ = "1.0 (2017.01.26)" +__version__ = "1.1 (2017.03.01)" diff --git a/src/python/dm/aps_bss/impl/bssClient.py b/src/python/dm/aps_bss/impl/bssClient.py index a5224e4c377b5ac3888f1581acace377206474bd..75b5670550c2d647a34f938afe608acdf98573a5 100644 --- a/src/python/dm/aps_bss/impl/bssClient.py +++ b/src/python/dm/aps_bss/impl/bssClient.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import datetime +import string from suds.wsse import Security from suds.wsse import UsernameToken @@ -98,12 +99,15 @@ class BssClient: 'badge' : experimenter.badge, 'email' : experimenter.email, 'firstName' : experimenter.firstName, - 'instId' : experimenter.instId, - 'institution' : experimenter.institution, 'lastName' : experimenter.lastName }) if hasattr(experimenter, 'piFlag'): user['piFlag'] = experimenter.piFlag + if hasattr(experimenter, 'instId'): + user['instId'] = experimenter.instId + if hasattr(experimenter, 'institution'): + # Remove non-printable characters + user['institution'] = ''.join(filter(lambda x:x in string.printable, experimenter.institution)) experimenters.append(user) proposalInfo = ProposalInfo({ diff --git a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py index 590e26d2d0b6be94031d8ea184e46c8467bee0f9..41957c3f0e2755e02d09e2c8e032f9920b1f0ea4 100755 --- a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py +++ b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py @@ -76,13 +76,18 @@ class GridftpFileTransferPlugin(FileTransferPlugin): (scheme, host, port, replacementDirPath) = FtpUtility.parseFtpUrl(dataDirectory) self.logger.debug('Replacement dir path: %s' % replacementDirPath) self.logger.debug('Number of original files: %s' % len(filePathsDict)) - self.logger.debug('Looking for existing files in %s' % storageDirectory) ftpUtility = SftpUtility(storageHost) destDirectory = storageDirectory if targetDirectory: destDirectory = '%s/%s/' % (destDirectory, targetDirectory) - storageFilePathsDict = ftpUtility.getFiles(destDirectory, {}, replacementDirPath) - self.logger.debug('There are %s files in %s' % (len(storageFilePathsDict), destDirectory)) + storageFilePathsDict = {} + try: + self.logger.debug('Looking for existing files in %s' % destDirectory) + storageFilePathsDict = ftpUtility.getFiles(destDirectory, {}, replacementDirPath) + self.logger.debug('There are %s files in %s' % (len(storageFilePathsDict), destDirectory)) + except Exception, ex: + self.logger.warn('Could not find existing files in %s, assuming there are none (got error: %s)' % (destDirectory,ex)) + # Remove file from plugin dict if we do not need to transfer it for (filePath,storageFilePathDict) in storageFilePathsDict.items(): filePathDict = filePathsDict.get(filePath)