def startAnalysis(inputMxd, destLogFile):
lyrName, lyrSavedName, brokenLayerName=r"Dataframe: Grouplayer\Layer; Datasource","\n\nSaved layer: ","\n\nBroken Links:"
mxd = arcpy.mapping.MapDocument(inputMxd)
for df in arcpy.mapping.ListDataFrames(mxd): # nacheinander alle Dataframes in Projekt verwenden
for lyr in arcpy.mapping.ListLayers(mxd, "", df): # nacheinander alle Layer in Dataframe verwenden
lyrName=lyrName + "\n" + df.name + ";" + lyr.longName
try:
lyrName=lyrName + ";" + lyr.dataSource # speichern des "Dataframes;(Grouplayer)/Layer"
if blnSaveLayer.get():
lyr.saveACopy(lyr.name)
lyrSavedName=lyrSavedName + "\n" + lyr.name
except:
pass
brokenList=arcpy.mapping.ListBrokenDataSources (df)
for brokenLyr in brokenList:
arcpy.mapping.RemoveLayer(df, brokenLyr)
try:
brokenLayerName=brokenLayerName + "\n" + df.name + brokenLyr.longName + "; " + brokenLyr.dataSource
except:
print "Error: " +brokenLyr
ouputMsg= lyrName + lyrSavedName + lyrNotSavedName + brokenLayerName
f = open(destLogFile, "w")
f.write(ouputMsg.encode("utf8"))
f.close()
mxd.saveACopy(os.path.splitext(inputMxd)[0]+"_WithoutBrokenLinks.mxd")import arcpy path = "XXX" mxd = arcpy.mapping.MapDocument(path) for df in arcpy.mapping.ListDataFrames(mxd): for lyr in arcpy.mapping.ListBrokenDataSources(mxd): arcpy.mapping.RemoveLayer(df, lyr) newPath = "YYY" mxd.saveACopy(newPath)
I'm having the same problem in version 10.3.1. Did you ever figure out how to fix this problem?