Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions leapp/messaging/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,17 @@ def request_stop_after_phase(self):
"""
self._stop_after_phase.set(True)

def _unanswered_questions(self, dialog):
userchoices = dialog.get_answers(self._answers)
res = [s for s in dialog.answerfile_sections.keys() if s.split('.', 2)[1] not in userchoices]
return res

def register_dialog(self, dialog, actor):
# FIXME(ivasilev) Make sure it works correctly in case of a dialog with several questions. Currently there
# is no such dialog in actors but this code should be revisited if this changes. OAMG-7523
self._dialogs.append(dialog)
userchoices = dialog.get_answers(self._answers)
if not userchoices:
unanswered = self._unanswered_questions(dialog)
if unanswered:
# produce DialogModel messages for all the dialogs that don't have answers in answerfile
stable_key = dialog.key if dialog.key else hashlib.sha1(
','.join(sorted(dialog.answerfile_sections.keys())).encode('utf-8')).hexdigest()
Expand All @@ -164,6 +171,7 @@ def register_dialog(self, dialog, actor):
key=stable_key), actor)
else:
# update dialogs with answers from answerfile. That is necessary for proper answerfile generation
userchoices = dialog.get_answers(self._answers)
for component, value in userchoices.items():
dialog_component = dialog.component_by_key(component)
if dialog_component:
Expand Down