diff options
-rwxr-xr-x | io_scene_gltf2/__init__.py | 2 | ||||
-rw-r--r-- | pose_library/pose_usage.py | 124 | ||||
-rwxr-xr-x | render_povray/scripting.py | 2 |
3 files changed, 4 insertions, 124 deletions
diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 9ed65aed..dc8abae3 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -15,7 +15,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors', - "version": (1, 8, 14), + "version": (3, 2, 1), 'blender': (3, 1, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/pose_library/pose_usage.py b/pose_library/pose_usage.py index dc496d9c..7bc9377e 100644 --- a/pose_library/pose_usage.py +++ b/pose_library/pose_usage.py @@ -22,6 +22,7 @@ Pose Library - usage functions. from typing import Set import re +import bpy from bpy.types import ( Action, @@ -48,7 +49,7 @@ def select_bones(arm_object: Object, action: Action, *, select: bool, flipped: b seen_bone_names.add(bone_name) if flipped: - bone_name = flip_side_name(bone_name) + bone_name = bpy.utils.flip_name(bone_name) try: pose_bone = pose.bones[bone_name] @@ -58,127 +59,6 @@ def select_bones(arm_object: Object, action: Action, *, select: bool, flipped: b pose_bone.bone.select = select -_FLIP_SEPARATORS = set(". -_") - -# These are single-character replacements, others are handled differently. -_FLIP_REPLACEMENTS = { - "l": "r", - "L": "R", - "r": "l", - "R": "L", -} - - -def flip_side_name(to_flip: str) -> str: - """Flip left and right indicators in the name. - - Basically a Python implementation of BLI_string_flip_side_name. - - >>> flip_side_name('bone_L.004') - 'bone_R.004' - >>> flip_side_name('left_bone') - 'right_bone' - >>> flip_side_name('Left_bone') - 'Right_bone' - >>> flip_side_name('LEFT_bone') - 'RIGHT_bone' - >>> flip_side_name('some.bone-RIGHT.004') - 'some.bone-LEFT.004' - >>> flip_side_name('some.bone-right.004') - 'some.bone-left.004' - >>> flip_side_name('some.bone-Right.004') - 'some.bone-Left.004' - >>> flip_side_name('some.bone-LEFT.004') - 'some.bone-RIGHT.004' - >>> flip_side_name('some.bone-left.004') - 'some.bone-right.004' - >>> flip_side_name('some.bone-Left.004') - 'some.bone-Right.004' - >>> flip_side_name('.004') - '.004' - >>> flip_side_name('L.004') - 'R.004' - """ - import string - - if len(to_flip) < 3: - # we don't flip names like .R or .L - return to_flip - - # We first check the case with a .### extension, let's find the last period. - number = "" - replace = to_flip - if to_flip[-1] in string.digits: - try: - index = to_flip.rindex(".") - except ValueError: - pass - else: - if to_flip[index + 1] in string.digits: - # TODO(Sybren): this doesn't handle "bone.1abc2" correctly. - number = to_flip[index:] - replace = to_flip[:index] - - if not replace: - # Nothing left after the number, so no flips necessary. - return replace + number - - if len(replace) == 1: - replace = _FLIP_REPLACEMENTS.get(replace, replace) - return replace + number - - # First case; separator . - _ with extensions r R l L. - if replace[-2] in _FLIP_SEPARATORS and replace[-1] in _FLIP_REPLACEMENTS: - replace = replace[:-1] + _FLIP_REPLACEMENTS[replace[-1]] - return replace + number - - # Second case; beginning with r R l L, with separator after it. - if replace[1] in _FLIP_SEPARATORS and replace[0] in _FLIP_REPLACEMENTS: - replace = _FLIP_REPLACEMENTS[replace[0]] + replace[1:] - return replace + number - - lower = replace.lower() - prefix = suffix = "" - if lower.startswith("right"): - bit = replace[0:2] - if bit == "Ri": - prefix = "Left" - elif bit == "RI": - prefix = "LEFT" - else: - prefix = "left" - replace = replace[5:] - elif lower.startswith("left"): - bit = replace[0:2] - if bit == "Le": - prefix = "Right" - elif bit == "LE": - prefix = "RIGHT" - else: - prefix = "right" - replace = replace[4:] - elif lower.endswith("right"): - bit = replace[-5:-3] - if bit == "Ri": - suffix = "Left" - elif bit == "RI": - suffix = "LEFT" - else: - suffix = "left" - replace = replace[:-5] - elif lower.endswith("left"): - bit = replace[-4:-2] - if bit == "Le": - suffix = "Right" - elif bit == "LE": - suffix = "RIGHT" - else: - suffix = "right" - replace = replace[:-4] - - return prefix + replace + suffix + number - - if __name__ == '__main__': import doctest diff --git a/render_povray/scripting.py b/render_povray/scripting.py index 5f7a2b6e..77e266ef 100755 --- a/render_povray/scripting.py +++ b/render_povray/scripting.py @@ -194,7 +194,7 @@ class ImportPOV(bpy.types.Operator, ImportHelper): S = S.replace(";", " ; ") S = S.split() # lenS = len(S) # Not used... why written? - for word in enumerate(S): + for word in S: # -------- Primitives Import -------- # if word == 'cone': cone_search = True |