Hello,
I'm not really sure I understand what you are doing. Are you operating in a command line version of Cinema? Or is you code reacting to some command line arguments? Are you operating on the currently active BaseDocument?
As I said, I don't have Indigo Renderer so I can't test this specific scenario.
But when you "change" the renderer, you also have to "create" that renderer video post when operating in a new document. So it is not enough just to change the RDATA_RENDERENGINE parameter.
This example shows how to set and create the "Hardware" renderer:
renderData = doc.GetActiveRenderData()
if renderData is None:
return
# set Hardware as active renderer
bc = renderData.GetDataInstance()
bc[c4d.RDATA_RENDERENGINE] = c4d.RDATA_RENDERENGINE_PREVIEWHARDWARE
# add Hardware post effect
# in Python a BaseList2D object must be created
videoPost = c4d.BaseList2D(c4d.RDATA_RENDERENGINE_PREVIEWHARDWARE)
renderData.InsertVideoPost(videoPost)
c4d.EventAdd()
You find general information on RenderData also in the C++ documentation: RenderData Manual.
best wishes,
Sebastian