What is the best generic method to check whether an opened table is geographic or not using PyQgis ?
You can use the
hasGeometryType() method from QgsVectorLayer.
To examinate whether the selected layer has an associated geometry you can run this code in the QGIS Python console:
If it is
True, the layer has a geometry (i.e., it's an spatial table). If it is
False, the layer is a table (i.e., the table is non explicitly spatial).