[Bf-blender-cvs] [e17843782cd] blender2.8: Cleanup: use namedtuple for KeymapParams
Campbell Barton
noreply at git.blender.org
Mon Nov 12 23:29:02 CET 2018
Commit: e17843782cde144995f363f1d023ccacd7c49278
Author: Campbell Barton
Date: Tue Nov 13 08:58:53 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBe17843782cde144995f363f1d023ccacd7c49278
Cleanup: use namedtuple for KeymapParams
Prefer immutable types where possible.
===================================================================
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
===================================================================
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)))
More information about the Bf-blender-cvs
mailing list