Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Commit

Permalink
import: possibilité d'importer des fichiers spécifiques pour les DT F…
Browse files Browse the repository at this point in the history
…rance Travail

Le fichier courant (`drdt.csv`) est obsolète.
France Travail a fournir une liste corrective, encore incomplète,
mais suffisante pour importer des données et créer les structures
correspondantes (permettant ainsi le rattachement d'agents FT).
Dans une deuxième phase, le fichier de base devra être complété avec les
données manquantesi des RT.
  • Loading branch information
ikarius committed Oct 3, 2024
1 parent ec4653e commit 6157870
Showing 1 changed file with 25 additions and 11 deletions.
36 changes: 25 additions & 11 deletions dora/structures/management/commands/import_dr_dt_ft.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,28 @@
class Command(BaseCommand):
help = "Importe les DG/DR/DT France Travail, ainsi que leur code SAFIR"

def add_arguments(self, parser):
parser.add_argument(
"--file", help="Fichier à importer (si diffétent de `drdt.csv`)"
)

def finalize_structure(self, structure, safir):
structure.code_safir_pe = safir
structure.source = SOURCE
structure.creator = BOT_USER
structure.last_editor = BOT_USER
structure.typology = Typologie.FT.value
structure.save()
structure.national_labels.add(LABEL)
send_moderation_notification(
structure,
BOT_USER,
"Structure créée à partir de l’import DR/DT France Travail",
ModerationStatus.VALIDATED,
try:
structure.save()
except Exception as ex:
print(f"Erreur à la création de la structure SIRET:{structure.siret} / SAFIR: {safir} ({ex})")
else:
structure.national_labels.add(LABEL)
send_moderation_notification(
structure,
BOT_USER,
"Structure créée à partir de l’import DR/DT France Travail",
ModerationStatus.VALIDATED,
)

def create_structure(self, siret, name, safir):
Expand All @@ -57,10 +66,15 @@ def create_branch(self, parent, name, safir):
self.finalize_structure(structure, safir)

def handle(self, *args, **options):
file = options["file"]

with transaction.atomic(durable=True):
mapping_file_path = (
Path(__file__).parent.parent.parent / "data" / "drdt.csv"
)
if file:
mapping_file_path = Path(file)
else:
mapping_file_path = (
Path(__file__).parent.parent.parent / "data" / "drdt.csv"
)

with open(mapping_file_path) as mapping_file:
reader = csv.DictReader(mapping_file)
Expand Down Expand Up @@ -88,7 +102,7 @@ def handle(self, *args, **options):
.exists()
):
print(
f"{name} : ce safir existe déjà, mais il est associé à un autre siret"
f"{name} : ce code SAFIR ({safir}) existe déjà, mais il est associé à un autre SIRET"
)
continue
try:
Expand Down

0 comments on commit 6157870

Please sign in to comment.