diff --git a/app/routes.py b/app/routes.py index b0cf9bee961a4fb443c778b6cf4c0a481c37a6de..13550adb00e16e92932debd4928639ccff2627d6 100644 --- a/app/routes.py +++ b/app/routes.py @@ -427,9 +427,23 @@ def download_csv(): .order_by(embody_answer.page_idpage) \ .all() + pages_and_questions = {} + for p in pages: + questions_list = [(p.idpage, a.idembody) for a in embody_questions] + pages_and_questions[p.idpage] = questions_list + + _questions = [ + item for sublist in pages_and_questions.values() for item in sublist] + + _embody_answers = map_answers_to_questions(embody_answers, _questions) + answers_list = [] - for answer_data in embody_answers: + for answer_data in _embody_answers: + + if not answer_data: + answers_list.append('') + continue try: coordinates = json.loads(answer_data.coordinates) diff --git a/app/utils.py b/app/utils.py index 98108034e59768681f873a6250ccc879f89fae1b..2087e85972194902b94572114b58e4446986eb69 100644 --- a/app/utils.py +++ b/app/utils.py @@ -41,10 +41,14 @@ def get_values_from_list_of_answers(page_question, answers): page_id = page_question[0] question_id = page_question[1] for _answer in answers: - if _answer.question_idquestion == question_id and \ - _answer.page_idpage == page_id: - return int(_answer.answer) - + try: + if _answer.question_idquestion == question_id and \ + _answer.page_idpage == page_id: + return int(_answer.answer) + except AttributeError: + if _answer.embody_question_idembody == question_id and \ + _answer.page_idpage == page_id: + return _answer return None diff --git a/plot_image.py b/plot_image.py index a636ff40c60b739996041e0f1cc799aeefb7c4fd..bc723397bcdf5b66a8bd2b2adb96da1cdbd9c2a9 100644 --- a/plot_image.py +++ b/plot_image.py @@ -106,6 +106,10 @@ if __name__ == '__main__': except NameError: print( "Column didn't contain image data. Try again with different column number.") + except SyntaxError: + continue + except IndexError: + continue np_array = np.transpose(np_array) images.append(np_array)