diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-05-31 08:56:22 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-05-31 08:58:58 +0300 |
commit | f5a471ef865dcbd0807c7b4ff71825d288b66453 (patch) | |
tree | bb48e339e23127f418a170f7fafc2846f1f0cb1e /release | |
parent | 67bebc42f4a789487583b7e2c7f1174910ab67f9 (diff) |
Python: avoid mutable default param values
D1328 by @yedpodtrzitko
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/addon_utils.py | 28 | ||||
-rw-r--r-- | release/scripts/modules/bl_i18n_utils/utils.py | 17 | ||||
-rw-r--r-- | release/scripts/modules/nodeitems_utils.py | 6 |
3 files changed, 31 insertions, 20 deletions
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py index 8c86f31022c..11aeebb8a43 100644 --- a/release/scripts/modules/addon_utils.py +++ b/release/scripts/modules/addon_utils.py @@ -416,19 +416,21 @@ def reset_all(reload_scripts=False): disable(mod_name) -def module_bl_info(mod, info_basis={"name": "", - "author": "", - "version": (), - "blender": (), - "location": "", - "description": "", - "wiki_url": "", - "support": 'COMMUNITY', - "category": "", - "warning": "", - "show_expanded": False, - } - ): +def module_bl_info(mod, info_basis=None): + if info_basis is None: + info_basis = { + "name": "", + "author": "", + "version": (), + "blender": (), + "location": "", + "description": "", + "wiki_url": "", + "support": 'COMMUNITY', + "category": "", + "warning": "", + "show_expanded": False, + } addon_info = getattr(mod, "bl_info", {}) diff --git a/release/scripts/modules/bl_i18n_utils/utils.py b/release/scripts/modules/bl_i18n_utils/utils.py index 524fef909e8..d472621029e 100644 --- a/release/scripts/modules/bl_i18n_utils/utils.py +++ b/release/scripts/modules/bl_i18n_utils/utils.py @@ -162,7 +162,7 @@ def get_po_files_from_dir(root_dir, langs=set()): yield uid, po_file -def enable_addons(addons={}, support={}, disable=False, check_only=False): +def enable_addons(addons=None, support=None, disable=False, check_only=False): """ Enable (or disable) addons based either on a set of names, or a set of 'support' types. Returns the list of all affected addons (as fake modules)! @@ -170,6 +170,11 @@ def enable_addons(addons={}, support={}, disable=False, check_only=False): """ import addon_utils + if addons is None: + addons = {} + if support is None: + support = {} + userpref = bpy.context.user_preferences used_ext = {ext.module for ext in userpref.addons} @@ -212,13 +217,13 @@ class I18nMessage: __slots__ = ("msgctxt_lines", "msgid_lines", "msgstr_lines", "comment_lines", "is_fuzzy", "is_commented", "settings") - def __init__(self, msgctxt_lines=[], msgid_lines=[], msgstr_lines=[], comment_lines=[], + def __init__(self, msgctxt_lines=None, msgid_lines=None, msgstr_lines=None, comment_lines=None, is_commented=False, is_fuzzy=False, settings=settings): self.settings = settings - self.msgctxt_lines = msgctxt_lines - self.msgid_lines = msgid_lines - self.msgstr_lines = msgstr_lines - self.comment_lines = comment_lines + self.msgctxt_lines = msgctxt_lines or [] + self.msgid_lines = msgid_lines or [] + self.msgstr_lines = msgstr_lines or [] + self.comment_lines = comment_lines or [] self.is_fuzzy = is_fuzzy self.is_commented = is_commented diff --git a/release/scripts/modules/nodeitems_utils.py b/release/scripts/modules/nodeitems_utils.py index ff2100916fc..2f69ea84386 100644 --- a/release/scripts/modules/nodeitems_utils.py +++ b/release/scripts/modules/nodeitems_utils.py @@ -43,7 +43,11 @@ class NodeCategory: class NodeItem: - def __init__(self, nodetype, label=None, settings={}, poll=None): + def __init__(self, nodetype, label=None, settings=None, poll=None): + + if settings is None: + settings = {} + self.nodetype = nodetype self._label = label self.settings = settings |