Merge branch 'blender-v5.0-release'
This commit is contained in:
@@ -15,7 +15,7 @@ from bpy.types import (
|
||||
UILayout,
|
||||
UIList,
|
||||
)
|
||||
from bl_ui_utils.layout import operator_context
|
||||
from _bl_ui_utils.layout import operator_context
|
||||
|
||||
|
||||
class VIEW3D_MT_pose_modify(Menu):
|
||||
|
||||
@@ -17,7 +17,7 @@ else:
|
||||
BoolProperty,
|
||||
StringProperty,
|
||||
)
|
||||
from bl_i18n_utils import settings as settings_i18n
|
||||
from _bl_i18n_utils import settings as settings_i18n
|
||||
|
||||
|
||||
settings = settings_i18n.I18nSettings()
|
||||
|
||||
@@ -16,8 +16,8 @@ else:
|
||||
StringProperty,
|
||||
)
|
||||
from . import settings
|
||||
from bl_i18n_utils import utils as utils_i18n
|
||||
from bl_i18n_utils import bl_extract_messages
|
||||
from _bl_i18n_utils import utils as utils_i18n
|
||||
from _bl_i18n_utils import bl_extract_messages
|
||||
|
||||
from bpy.app.translations import pgettext_rpt as rpt_
|
||||
import addon_utils
|
||||
|
||||
@@ -15,8 +15,8 @@ else:
|
||||
EnumProperty,
|
||||
)
|
||||
from . import settings
|
||||
from bl_i18n_utils import utils as utils_i18n
|
||||
from bl_i18n_utils import utils_languages_menu
|
||||
from _bl_i18n_utils import utils as utils_i18n
|
||||
from _bl_i18n_utils import utils_languages_menu
|
||||
|
||||
import concurrent.futures
|
||||
import io
|
||||
@@ -85,7 +85,7 @@ class UI_OT_i18n_updatetranslation_work_repo(Operator):
|
||||
# This is a problem because spawned processes do not inherit the whole environment
|
||||
# of the current (Blender-customized) python. In practice, the `bpy` module won't load e.g.
|
||||
# So care must be taken that the callback passed to the executor does not rely on any
|
||||
# Blender-specific modules etc. This is why it is using a class method from `bl_i18n_utils`
|
||||
# Blender-specific modules etc. This is why it is using a class method from `_bl_i18n_utils`
|
||||
# module, rather than a local function of this current Blender-only module.
|
||||
# FIXME: This can easily deadlock on powerful machine with lots of RAM (128GB) and cores (32)...
|
||||
# ~ with concurrent.futures.ProcessPoolExecutor() as exctr:
|
||||
|
||||
@@ -23,7 +23,7 @@ else:
|
||||
CollectionProperty,
|
||||
)
|
||||
from . import settings
|
||||
from bl_i18n_utils import utils as utils_i18n
|
||||
from _bl_i18n_utils import utils as utils_i18n
|
||||
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ import glob
|
||||
from pathlib import PurePath
|
||||
|
||||
# XXX Relative import does not work here when used from Blender...
|
||||
from bl_i18n_utils import settings as settings_i18n, utils
|
||||
from _bl_i18n_utils import settings as settings_i18n, utils
|
||||
|
||||
import bpy
|
||||
|
||||
@@ -31,7 +31,7 @@ filter_message = ignore_reg.match
|
||||
|
||||
def init_spell_check(settings, lang="en_US"):
|
||||
try:
|
||||
from bl_i18n_utils import utils_spell_check
|
||||
from _bl_i18n_utils import utils_spell_check
|
||||
return utils_spell_check.SpellChecker(settings, lang)
|
||||
except Exception as ex:
|
||||
print("Failed to import utils_spell_check ({})".format(str(ex)))
|
||||
@@ -1231,7 +1231,7 @@ def dump_messages(do_messages, do_checks, settings):
|
||||
# Get strings specific to translations' menu.
|
||||
for lng in settings.LANGUAGES:
|
||||
process_msg(
|
||||
msgs, settings.DEFAULT_CONTEXT, lng[1], "Languages’ labels from bl_i18n_utils/settings.py",
|
||||
msgs, settings.DEFAULT_CONTEXT, lng[1], "Languages’ labels from _bl_i18n_utils/settings.py",
|
||||
reports, None, settings,
|
||||
)
|
||||
|
||||
@@ -22,7 +22,7 @@ import struct
|
||||
import tempfile
|
||||
import time
|
||||
|
||||
from bl_i18n_utils import (
|
||||
from _bl_i18n_utils import (
|
||||
settings,
|
||||
utils_rtl,
|
||||
)
|
||||
@@ -56,7 +56,7 @@ def gen_menu_file(stats, settings):
|
||||
"# ID must be unique, except for 0 value (marks categories for menu).",
|
||||
"# Line starting with a # are comments!",
|
||||
"#",
|
||||
"# Automatically generated by bl_i18n_utils/utils_languages_menu.py script.",
|
||||
"# Automatically generated by _bl_i18n_utils/utils_languages_menu.py script.",
|
||||
"# Highest ID currently in use: {}".format(highest_uid),
|
||||
]
|
||||
for uid_num, label, uid, flag, lvl in langs:
|
||||
@@ -237,7 +237,7 @@ execute.hooks = []
|
||||
|
||||
|
||||
def autocomplete(context):
|
||||
from bl_console_utils.autocomplete import intellisense
|
||||
from _bl_console_utils.autocomplete import intellisense
|
||||
|
||||
sc = context.space_data
|
||||
|
||||
@@ -332,7 +332,7 @@ def enable(module_name, *, default_set=False, persistent=False, refresh_handled=
|
||||
import os
|
||||
import sys
|
||||
import importlib
|
||||
from bpy_restrict_state import RestrictBlend
|
||||
from _bpy_restrict_state import RestrictBlend
|
||||
|
||||
if handle_error is None:
|
||||
def handle_error(ex):
|
||||
|
||||
@@ -35,7 +35,7 @@ _modules = {}
|
||||
|
||||
|
||||
def _enable(template_id, *, handle_error=None, ignore_not_found=False):
|
||||
from bpy_restrict_state import RestrictBlend
|
||||
from _bpy_restrict_state import RestrictBlend
|
||||
|
||||
if handle_error is None:
|
||||
def handle_error(_ex):
|
||||
|
||||
@@ -321,7 +321,7 @@ def load_scripts(*, reload_scripts=False, refresh_scripts=False, extensions=True
|
||||
# Without this, add-on register functions accessing key-map properties can crash, see: #111702.
|
||||
_bpy.context.window_manager.keyconfigs.update(keep_properties=True)
|
||||
|
||||
from bpy_restrict_state import RestrictBlend
|
||||
from _bpy_restrict_state import RestrictBlend
|
||||
|
||||
with RestrictBlend():
|
||||
for base_path in script_paths(use_user=use_user):
|
||||
@@ -367,7 +367,7 @@ def _on_exit():
|
||||
|
||||
# Call `unregister` function on internal startup module.
|
||||
# Must only be used as part of Blender 'exit' process.
|
||||
from bpy_restrict_state import RestrictBlend
|
||||
from _bpy_restrict_state import RestrictBlend
|
||||
with RestrictBlend():
|
||||
for mod_name in reversed(_registered_module_names):
|
||||
if (mod := _sys.modules.get(mod_name)) is None:
|
||||
@@ -1231,7 +1231,7 @@ def _blender_default_map():
|
||||
# NOTE(@ideasman42): Avoid importing this as there is no need to keep the lookup table in memory.
|
||||
# As this runs when the user accesses the "Online Manual", the overhead loading the file is acceptable.
|
||||
# In my tests it's under 1/100th of a second loading from a `pyc`.
|
||||
ref_mod = execfile(_os.path.join(_script_base_dir, "modules", "rna_manual_reference.py"))
|
||||
ref_mod = execfile(_os.path.join(_script_base_dir, "modules", "_rna_manual_reference.py"))
|
||||
return (ref_mod.url_manual_prefix, ref_mod.url_manual_mapping)
|
||||
|
||||
|
||||
|
||||
@@ -400,7 +400,7 @@ class UpdateAnimatedTransformConstraint(Operator):
|
||||
)
|
||||
|
||||
def execute(self, context):
|
||||
import animsys_refactor
|
||||
import _animsys_refactor as animsys_refactor
|
||||
from math import radians
|
||||
import io
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ from bpy.app.translations import contexts as i18n_contexts
|
||||
|
||||
def _lang_module_get(sc):
|
||||
return __import__(
|
||||
"console_" + sc.language,
|
||||
"_console_" + sc.language,
|
||||
# for python 3.3, maybe a bug???
|
||||
level=0,
|
||||
)
|
||||
|
||||
@@ -95,7 +95,7 @@ class WM_OT_previews_batch_generate(Operator):
|
||||
def execute(self, context):
|
||||
import os
|
||||
import subprocess
|
||||
from bl_previews_utils import bl_previews_render as preview_render
|
||||
from _bl_previews_utils import bl_previews_render as preview_render
|
||||
|
||||
context.window_manager.progress_begin(0, len(self.files))
|
||||
context.window_manager.progress_update(0)
|
||||
@@ -204,7 +204,7 @@ class WM_OT_previews_batch_clear(Operator):
|
||||
def execute(self, context):
|
||||
import os
|
||||
import subprocess
|
||||
from bl_previews_utils import bl_previews_render as preview_render
|
||||
from _bl_previews_utils import bl_previews_render as preview_render
|
||||
|
||||
context.window_manager.progress_begin(0, len(self.files))
|
||||
context.window_manager.progress_update(0)
|
||||
|
||||
@@ -164,7 +164,7 @@ class AddPresetBase:
|
||||
print("Writing Preset: {!r}".format(filepath))
|
||||
|
||||
if is_xml:
|
||||
import rna_xml
|
||||
import _rna_xml as rna_xml
|
||||
rna_xml.xml_file_write(context, filepath, preset_menu_class.preset_xml_map)
|
||||
else:
|
||||
|
||||
@@ -304,7 +304,7 @@ class ExecutePreset(Operator):
|
||||
self.report({'ERROR'}, "Failed to execute the preset: " + repr(ex))
|
||||
|
||||
elif ext == ".xml":
|
||||
import rna_xml
|
||||
import _rna_xml as rna_xml
|
||||
preset_xml_map = preset_class.preset_xml_map
|
||||
preset_xml_secure_types = getattr(preset_class, "preset_xml_secure_types", None)
|
||||
|
||||
@@ -708,7 +708,7 @@ class SavePresetInterfaceTheme(AddPresetBase, Operator):
|
||||
# while redrawing as it may involve remote file-system access.
|
||||
|
||||
def execute(self, context):
|
||||
import rna_xml
|
||||
import _rna_xml as rna_xml
|
||||
filepath = context.preferences.themes[0].filepath
|
||||
if (not filepath) or _is_path_readonly(filepath):
|
||||
self.report({'ERROR'}, "Built-in themes cannot be overwritten")
|
||||
|
||||
@@ -31,7 +31,7 @@ from bpy.app.translations import (
|
||||
|
||||
def _rna_path_prop_search_for_context_impl(context, edit_text, unique_attrs):
|
||||
# Use the same logic as auto-completing in the Python console to expand the data-path.
|
||||
from bl_console_utils.autocomplete import intellisense
|
||||
from _bl_console_utils.autocomplete import intellisense
|
||||
context_prefix = "context."
|
||||
line = context_prefix + edit_text
|
||||
cursor = len(line)
|
||||
@@ -148,7 +148,7 @@ def context_path_validate(context, data_path):
|
||||
|
||||
|
||||
def context_path_to_rna_property(context, data_path):
|
||||
from bl_rna_utils.data_path import property_definition_from_data_path
|
||||
from _bl_rna_utils.data_path import property_definition_from_data_path
|
||||
rna_prop = property_definition_from_data_path(context, "." + data_path)
|
||||
if rna_prop is not None:
|
||||
return rna_prop
|
||||
@@ -167,7 +167,7 @@ def context_path_decompose(data_path):
|
||||
# Note that the `.` is removed from the start of the first and second values,
|
||||
# this is done because `.attr` isn't convenient to use as an argument,
|
||||
# also the convention is not to include this within the data paths or the operator logic for `bpy.ops.wm.*`.
|
||||
from bl_rna_utils.data_path import decompose_data_path
|
||||
from _bl_rna_utils.data_path import decompose_data_path
|
||||
path_split = decompose_data_path("." + data_path)
|
||||
|
||||
# Find the last property that isn't a function call.
|
||||
@@ -1342,7 +1342,7 @@ class WM_OT_doc_view_manual(Operator):
|
||||
self.report(
|
||||
{'WARNING'},
|
||||
rpt_("No reference available {!r}, "
|
||||
"Update info in 'rna_manual_reference.py' "
|
||||
"Update info in '_rna_manual_reference.py' "
|
||||
"or callback to bpy.utils.manual_map()").format(self.doc_id)
|
||||
)
|
||||
return {'CANCELLED'}
|
||||
|
||||
@@ -386,7 +386,7 @@ class GRAPH_MT_key_density(Menu):
|
||||
bl_label = "Density"
|
||||
|
||||
def draw(self, _context):
|
||||
from bl_ui_utils.layout import operator_context
|
||||
from _bl_ui_utils.layout import operator_context
|
||||
layout = self.layout
|
||||
layout.operator("graph.decimate", text="Decimate (Ratio)").mode = 'RATIO'
|
||||
# Using the modal operation doesn't make sense for this variant
|
||||
|
||||
@@ -1075,7 +1075,7 @@ class SEQUENCER_MT_strip(Menu):
|
||||
bl_label = "Strip"
|
||||
|
||||
def draw(self, context):
|
||||
from bl_ui_utils.layout import operator_context
|
||||
from _bl_ui_utils.layout import operator_context
|
||||
|
||||
layout = self.layout
|
||||
st = context.space_data
|
||||
|
||||
@@ -553,7 +553,7 @@ class TOPBAR_MT_window(Menu):
|
||||
|
||||
def draw(self, context):
|
||||
import sys
|
||||
from bl_ui_utils.layout import operator_context
|
||||
from _bl_ui_utils.layout import operator_context
|
||||
|
||||
layout = self.layout
|
||||
|
||||
|
||||
@@ -3217,7 +3217,7 @@ class VIEW3D_MT_object_parent(Menu):
|
||||
bl_translation_context = i18n_contexts.operator_default
|
||||
|
||||
def draw(self, _context):
|
||||
from bl_ui_utils.layout import operator_context
|
||||
from _bl_ui_utils.layout import operator_context
|
||||
|
||||
layout = self.layout
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ are supported.
|
||||
"""
|
||||
|
||||
import bpy
|
||||
import keyingsets_utils
|
||||
import _keyingsets_utils as keyingsets_utils
|
||||
from bpy.types import KeyingSetInfo
|
||||
|
||||
###############################
|
||||
|
||||
Reference in New Issue
Block a user