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] Ajout de la gestion des fichiers lors de l'import de signalements via csv #1863

Merged
merged 3 commits into from
Nov 17, 2023

Conversation

emilschn
Copy link
Collaborator

@emilschn emilschn commented Nov 2, 2023

Ticket

#1904

Description

Gestion des fichiers lors de l'import de signalements via csv

Changements apportés

  • Modification de la commande de slugification des fichiers à importer pour gérer les fichiers d'imports de signalement
  • Modification de la commande d'import de signalements pour prendre en compte les fichiers renseignés

Pré-requis

  • export BUCKET_URL=[dev_bucket]
  • Utiliser les fichiers présents sur le drive dans le ticket joint
  • Utiliser le fichier csv joint à cette PR (correspond au fichier du drive, mais modifié pour éviter les erreurs) : signalement_67.csv

Tests de gestion des fichiers lors de l'import

Dans le dossier /data/images :

  • Placer le fichier csv
  • Créer un dossier import_67 avec tous les fichiers du drive dedans
  • Exécuter la commande ./scripts/upload-s3.sh slugify-signalement 67
  • Exécuter la commande make console app="slugify-doc-signalement 67 0"

Dans le dossier /tmp :

  • Récupérer le fichier signalement_slugged_67.csv
  • Le copier dans /data/signalement
  • Le renommer signalement_67.csv

Importer :

  • Exécuter la commande ./scripts/upload-s3.sh image 67
  • Exécuter la commande ./scripts/upload-s3.sh signalement 67
  • Exécuter la commande make console app="import-signalement 67"
  • Activer le Bas-Rhin en BDD
  • Vérifier que les signalements sont bien importés avec les fichiers

Tests de non-régression pour le fichier de mapping

  • Exécuter la commande ./scripts/upload-s3.sh mapping-doc 01
  • Exécuter la commande make console app="slugify-doc-signalement 01 1"

@hmeneuvrier
Copy link
Collaborator

hmeneuvrier commented Nov 6, 2023

18 fichiers slugifiés sur 27 , 6 erreurs :

Do you want to slugify 27 files from your directory /app/data/images/import_67/?y
10:30:49 ERROR     [app] File rename - row 0 - error: Cannot rename "/app/data/images/import_67/13792_Signatures pétition Sibar.pdf" to "/app/data/images/import_67/6548c0599f98e-13792-Signatures-petition.pdf": rename(/app/data/images/import_67/13792_Signatures pétition Sibar.pdf,/app/data/images/import_67/6548c0599f98e-13792-Signatures-petition.pdf): No such file or directory
10:30:49 ERROR     [app] File rename - row 0 - error: Cannot rename "/app/data/images/import_67/13790_mail locataire info complé 2018 0001.pdf" to "/app/data/images/import_67/6548c059a0c54-13790-mail-locataire-info.pdf": rename(/app/data/images/import_67/13790_mail locataire info complé 2018 0001.pdf,/app/data/images/import_67/6548c059a0c54-13790-mail-locataire-info.pdf): No such file or directory
10:30:49 ERROR     [app] Different count - row 0 col ref des documents - 6 // 8
10:30:49 ERROR     [app] File rename - row 1 - error: Cannot rename "/app/data/images/import_67/13761_Lettre à Monsieur et Madame Mohammed BEN LETAIEF.pdf" to "/app/data/images/import_67/6548c059a1e7b-13761-Lettre-a-Monsieur-e.pdf": rename(/app/data/images/import_67/13761_Lettre à Monsieur et Madame Mohammed BEN LETAIEF.pdf,/app/data/images/import_67/6548c059a1e7b-13761-Lettre-a-Monsieur-e.pdf): No such file or directory
10:30:49 ERROR     [app] Different count - row 1 col ref des documents - 2 // 3
10:30:49 ERROR     [app] Unable to copy file from tmp/csv/signalement_slugged_67.csv to signalement_slugged_67.csv
 [OK] 18 files have been slugified 

ok, ça vient de caractères bizarres lors de l'extration sur Ubuntu je suppose : 13761_Lettre ├а Monsieur et Madame Mohammed BEN LETAIEF, 13790_mail locataire info compl├й 2018 0001, 13792_Signatures p├йtition Sibar

Et je pense qu'il y a un souci dans le compte des fichiers slugifiés, car j'en ai 24 et pas 18

(EDIT : j'ai remplacé les caractères spéciaux de la commande et relancé la commande, les 3 fichiers ont bien été slugifiés, mais il me dit 5 :) )

@hmeneuvrier
Copy link
Collaborator

hmeneuvrier commented Nov 6, 2023

Erreur lors de l'import des signalements :

helene@helene-work:~/Work/BetaGouv/Histologe/Dev/histologe$ make console app="import-signalement 67"
php bin/console app:import-signalement 67
 0/6 [>---------------------------]   0%
In Signalement.php line 900:
                                                                                                                                                                                 
  App\Entity\Signalement::setAdresseOccupant(): Argument #1 ($adresseOccupant) must be of type string, null given, called in /app/src/Factory/SignalementFactory.php on line 55

Les entêtes ne sont pas exactement ceux qui sont dans SignalementImportMapper.

Par exemple dans le csv on a Adresse occupant dans le mapper c'est adresse occupant
12:44 PM

Tu n'as pas de souci toi ?

@MTES-MCT MTES-MCT deleted a comment from hmeneuvrier Nov 6, 2023
@hmeneuvrier
Copy link
Collaborator

Test KO : j'ai bien les signalements mais ils n'ont pas de fichiers (même pas en BDD), alors que tout s'est bien passé dans l'execution des commandes

Copy link
Collaborator

@hmeneuvrier hmeneuvrier left a comment

Choose a reason for hiding this comment

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

Tests et TNR OK, relecture OK

Copy link
Collaborator

@sfinx13 sfinx13 left a comment

Choose a reason for hiding this comment

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

Tout est ok pour moi code et test, il va manquer un conflit suite au changement de nom de la fonction dans le uploadHandler

@emilschn emilschn force-pushed the feature/1853-import-files-with-signalements branch from e5ecb7a to 1e4542d Compare November 17, 2023 09:29
Copy link

sonarcloud bot commented Nov 17, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@sfinx13 sfinx13 merged commit 9911440 into develop Nov 17, 2023
4 checks passed
@emilschn emilschn deleted the feature/1853-import-files-with-signalements branch November 20, 2023 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants