Skip to content
Snippets Groups Projects
  • Sybren A. Stüvel's avatar
    7cb9d80a
    Fix bad import of Rigify legacy modules · 7cb9d80a
    Sybren A. Stüvel authored
    There is an issue with the construction of module names. Since there is no
    top-level module "legacy", the `"legacy.%s.%s" % (RIG_DIR, rig_type)`
    construct fails.
    
    Without these fixes, a unittest fails:
    
    Start testing: May 23 12:19 CEST
    ----------------------------------------------------------
    3/18 Testing: script_load_modules
    3/18 Test: script_load_modules
    Command: "/home/sybren/workspace/blender-git/build_linux/bin/blender" "--background" "-noaudio" "--factory-startup" "--env-system-scripts" "/home/sybren/workspace/blender-git/blender/release/scripts" "--python" "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py"
    Directory: /home/sybren/workspace/blender-git/build_linux/tests/python
    "script_load_modules" start time: May 23 12:19 CEST
    Output:
    ----------------------------------------------------------
    Traceback (most recent call last):
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 231, in <module>
        main()
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 226, in main
        load_modules()
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 178, in load_modules
        __import__(mod_name_full)
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/__init__.py", line 42, in <module>
        from . import utils, rig_lists, generate, ui, metarig_menu
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/rig_lists.py", line 76, in <module>
        rig_list = get_rig_list("")
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/rig_lists.py", line 47, in get_rig_list
        rig = utils.get_rig_type(module_name)
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/utils.py", line 702, in get_rig_type
        submod = importlib.import_module(name, package=MODULE_NAME)
      File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: No module named 'legacy'
    
    Warning! '/home/sybren/.config/blender/2.78/scripts/startup/pillarsdk/__init__.py' has no register function, this is now a requirement for registerable scripts
    archimesh: Imported multifiles
    measureit: Imported multifiles
    Paths:
            '/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/modules'
            '/home/sybren/workspace/blender-git/build_linux/bin/release/scripts'
            '/home/sybren/.config/blender/2.78/scripts'
    MeasureIt: Cleaning data
    ++++++++++++++++++++++++++++++
    MeasureIt: Cleaning data
    Error: Not freed memory blocks: 1, total unfreed memory 0.000214 MB
    <end of output>
    Test time =   0.87 sec
    ----------------------------------------------------------
    Test Failed.
    "script_load_modules" end time: May 23 12:19 CEST
    "script_load_modules" time elapsed: 00:00:00
    ----------------------------------------------------------
    
    End testing: May 23 12:19 CEST
    7cb9d80a
    History
    Fix bad import of Rigify legacy modules
    Sybren A. Stüvel authored
    There is an issue with the construction of module names. Since there is no
    top-level module "legacy", the `"legacy.%s.%s" % (RIG_DIR, rig_type)`
    construct fails.
    
    Without these fixes, a unittest fails:
    
    Start testing: May 23 12:19 CEST
    ----------------------------------------------------------
    3/18 Testing: script_load_modules
    3/18 Test: script_load_modules
    Command: "/home/sybren/workspace/blender-git/build_linux/bin/blender" "--background" "-noaudio" "--factory-startup" "--env-system-scripts" "/home/sybren/workspace/blender-git/blender/release/scripts" "--python" "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py"
    Directory: /home/sybren/workspace/blender-git/build_linux/tests/python
    "script_load_modules" start time: May 23 12:19 CEST
    Output:
    ----------------------------------------------------------
    Traceback (most recent call last):
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 231, in <module>
        main()
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 226, in main
        load_modules()
      File "/home/sybren/workspace/blender-git/blender/tests/python/bl_load_py_modules.py", line 178, in load_modules
        __import__(mod_name_full)
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/__init__.py", line 42, in <module>
        from . import utils, rig_lists, generate, ui, metarig_menu
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/rig_lists.py", line 76, in <module>
        rig_list = get_rig_list("")
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/rig_lists.py", line 47, in get_rig_list
        rig = utils.get_rig_type(module_name)
      File "/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/addons/rigify/legacy/utils.py", line 702, in get_rig_type
        submod = importlib.import_module(name, package=MODULE_NAME)
      File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: No module named 'legacy'
    
    Warning! '/home/sybren/.config/blender/2.78/scripts/startup/pillarsdk/__init__.py' has no register function, this is now a requirement for registerable scripts
    archimesh: Imported multifiles
    measureit: Imported multifiles
    Paths:
            '/home/sybren/workspace/blender-git/build_linux/bin/release/scripts/modules'
            '/home/sybren/workspace/blender-git/build_linux/bin/release/scripts'
            '/home/sybren/.config/blender/2.78/scripts'
    MeasureIt: Cleaning data
    ++++++++++++++++++++++++++++++
    MeasureIt: Cleaning data
    Error: Not freed memory blocks: 1, total unfreed memory 0.000214 MB
    <end of output>
    Test time =   0.87 sec
    ----------------------------------------------------------
    Test Failed.
    "script_load_modules" end time: May 23 12:19 CEST
    "script_load_modules" time elapsed: 00:00:00
    ----------------------------------------------------------
    
    End testing: May 23 12:19 CEST