Skip to content
Snippets Groups Projects
Commit 2ba0c75b authored by sveseli's avatar sveseli
Browse files

resolve issue with non-printable characters in proposal institution; resolve...

resolve issue with non-printable characters in proposal institution; resolve problem with target directory for gridftp plugin
parent 90decd96
No related branches found
No related tags found
No related merge requests found
__version__ = "1.0 (2017.01.26)"
__version__ = "1.1 (2017.03.01)"
#!/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({
......
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment