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

Commit

Permalink
Possibilité d'importer des fichiers spécifiques pour les DT France Tr…
Browse files Browse the repository at this point in the history
…avail (#396)

voir : https://trello.com/c/d8prY1hh/172-dt-dd-france-travail

Le fichier courant des DD/DT France Travail (`drdt.csv`) est obsolète.

France Travail a fourni 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 manquantes des DT.
  • Loading branch information
ikarius authored Oct 3, 2024
1 parent ec4653e commit 5978d6b
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 5978d6b

Please sign in to comment.