3
$\begingroup$

As far as I know there are two ways to reload a linked library (so the linked objects update to the state they are in the source file) in Blender 2.8:

  1. Close and reopen the file with the linked library.
  2. Reload button inside the Outliner > Blender File > RMB (over the linked linked .blend file) > Reload.

The reload button seems to call an Outliner operation: bpy.ops.outliner.lib_operation(type='RELOAD'). But I think is not a good idea to call bpy.ops.outliner from a script (neither I can find a way to do it). I think must exist some other call over bpy.data to to the same thing (and safer than call a operator), but I cannot find it.

Is there a way to reload the linked library from a script? If the only way is calling the above mentioned "outliner operation", how can I call it from a script?

I'd like to iterate over all linked libraries and update them.

Thank you.

$\endgroup$
1
$\begingroup$

you can use the data of the blend file

bpy.data.libraries[YOUR BLENDER FILE NAME HERE].reload()
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.