diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-11-13 00:58:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-11-13 00:58:53 +0300 |
commit | e17843782cde144995f363f1d023ccacd7c49278 (patch) | |
tree | c107453e7e94acab16afe70da12b6b3ad63b68d6 /release | |
parent | 6844f7eb0cf5c7a5f83677ce92ca8f03b92c5b8a (diff) |
Cleanup: use namedtuple for KeymapParams
Prefer immutable types where possible.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/presets/keyconfig/keymap_data/blender_default.py | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index b0d230a47ba..b4d0779e676 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -20,20 +20,33 @@ # ------------------------------------------------------------------------------ # Configurable Parameters -class KeymapParams: - __slots__ = ( - "apple", - "legacy", - "select_mouse", - "action_mouse", +from collections import namedtuple + +# TODO: remove when we drop Python 3.6 +import sys +if sys.version_info >= (3, 7): + KeymapParams = namedtuple( + "KeymapParams", + ("apple", "legacy", "select_mouse", "action_mouse"), + defaults=( + sys.platform == "darwin", + False, + 'SELECTMOUSE', + 'ACTIONMOUSE', + ), ) - - def __init__(self, legacy=False): - import platform - self.apple = platform.system() == 'Darwin' - self.legacy = legacy - self.select_mouse = 'SELECTMOUSE' - self.action_mouse = 'ACTIONMOUSE' +else: + KeymapParams = namedtuple( + "KeymapParams", + ("apple", "legacy", "select_mouse", "action_mouse"), + ) + KeymapParams.__new__.__defaults__ = ( + sys.platform == "darwin", + False, + 'SELECTMOUSE', + 'ACTIONMOUSE', + ) +del namedtuple, sys # ------------------------------------------------------------------------------ @@ -4921,5 +4934,5 @@ def generate_keymaps(params=None): if __name__ == "__main__": from bpy_extras.keyconfig_utils import keyconfig_import_from_data - keyconfig_import_from_data("Blender", generate_keymaps(KeymapParams())) + keyconfig_import_from_data("Blender", generate_keymaps()) keyconfig_import_from_data("Blender 27X", generate_keymaps(KeymapParams(legacy=True))) |