diff options
author | Olivier Gayot <olivier.gayot@sigexec.com> | 2023-02-11 17:43:46 +0100 |
---|---|---|
committer | Olivier Gayot <olivier.gayot@sigexec.com> | 2023-02-11 17:43:46 +0100 |
commit | ee64301c07fe5a8a363d91670f1caddc4a744abd (patch) | |
tree | 00f872abbaa1e079a8d2ee38518c2ceb8ff5c7ce | |
parent | 8fe7e45c1a10f30c9160a721a88f343651b9e0b5 (diff) |
Raise an exception when profile not found
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
-rwxr-xr-x | monitor-menu.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/monitor-menu.py b/monitor-menu.py index f810f9c..413b12d 100755 --- a/monitor-menu.py +++ b/monitor-menu.py @@ -19,6 +19,10 @@ import dialog import docopt +class NoMatchingProfile(ValueError): + pass + + class MonitorMenu(): def __init__(self, config_file='~/.config/monitor-profiles.json'): with open(expanduser(config_file)) as fh: @@ -41,7 +45,10 @@ class MonitorMenu(): if code in (self.d.ESC, self.d.CANCEL): return - profile = self.profiles[int(profile_idx)] + try: + profile = self.profiles[int(profile_idx)] + except IndexError: + raise NoMatchingProfile from None # We build the command line starting from just "xrandr" and adding # arguments. |