From 9b833db3646e19b1b28dd3fc7a2331a26cc11fbc Mon Sep 17 00:00:00 2001 From: Sebastian Lohff Date: Wed, 5 Aug 2020 03:09:24 +0200 Subject: [PATCH] Check type of options passed to __init__ --- clintermission/climenu.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/clintermission/climenu.py b/clintermission/climenu.py index b44d7af..39acfc5 100644 --- a/clintermission/climenu.py +++ b/clintermission/climenu.py @@ -111,10 +111,15 @@ class CliMenu: if options: for option in options: - if isinstance(option, tuple) and len(option) == 2: + if isinstance(option, tuple): self.add_option(*option) - else: + elif isinstance(option, dict): + self.add_option(**option) + elif isinstance(option, str): self.add_option(option, option) + else: + raise ValueError("Option needs to be either tuple, dict or string, found '{}' of type {}" + .format(option, type(option))) def add_header(self, *args, **kwargs): return self.add_text(*args, **kwargs)