change the way an error is presented a bit

This commit is contained in:
Michael Hudson-Doyle 2017-01-18 15:29:05 +13:00
parent 99eacb1434
commit 204e9f7d8b
2 changed files with 4 additions and 18 deletions

View File

@ -90,19 +90,11 @@ class InstallProgressController(BaseController):
def curtin_error(self): def curtin_error(self):
log.debug('curtin_error') log.debug('curtin_error')
# just the last ten lines
errmsg = str(self.curtin_tail_install_log()[-800:])
# Holy Unescaping Batman!
errmsg = errmsg.replace("\\\'", "")
errmsg = errmsg.replace("\'\'", "")
errmsg = errmsg.replace("\\n\'\n", "\n")
errmsg = errmsg.replace('\\n', '\n')
log.error(errmsg)
title = ('An error occurred during installation') title = ('An error occurred during installation')
self.ui.set_header(title, 'Please report this error in Launchpad') self.ui.set_header(title, 'Please report this error in Launchpad')
self.progress_view.set_error(errmsg) self.progress_view.set_status("An error has occurred")
self.ui.set_footer("An error has occurred.", 100) self.ui.set_footer("An error has occurred.", 100)
self.progress_view.show_finished_button() self.progress_view.show_complete()
log.debug('curtin_error: refreshing final error screen') log.debug('curtin_error: refreshing final error screen')
self.signal.emit_signal('refresh') self.signal.emit_signal('refresh')

View File

@ -33,11 +33,9 @@ class ProgressView(BaseView):
def __init__(self, model, controller): def __init__(self, model, controller):
self.model = model self.model = model
self.controller = controller self.controller = controller
self.error = Text("")
self.listwalker = SimpleListWalker([]) self.listwalker = SimpleListWalker([])
self.linebox = LineBox(ListBox(self.listwalker)) self.linebox = LineBox(ListBox(self.listwalker))
body = [ body = [
('pack', Padding.center_79(self.error)),
('pack', Text("")), ('pack', Text("")),
('weight', 1, Padding.center_79(self.linebox)), ('weight', 1, Padding.center_79(self.linebox)),
('pack', Text("")), ('pack', Text("")),
@ -46,9 +44,8 @@ class ProgressView(BaseView):
super().__init__(self.pile) super().__init__(self.pile)
def add_log_tail(self, text): def add_log_tail(self, text):
if text.endswith('\n'): for line in text.splitlines():
text = text[:-1] self.listwalker.append(Text(line))
self.listwalker.append(Text(text))
self.listwalker.set_focus(len(self.listwalker) - 1) self.listwalker.set_focus(len(self.listwalker) - 1)
def clear_log_tail(self): def clear_log_tail(self):
@ -57,9 +54,6 @@ class ProgressView(BaseView):
def set_status(self, text): def set_status(self, text):
self.linebox.set_title(text) self.linebox.set_title(text)
def set_error(self, text):
self.error.set_text(text)
def show_complete(self): def show_complete(self):
w = Padding.fixed_20( w = Padding.fixed_20(
Color.button(confirm_btn(label="Reboot now", Color.button(confirm_btn(label="Reboot now",