Intento hacer el autoguardado al añadir la función y usar el siguiente código:
def autosave():
iface.activeLayer().commitChanges()
iface.activeLayer().startEditing()
iface.actionAddFeature().trigger()
iface.activeLayer().featureAdded.connect(autosave)
Pero commitChanges()
ejecutar una featureAdded
y consigo un bucle. También trato de usar la validación de tablas de atributos en las características de búsqueda no guardadas, así:
def autosave():
features = iface.activeLayer().getFeatures()
gid = next(features)[0]
if "nextval" in str(gid):
iface.activeLayer().commitChanges()
iface.activeLayer().startEditing()
iface.actionAddFeature().trigger()
iface.activeLayer().featureAdded.connect(autosave)
Y este código también ejecuta el bucle. ¿Cómo puedo evitar este problema?