Closed Gustry closed 3 years ago
@rldhont Est-ce que via l'algorithme d'export, l'export en fichier temporaire est autorisé ou pas ?
Non, l'export doit générer des ficheirs soit au format SHP/DBF soit MapInfo.
@rldhont donc je pense que @Gustry a testé avec des temporaires et c'est le message généré par l'algorithme qui s'affiche car sinon pour ma part ça fonctionne. Et j'ai bien ce message quand je laisse vide en mode fichier temporaire
Peut-être modifié la définition du paramètre, en passant de
# Chemin du dossier de destination
outparam = QgsProcessingParameterFolderDestination(
self.PROJECTS_FOLDER,
tr("Chemin de destination"),
'',
False,
False
)
outparam.tooltip_3liz = 'Chemin de destination pour enregistrer les exports Shapefile'
self.addParameter(outparam)
a
# Chemin du dossier de destination
outparam = QgsProcessingParameterFolderDestination(
self.PROJECTS_FOLDER,
tr("Chemin de destination"),
defaultValue=None,
optional=False,
createByDefault=False
)
outparam.tooltip_3liz = 'Chemin de destination pour enregistrer les exports Shapefile'
self.addParameter(outparam)
ca change rien au final
@rldhont Est-ce que via l'algorithme d'export, l'export en fichier temporaire est autorisé ou pas ?
Selon moi oui
Non, l'export doit générer des ficheirs soit au format SHP/DBF soit MapInfo.
Oui, SHP temporaire, dans /tmp
sous linux. C'est comme cela que QGIS fait aussi si l'enregistrement en fichier est obligatoire.
Il y a la fonction python pour récupérer le dossier temp (quelque soit l'OS).
Temporaire ne veut pas dire mémoire.
Mais OK si vous voulez rendre le chemin obligatoire.
Suite à une discussion avec @rldhont ce matin. Nous allons donc autoriser la chaîne vide en entrée.
Dans l'algorithme, si la chaîne est vide, construire un chemin temporaire vers un fichier avec une extension QGS. Il y a une librairie python pour faire ça. Afficher aussi, si la chaîne est vide, le message en rouge expliquant que le chemin n'était pas fourni et donc que l'extension génère ce chemin automatiquement et en l'affichant.
commit d4a2aaeec3c3ccbd81b3d5ffcc7906a7757e3b30
Erreur sur le chemin de destination avec le chemin temporaire par défaut: