From 68e8942116a62e91148d75d91d75acc550b955f0 Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Mon, 6 Mar 2017 15:41:00 +0000 Subject: [PATCH] fix for non-printable characters in name --- src/python/dm/aps_bss/impl/bssClient.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/python/dm/aps_bss/impl/bssClient.py b/src/python/dm/aps_bss/impl/bssClient.py index 75b56705..1dfe582c 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)) -- GitLab