def printSurveyNameList(): today = datetime.now() #no gap, just to get list info res = ommc.getSurveyAllData(today, today) resObject = res.json() for survey in resObject: print '{} {}'.format(survey['Name'], survey['Id'])
def TESTextractFieldsFromResponses(): surveySample = { "Id" : 48688, "SurveyResponses": [ { "SurveyResponseID": 1618161487, "Responses": [ { "QId": 01561156, "Res": "dGVzdEB0ZXN0dHQuY29t"}, { "QId": 1564, "Res": "0000"}, { "QId": 456, "Res": "NDMyODc="} ] }, { "SurveyResponseID": 4878456, "Responses": [ { "QId": 445, "Res": "dGhpc0B0aGlzLmNvbQ=="}, { "QId": 111222, "Res": "4444"}, { "QId": 78, "Res": ""} ] } ] } results = OMdata.extractFieldsFromResponses(surveySample, 0, {2:'ZIP'}) '''should return: [ { 'merge_vars': { 'LOCATION': 'Baltimore', 'zip': '43287' }, 'email': {'email': '*****@*****.**'}, 'email_type': 'html' }, { 'merge_vars': { 'LOCATION': 'Baltimore', 'zip': '' }, 'email': {'email': '*****@*****.**'}, 'email_type': 'html' } ] ''' if ( results[0]['merge_vars']['ZIP'] == '43287' and results[1]['email']['email'] == '*****@*****.**'): print 'OMdata.extractFieldsFromResponses() [PASSES]' else: print 'OMdata.extractFieldsFromResponses() [FAILS]'
def runEmailLink(startDate, endDate): res = ommc.getSurveyAllData(startDate, endDate) resObject = res.json() mergevars = dex.getMailchimpOtherMergeVars() ''' e.g.: { 'POSTAL': ['zip', 'zipcode', 'postal'] }''' mailchimpBatch = [] for survey in resObject: emailIndex = ommc.getEmailQuestionIndex(survey) if emailIndex == None: continue; mergedict = {} for m in mergevars.keys(): mmIndex = ommc.getQuestionIndexFromStrings(survey, mergevars[m]) if mmIndex != None: mergedict[mmIndex] = m extracted = ommc.extractFieldsFromResponses(survey, emailIndex, mergedict) mailchimpBatch = mailchimpBatch + extracted ommc.subcribeNewUsers( mailchimpBatch )
def TESTgetQuestionIndexFromStrings(): sur = { 'LNGS': [ {'QUES' : [ {'Id': 'wrong', 'Type': 7, 'Text': 'lorem ip', 'IsHiddenQues': False}, {'Id': 'wrong 2', 'Type': 5, 'Text': 'ringd zip dingding', 'IsHiddenQues': False}, {'Id': 'correct', 'Type': 7, 'Text': 'I want fjksd please', 'IsHiddenQues': False} ] } ] } results = OMdata.getQuestionIndexFromStrings(sur, ['hnksf', 'zip']) if (results == 1): print 'getQuestionIndexFromStrings() [PASSES]' else: print 'getQuestionIndexFromStrings() [FAILS]'
def TESTgetEmailQuestionIndex(): sur = { 'LNGS': [ {'QUES' : [ {'Id': 'wrong', 'Type': 7, 'Text': 'lorem ip', 'IsHiddenQues': False}, {'Id': 'wrong 2', 'Type': 5, 'Text': 'ringdingdingding', 'IsHiddenQues': False}, {'Id': 'correct', 'Type': 7, 'Text': 'I want email please', 'IsHiddenQues': False} ] } ] } results = OMdata.getEmailQuestionIndex(sur) if (results == 2): print 'getEmailQuestionIndex() [PASSES]' else: print 'getEmailQuestionIndex() [FAILS]'
def TESTgetQuestionIdFromStrings(): sur = { 'LNGS': [ {'QUES' : [ {'Id': 'wrong', 'Type': 7, 'Text': 'lorem ip', 'IsHiddenQues': False}, {'Id': 'wrong 2', 'Type': 5, 'Text': 'ringdingdi email ngding', 'IsHiddenQues': False}, {'Id': 'correct', 'Type': 7, 'Text': 'I want zip please', 'IsHiddenQues': False} ] } ] } results = OMdata.getQuestionIdFromStrings(sur, 'zip', 'postal') if (results == 'correct'): print 'getQuestionIdFromStrings() [PASSES]' else: print 'getQuestionIdFromStrings() [FAILS]'