From 0517b4d996c911c49534b5abf7a70e8b116bb684 Mon Sep 17 00:00:00 2001 From: Sebastian Lohff Date: Fri, 1 Feb 2019 18:58:09 +0100 Subject: [PATCH] Return no selection if the user aborted selection Also expose success state --- clintermission/climenu.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/clintermission/climenu.py b/clintermission/climenu.py index 1ff703c..1a6f8b5 100644 --- a/clintermission/climenu.py +++ b/clintermission/climenu.py @@ -105,13 +105,20 @@ class CliMenu: self._items.append(CliMenuOption(text, self._item_num, item=item)) self._item_num += 1 - def get_selection(self): + @property + def success(self): if not self._ran: self._run() - item = self._items[self._pos] + return self._success - return (item.num, item.item) + def get_selection(self): + if self.success: + item = self._items[self._pos] + + return (item.num, item.item) + else: + return (None, None) def get_selection_num(self): return self.get_selection()[0]