I have a bunch of map documents with gobs of layers in each. I have a script the goes through each map document, and each dataframe, and then inspects each layer in the dataframe. I am trying to determine if the layer is a query layer, but I do not know how to determine that.
import arcpy
import os
tfolder = r"\\tstvmmapservb\f$\ArcGIS\MXDs\NISC"
for f in os.listdir(tfolder):
map_document = os.path.join(r"\\tstvmmapservb\f$\ArcGIS\MXDs\NISC", f)
print("mxd: {}").format(map_document)
mxd = arcpy.mapping.MapDocument(map_document)
for df in arcpy.mapping.ListDataFrames(mxd, "*"):
lyrs = arcpy.mapping.ListLayers(mxd, "", df)
for lyr in lyrs:
if lyr.isBroken:
#print("{} is broken. Skipping".format(lyr.name))
continue
desc = arcpy.Describe(lyr)
if desc.dataType == "GroupLayer":
#print("{} is a group layer. Skipping".format(lyr.name))
continue
if desc.dataElement.dataType == "FeatureClass":
print("{} is a feature class. Skipping".format(lyr.name))
continue
if lyr.supports("SERVICEPROPERTIES"):
#print("{} is a service. Skipping".format(lyr.name))
continue
print(lyr)