示例#1
0
def TESTgetLocationName(): 
    result = dex.getLocationName(48688)

    if (result == 'Baltimore'):
        print 'dex.getLocationName() [PASSES]'
    else:
        print 'dex.getLocationName() [FAILS]'
示例#2
0
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
示例#3
0
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