def update_crm(user=None): errored = [] partially_updated = [] party = None users = user or User.objects.all() for user in users: try: print('--------------------') print('UPDATING USER : %s' % user) print('--------------------') print(' ') party = Party(user) party.create_or_update() print Colorizer.Green('UPDATED %s' % user) print(' ') except Profile.DoesNotExist as e: print Colorizer.custom('[ERROR USER MALFORMED] : %s ' % e, 'white', 'purple') print(' ') except CRMValidationException as e: try: print Colorizer.Red( 'Try to exclude incompatible custom fields for user: %s' % user) party.safe_create_or_update() partially_updated.append(user.email) print Colorizer.Yellow('UPDATED partially: %s' % user) print(' ') except Exception as safe_exc: print Colorizer.Red('[ ERROR IN SAFE UPDATE ] : %s' % safe_exc) print json.dumps(party.as_dict(), indent=1) print(' ') print Colorizer.Red('ERROR UPDATING USER : %s' % user) print('ERROR: %s' % e) print(' ') errored.append(user.email) except Exception as e: print Colorizer.Red('ERROR UPDATING USER : %s' % user) print('ERROR: %s' % e) print(' ') return errored, partially_updated
def update_default_profile_image(users): print 'update_default_profile_image' errored = [] sanititized = [] for user in users: try: if user.profile.picture == 'images/profile/default_user_icon.png': print('--------------------') print('UPDATING USER : %s' % user) print('--------------------') print(' ') if user.profile.gender == 'male': user.profile.picture = 'images/profile/male.svg' if user.profile.gender == 'female': user.profile.picture = 'images/profile/female.svg' if user.profile.gender == 'other': user.profile.picture = 'images/profile/other.svg' sanititized.append(user.email) user.profile.save() except Profile.DoesNotExist as e: errored.append(user.email) print Colorizer.custom('[ERROR USER MALFORMED] : %s ' % e, 'white', 'purple') print(' ') # PRINT RESULTS print '-------------' print 'TOTAL RESULTS' print '-------------' if len(errored): print Colorizer.Red('%s errored users' % len(errored)) print errored if len(sanititized): print Colorizer.Purple('%s updated users : ' % len(sanititized)) print(sanititized) elif not len(errored) and not len(sanititized): print Colorizer.Green('no updates or errors') print '-------------'
def create_or_update_party(users): errored = [] sanititized = [] party = None for user in users: try: print('--------------------') print('UPDATING USER : %s' % user) print('--------------------') print(' ') # logger.debug('UPDATING %s' % user) party = Party(user) party.create_or_update() # logger.debug('UPDATED') print(Colorizer.Green('UPDATED %s' % user)) print(' ') except Profile.DoesNotExist as e: print( Colorizer.custom('[ERROR USER MALFORMED] : %s ' % e, 'white', 'purple')) print(' ') except Exception as e: try: print( Colorizer.Red( 'Try to exclude incompatible custom fields for user: %s' % user)) party.safe_create_or_update() sanititized.append(user.email) print(Colorizer.Yellow('UPDATED partially: %s' % user)) print(' ') except Exception as safe_exc: print(Colorizer.Red('[ ERROR IN SAFE UPDATE ] : %s' % safe_exc)) print(json.dumps(party.as_dict(), indent=1)) print((' ')) print(Colorizer.Red('ERROR UPDATING USER : %s' % user)) print('ERROR: %s' % e) print(' ') errored.append(user.email) # PRINT RESULTS print('-------------') print('TOTAL RESULTS') print('-------------') if len(errored): print(Colorizer.Red('%s errored users' % len(errored))) # logger.error('ERROR updating users : %s' % errored) print(errored) if len(sanititized): print( Colorizer.Purple('%s partially updated users : ' % len(sanititized))) print(sanititized) elif not len(errored) and not len(sanititized): print(Colorizer.Green('No errored users')) print('-------------')