diff --git a/bin/11IDB/dm-11idb-daq b/bin/11IDB/dm-11idb-daq
new file mode 100755
index 0000000000000000000000000000000000000000..daed1d22c634a005247f6665f6b57c6587009ed1
--- /dev/null
+++ b/bin/11IDB/dm-11idb-daq
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/daqCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/11IDB/dm-11idb-upload b/bin/11IDB/dm-11idb-upload
new file mode 100755
index 0000000000000000000000000000000000000000..9f753a812397f21b40fb9e9308449d903925fdf7
--- /dev/null
+++ b/bin/11IDB/dm-11idb-upload
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/uploadCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/11IDC/dm-11idc-daq b/bin/11IDC/dm-11idc-daq
new file mode 100755
index 0000000000000000000000000000000000000000..daed1d22c634a005247f6665f6b57c6587009ed1
--- /dev/null
+++ b/bin/11IDC/dm-11idc-daq
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/daqCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/11IDC/dm-11idc-upload b/bin/11IDC/dm-11idc-upload
new file mode 100755
index 0000000000000000000000000000000000000000..9f753a812397f21b40fb9e9308449d903925fdf7
--- /dev/null
+++ b/bin/11IDC/dm-11idc-upload
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/uploadCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/6BM/dm-6bm-daq b/bin/6BM/dm-6bm-daq
new file mode 100755
index 0000000000000000000000000000000000000000..daed1d22c634a005247f6665f6b57c6587009ed1
--- /dev/null
+++ b/bin/6BM/dm-6bm-daq
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/daqCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/6BM/dm-6bm-upload b/bin/6BM/dm-6bm-upload
new file mode 100755
index 0000000000000000000000000000000000000000..9f753a812397f21b40fb9e9308449d903925fdf7
--- /dev/null
+++ b/bin/6BM/dm-6bm-upload
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/uploadCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/6IDD/dm-6idd-daq b/bin/6IDD/dm-6idd-daq
new file mode 100755
index 0000000000000000000000000000000000000000..daed1d22c634a005247f6665f6b57c6587009ed1
--- /dev/null
+++ b/bin/6IDD/dm-6idd-daq
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/daqCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/6IDD/dm-6idd-upload b/bin/6IDD/dm-6idd-upload
new file mode 100755
index 0000000000000000000000000000000000000000..9f753a812397f21b40fb9e9308449d903925fdf7
--- /dev/null
+++ b/bin/6IDD/dm-6idd-upload
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/uploadCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/8IDI/dm-8idi-daq b/bin/8IDI/dm-8idi-daq
new file mode 100755
index 0000000000000000000000000000000000000000..daed1d22c634a005247f6665f6b57c6587009ed1
--- /dev/null
+++ b/bin/8IDI/dm-8idi-daq
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/daqCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/bin/8IDI/dm-8idi-upload b/bin/8IDI/dm-8idi-upload
new file mode 100755
index 0000000000000000000000000000000000000000..9f753a812397f21b40fb9e9308449d903925fdf7
--- /dev/null
+++ b/bin/8IDI/dm-8idi-upload
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+ cd `dirname $0` && myDir=`pwd`
+ setupFile=$myDir/../../setup.sh
+ if [ ! -f $setupFile ]; then
+ echo "Cannot find setup file: $setupFile"
+ exit 1
+ fi
+ source $setupFile > /dev/null
+fi
+source $DM_ROOT_DIR/bin/dm_command_setup.sh
+
+eval "$DM_ROOT_DIR/src/python/dm/aps_beamline_tools/cli/uploadCli.py $DM_COMMAND_ARGS"
+
+
diff --git a/src/python/dm/__init__.py b/src/python/dm/__init__.py
index bee1cd67a5f8295788348a9d17046274b7a7f583..45af6a3b32405b3ad4cb727446d12cd19a0d249e 100644
--- a/src/python/dm/__init__.py
+++ b/src/python/dm/__init__.py
@@ -1 +1 @@
-__version__ = "1.1 (2017.03.03)"
+__version__ = "1.1 (2017.03.06)"
diff --git a/src/python/dm/aps_bss/impl/bssClient.py b/src/python/dm/aps_bss/impl/bssClient.py
index 75b5670550c2d647a34f938afe608acdf98573a5..1dfe582cea692f4d36c850eb53d0e3ee3e0bc001 100644
--- a/src/python/dm/aps_bss/impl/bssClient.py
+++ b/src/python/dm/aps_bss/impl/bssClient.py
@@ -96,15 +96,21 @@ class BssClient:
for experimenter in experimenterArray:
user = ApsUserInfo({
'id' : experimenter.id,
- 'badge' : experimenter.badge,
'email' : experimenter.email,
- 'firstName' : experimenter.firstName,
- 'lastName' : experimenter.lastName
})
+ if hasattr(experimenter, 'badge'):
+ user['badge'] = experimenter.badge
+ else:
+ # Ignore this user, has no badge
+ continue
if hasattr(experimenter, 'piFlag'):
user['piFlag'] = experimenter.piFlag
if hasattr(experimenter, 'instId'):
user['instId'] = experimenter.instId
+ if hasattr(experimenter, 'firstName'):
+ user['firstName'] = ''.join(filter(lambda x:x in string.printable, experimenter.firstName))
+ if hasattr(experimenter, 'lastName'):
+ user['lastName'] = ''.join(filter(lambda x:x in string.printable, experimenter.lastName))
if hasattr(experimenter, 'institution'):
# Remove non-printable characters
user['institution'] = ''.join(filter(lambda x:x in string.printable, experimenter.institution))
diff --git a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
index bbbbd477b5b2ea40c4ae3fbba01d9f101f841b0b..1b20993682b2e9e44c69664d00ac2ce7ea5c38ce 100755
--- a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
+++ b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
@@ -116,7 +116,7 @@ class RsyncFileTransferPlugin(FileTransferPlugin):
self.logger.debug('Starting transfer: %s -> %s' % (srcUrl, destUrl))
command = self.DIRECTORY_TRANSFER_COMMAND
if destDirectory:
- targetDirectory = '%s/%s' % (storageDirectory,targetDirectory)
+ targetDirectory = '%s/%s' % (storageDirectory,destDirectory)
command = self.DIRECTORY_TRANSFER_WITH_MKDIR_COMMAND % targetDirectory
self.start(src=srcUrl, dest=destUrl, command=command, templateInfo=uploadInfo, cwd=dataDirectory)