[QGIS-it-user] QGIS 3.10 Win10 - Registrazione storico

Buongiorno a tutt*

sto tentando, senza successo, di salvare automaticamente nella maschera Proprietà Progetto > Metadati > Storico [0], ad ogni chiusura del progetto stesso, le informazioni che riesco a produrre con le decorazioni mediante le funzioni

@user_full_name ||’ / ’ ||now()

Stavo pensando di intervenire con una macro Python che lavorasse, appunto, alla chiusura da salvare in [1] (credo).

Avete cortesemente un consiglio utile (o la macro stessa!!) senza che debba studiarmi (e comprendere!) tutto PyQGIS?

Grazie

Alberto
[0] https://www.dropbox.com/s/hfr2qw172zq2nkc/ProprietaMetadatiStorico.JPG?dl=0
[1] https://www.dropbox.com/s/5bulqbs25ywlys8/ProprietaMacro.JPG?dl=0

Studio Multiservice s.s. wrote

@user_full_name ||' / ' ||now()

Stavo pensando di intervenire con una macro Python che lavorasse, appunto,
alla chiusura da salvare in [1] (credo).

Ciao Alberto,
per modificare i metadati del progetto puoi utilizzare
QgsProject.instance().metadata() e QgsProject.instance().setMetadata(m) e
per aggiungere un elemento a History puoi usare
QgsProject.instance().metadata().addHistoryItem().
https://qgis.org/pyqgis/3.10/core/QgsProject.html
https://qgis.org/pyqgis/3.10/core/QgsProjectMetadata.html
https://qgis.org/pyqgis/3.10/core/QgsAbstractMetadataBase.html

Per esempio, qualcosa del genere:

from qgis.core import QgsApplication, QgsProject
from datetime import datetime

def openProject():
    utente = QgsApplication.userFullName()
    m = QgsProject.instance().metadata()
    m.addHistoryItem(utente + ' / ' + format(datetime.now()))
    QgsProject.instance().setMetadata(m)

def saveProject():
    pass

def closeProject():
    pass

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Ciao Andrea,

è perfettamente quello che cercavo!!

Grazie, a buon rendere

Alberto