Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import - MAJIC: détection automatique des fichiers dans le répertoire #474

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mdouchin
Copy link
Collaborator

@mdouchin mdouchin commented Jan 21, 2025

Modification de la logique d'import des fichiers MAJIC:

  • La configuration dans la boîte à outil permet maintenant de configurer des mots clés ou des expressions régulières pour trouver les fichiers MAJIC en fonction de leur type. Ce n'est plus un nom de fichier exact qui est attendu, mais une partie du nom (ou une liste de mots séparés par | par exemple.)
    cadastre_option_dialog
  • Par défaut, ces expressions régulières permettent de trouver les fichiers MAJIC avec les nommages standard : <code_insee>_{BATI,FANR,LLOC,NBAT,PROP,PDLL}.txt ou ART.DC21.W<anneeYY><dept>0.<typefichier>.A<anneeYYYY>.N<numero_commande>
  • Lors de l'import, le plugin trouve automatiquement les fichiers qui correspondent. L'utilisateur n'a donc plus besoin de renommer ses fichiers ni de modifier la configuration du plugin.

Ticket : #463
Financé par le CRAIG https://www.craig.fr/

@mdouchin mdouchin force-pushed the improve_majic_detectin branch 5 times, most recently from 961502d to f2ea866 Compare January 21, 2025 16:40
@mdouchin
Copy link
Collaborator Author

@landryb Je veux bien que tu testes cette branche. Voir la description ci-dessus pour les changements.

@mdouchin mdouchin marked this pull request as ready for review January 22, 2025 07:36
@mdouchin mdouchin requested a review from Gustry January 22, 2025 07:36
@mdouchin mdouchin self-assigned this Jan 22, 2025
@mdouchin mdouchin added amélioration import concerne les fonctions d'import et de traitement des fichiers DGFiP documentation labels Jan 22, 2025
@mdouchin mdouchin force-pushed the improve_majic_detectin branch from f2ea866 to 0abf5bd Compare January 22, 2025 08:01
Copy link
Member

@Gustry Gustry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the Python side, without tests, LGTM

@landryb
Copy link
Contributor

landryb commented Jan 22, 2025

j'ai testé rapidement et j'ai pu importer sans rien configurer avec les fichiers suivants:

  • 38063_BATI.txt
  • 38063_LLOC.txt
  • 38063_NBAT.txt
  • 38063_PDLL.txt
  • 38063_PROP.txt
  • 38_FANR.txt

puis un second essai sans fantoir, avec les fichiers suivants (nommages originaux de livraison)

  • ART.DC21.W24150.BATI.A2024.N000648
  • ART.DC21.W24150.LLOC.A2024.N000648
  • ART.DC21.W24150.NBAT.A2024.N000648
  • ART.DC21.W24150.PDLL.A2024.N000648
  • ART.DC21.W24150.PROP.A2024.N000648

j'ai bien eu le message d'erreur attendu:

Des fichiers MAJIC importants sont manquants : fanr
Vérifier le chemin des fichiers MAJIC :
/home/landry/datas/cadastreqgis/majic/15
ainsi que les mots recherchés pour chaque type de fichier configurés dans les options du plugin Cadastre :
BATI, FANTOIR|FANR, LLOC|D166, NBAT, PDL, PROP

une fois téléchargé/décompressé FANR_15.txt, les fichiers ont bien été trouvés/importés. j'ai eu une memoryError sur le dept complet par contre..

File "/home/landry/.local/share/QGIS/QGIS3/profiles/default/python/plugins/cadastre/cadastre_import.py", line 595, in import_majic_file_into_database
for a in self.chunk(fin, self.maxInsertRows):
MemoryError

a mieux gérer ? il me semble que jusqu'ici je n'avais pas eu de souci pour importer un dept complet dans spatialite, et dans mon test c'était majic seul, sans edigeo.. e tj'ai les réglages par défaut pour le nb de lignes et le stockage temporaire en mémoire..d'ailleurs, estce que le n=100000 hardcodé ne devrait pas reprendre la valeur de cadastre/maxInsertRows dans la fonction chunk ?

on peut peut-etre juste améliorer la clarté du message d'erreur, si il manque juste 'fanr' n'afficher que le motif pour ce dernier, plutôt que tous les motifs ?

je vois que la regex est utilisée dans get_available_majic_files et ca a bien fonctionné dans les 2 cas testés.

la capture d'écran à jour a aussi un nouveau champ 'TOPO' j'imagine pour une autre PR.. :D

@mdouchin
Copy link
Collaborator Author

Merci pour le retour détaillé. Je corrige et repousse

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
amélioration documentation import concerne les fonctions d'import et de traitement des fichiers DGFiP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants