Press "Yes" when document is opened?
-
Hi,
I'm trying to open several old documents and save them with the current version.
The script works but I had to press "Yes" for every document.
You can see an illustration of the problem here:
https://www.dropbox.com/s/6ijne28u5unlgej/c4d114_press_yes_python.png?dl=0Is there a way around this?
Thank you for looking at the problem
You can see the script below
import c4d import os def main(): for subdir, dirs, files in os.walk('D:\modifyMe'): for file in files: filepath = os.path.join(subdir, file) flags = c4d.SCENEFILTER_OBJECTS | c4d.SCENEFILTER_MATERIALS doc = c4d.documents.LoadDocument(filepath, flags) c4d.documents.InsertBaseDocument(doc) c4d.documents.SetActiveDocument(doc) c4d.CallCommand(12098, 12098) # Save c4d.documents.CloseAllDocuments() c4d.EventAdd() if __name__=='__main__': main()
-
Hello,
can you provide some old files to reproduce the issue?
best wishes,
Sebastian -
Hi @s_bach
Can you check on this one?
https://www.dropbox.com/s/zcgvmw5fe8m126f/c4d114_press_yes_python_hamster_run.zip?dl=0You need to open it in version other than R20 otherwise it won't work.
Let me know if you need anything else. -
Hello,
The dialog box is not opened when you load the document. The dialog box is opened when you try to save it using CallCommand().
Using CallCommand() is the exact same as pressing the button in the UI. So there is nothing to prevent that dialog when you use CallCommand().
But to save the file, you can simply use c4d.documents.SaveDocument(). This should show no pop-up dialog.
flags = c4d.SAVEDOCUMENTFLAGS_DONTADDTORECENTLIST c4d.documents.SaveDocument(loadedDoc, finalUpdatedPath, flags, c4d.FORMAT_C4DEXPORT)
Also, it looks like you are creating something similar to the Scene Updater. This plugin is also written in Python, so you might find some inspiration in its source code.
best wishes,
Sebastian -
@s_bach
RE: The dialog box is not opened when you load the document. The dialog box is opened when you try to save it using CallCommand().Thanks for the clarification.
The code you presented works as expected. Thank you!