def TESTgetLocationName(): result = dex.getLocationName(48688) if (result == 'Baltimore'): print 'dex.getLocationName() [PASSES]' else: print 'dex.getLocationName() [FAILS]'
def extractFieldsFromResponses(survey, emailQuestionIndex, mergeDict): indicesToCheck = mergeDict.keys() capturedData = [] locationName = dex.getLocationName(survey['Id']) try: surveyResponses = survey['SurveyResponses'] #should be an array except Exception: print 'noreponses' return capturedData for response in surveyResponses: #new user obj w/ embedded structs userObj = {} userObj['email'] = {} userObj['merge_vars'] = dex.mailchimp_merge_tags( ) #incl default merge tags testarr = response['Responses'] if not testarr: continue extractedEmail = str(response['Responses'][emailQuestionIndex]['Res']) if (len(extractedEmail) > 0): if '^' in extractedEmail: extractedEmail = returnEmailMatrixAnswer(extractedEmail) try: extractedEmail = base64.decodestring(extractedEmail) userObj['email']['email'] = extractedEmail except Exception, e: continue else: #no email found, continue to next :( continue if not re.match(r'[^@]+@[^@]+\.[^@]+', extractedEmail): continue #add location tag set in dex.py userObj['merge_vars'][dex.GET_Mailchimp_Location_Tag()] = locationName userObj['email_type'] = 'html' #get merge tags for indexOfTag, tag in enumerate(indicesToCheck): extracted = str(response['Responses'][tag]['Res']) if (len(extracted) > 0): try: extracted = base64.decodestring(extracted) userObj['merge_vars'][mergeDict[tag]] = extracted except Exception, e: continue
def extractFieldsFromResponses(survey, emailQuestionIndex, mergeDict ): indicesToCheck = mergeDict.keys() capturedData = [] locationName = dex.getLocationName(survey['Id']); try: surveyResponses = survey['SurveyResponses'] #should be an array except Exception: print 'noreponses' return capturedData for response in surveyResponses: #new user obj w/ embedded structs userObj = {} userObj['email'] = {} userObj['merge_vars'] = dex.mailchimp_merge_tags() #incl default merge tags testarr = response['Responses'] if not testarr: continue extractedEmail = str (response['Responses'][emailQuestionIndex]['Res']) if ( len (extractedEmail) > 0 ): if '^' in extractedEmail: extractedEmail = returnEmailMatrixAnswer(extractedEmail) try: extractedEmail = base64.decodestring(extractedEmail) userObj['email']['email'] = extractedEmail except Exception, e: continue else: #no email found, continue to next :( continue if not re.match(r'[^@]+@[^@]+\.[^@]+', extractedEmail): continue #add location tag set in dex.py userObj['merge_vars'][dex.GET_Mailchimp_Location_Tag()] = locationName userObj['email_type'] = 'html' #get merge tags for indexOfTag, tag in enumerate (indicesToCheck): extracted = str( response['Responses'][tag]['Res'] ) if (len(extracted) > 0 ): try: extracted = base64.decodestring(extracted) userObj['merge_vars'][mergeDict[tag]] = extracted except Exception, e: continue