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))