consiglio di usare il wrapper ll'xml del progetto: http://qgis.org/api/classQgsProject.html sgrapparsi all'handlaer QgsProjectBadLayerHandler
non so se questa classe ha l'interfaccia python... in un modo o nell'altro consiglio di spulciare il codice c++ per usare la stessa metodologia usata da questo handler e automatizzare la ricerca nell'allbero del progetto. chiaramente sta cosa funziona se i layer sono stati mossi in sottocartelle... se sono stati mossi altrove, tocca chiedere all'utente (QFileDialog) dove cercarli. mi sembra prossa essere un buon plugin utile a tutti. piccola riflessione generale sul SW libero e non... bello, pero' come faccio a comptere con con stagisti pagati dallo stato a cui io pago le tasse? ricordo un progetto per una regione del nord italia su qgis che abbiamo offerto il giusto e lo vince una sconosciuta ditta (sconosciuta per il mondo del sw libero e di qgis) con un ribasso impressionante (praticamente la meta')... ora, impossibile fare sti prezzi a meno di avere schiavi stagisti o studenti sottopagati o subcontrattati a indiani.... comunque di quel progetto, non abbiamo visto l'ombra delle patch che avrebbero dovuto risolvere o del plugin che avrebbero dovuto generare. ciao Luigi Pirelli ************************************************************************************************** * LinkedIn: https://www.linkedin.com/in/luigipirelli * Elance: https://www.elance.com/s/edit/luigipirelli/ * GitHub: https://github.com/luipir * Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli * Mastering QGIS: https://www.packtpub.com/application-development/mastering-qgis ************************************************************************************************** 2015-06-17 15:32 GMT+01:00 Amedeo Fadini <ame...@gmail.com>: > Salve a tutti, > > una delle cose che capitano in ufficio da me è che si apre un progetto > e l si collega ad alcuni layer, poi man mano si mette ordine nei layer > e si spostano i layer in sottocartelle. Capita così che quando si > riapre il progetto ci si trova davanti la finestra di gestione dei > layer corrotti in cui viene richiesto di selezionare il nuovo percorso > per ciascuno dei layer indisponibili. > > Non c'è problema se i layer sono pochi e sono stati spostati tutti > nella stessa cartella, ma se sono molti e sono stati spostati a gruppi > in cartelle diverse la procedura di apertura diventa complessa, lavoro > simile se un progetto che normalmente punta a dei layer sul server > deve puntare a layer in locale. > > Con l'aiuto di Mattia che è qui in stage, stiamo cercando di fare un > piccolo script python che si occupi di sistemare questa cosa almeno > per i layer su filesystem: vi chiedo un piccolo aiuto se per voi > questo approccio può andare: > > Soprattutto non ricordo se esiste già qualcosa di simile, dalla ML > italiana par di no. > > 1- leggere il file qgis con xml.ElementTree > 2- creare una lista con tutti gli elementi <datasource> > 3- verificare per ogni elemento se il file è accessibile e in caso > positivo eliminarlo dalla lista > 4- chiedere all'utente di inserire vecchio percorso e nuovo percorso > 5- Sostituire il vecchio percorso con nuovo percorso per tutti gli > elementi rimasti > 6 ripetere i punti 3-5 finché tutti i file sono accessibili > > Non credo si possa fare un plugin perché andrebbe applicato > all'apertura del progetto, ma intanto potremmo rilasciarlo come script > a riga di comando. > > amefad > _______________________________________________ > Gfoss@lists.gfoss.it > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss > Questa e' una lista di discussione pubblica aperta a tutti. > I messaggi di questa lista non hanno relazione diretta con le posizioni > dell'Associazione GFOSS.it. > 750 iscritti al 18.3.2015 _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 750 iscritti al 18.3.2015