This is related to my question ArcPy replaceDataSource, but can anyone explain to me why the following code fails to add a valid layer from a .lyr file, and I get the same problems as in that question (broken data source):
import time
import arcpy
fullpath = r'\\mxdPath'
mxd = arcpy.mapping.MapDocument(fullpath)
for df in arcpy.mapping.ListDataFrames(mxd):
if df.name == 'Overview' or df.name == 'Keyplan':
temp = r'C:\TMP\xxx.lyr'
lyrNew = arcpy.mapping.Layer(temp)
arcpy.mapping.AddLayer(data_frame,lyrNew,"TOP")
time.sleep(15)
mxd.save()
del mxd
I added in the delay because I wondered whether the layer wasn't fully added before the MXD was saved, but this doesn't seem to work consistently.
My geodatabases do seem to take a long time to open, but it's crazy not to be able to undertake such a simple scripting operation. I guess the same problem is affecting both operations, but any ideas why?