Spaces:
Running
Running
#!/usr/bin/env python3 | |
# -*- coding: utf-8 -*- | |
""" | |
Created on Thu Dec 28 10:32:52 2023 | |
@author: raphael | |
""" | |
import json | |
from typing import List, Optional, Dict | |
from pydantic import BaseModel, Field, UUID4 | |
from enum import Enum, unique | |
class FamilleJugement(str, Enum): | |
ARRET_APPEL = "Arrêt de la Cour d'Appel" | |
AVIS_DEPOT = 'Avis de dépôt' | |
EXTRAIT_JUGEMENT = 'Extrait de jugement' | |
JUGEMENT_OUVERTURE_ouverture = "Jugement d'ouverture" | |
JUGEMENT_CLOTURE = 'Jugement de clôture' | |
JUGEMENT = 'Jugement prononçant' | |
class NatureJugement(str, Enum): | |
ARRET_COUR_APPEL_INFIRMANT = "Arrêt de la cour d'appel infirmant une décision soumise à publicité" | |
AUTRE_ARRET_COUR_APPEL = "Autre arrêt de la Cour d'Appel" | |
AUTRE_AVIS_DE_DEPOT = "Autre avis de dépôt" | |
AUTRE_JUGEMENT_OUVERTURE = "Autre jugement d'ouverture" | |
AUTRE_JUGEMENT_CLOTURE = "Autre jugement de clôture" | |
AUTRE_JUGEMENT_ORDONNANCE = "Autre jugement et ordonnance" | |
AUTRE_JUGEMENT_PRONONCANT = "Autre jugement prononçant" | |
DEPOT_ETAT_COLLOCATION = "Dépôt de l'état de collocation" | |
DEPOT_ETAT_CREANCES = "Dépôt de l'état des créances" | |
DEPOT_ETAT_CREANCES_1985 = "Dépôt de l'état des créances Loi de 1985" | |
DEPOT_PROJET_REPARTITION = "Dépôt du projet de répartition" | |
JUGEMENT_PLAN_SAUVEGARDE = "Jugement arrêtant le plan de sauvegarde" | |
JUGEMENT_PLAN_CESSION = "Jugement arrêtant un plan de cession" | |
EXTENSION_LIQUIDATION_JUDICIAIRE = "Jugement d'extension de liquidation judiciaire" | |
INTERDICTION_GERER = "Jugement d'interdiction de gérer" | |
OUVERTURE_PROCEDURE_RESTRUCTURATION = "Jugement d'ouverture d'une procédure de redressement judiciaire" | |
OUVERTURE_PROCEDURE_SAUVEGARDE = "Jugement d'ouverture d'une procédure de sauvegarde" | |
OUVERTURE_LIQUIDATION_JUDICIAIRE = "Jugement d'ouverture de liquidation judiciaire" | |
CLOTURE_PROCEDURE_SAUVEGARDE = "Jugement de clôture de la procédure de sauvegarde" | |
CLOTURE_EXTINCTION_PASSIF = "Jugement de clôture pour extinction du passif" | |
CLOTURE_INSUFFISANCE_ACTIF = "Jugement de clôture pour insuffisance d'actif" | |
CONVERSION_LIQUIDATION_JUDICIAIRE = "Jugement de conversion en liquidation judiciaire" | |
CONVERSION_LIQUIDATION_SAUVEGARDE = "Jugement de conversion en liquidation judiciaire de la procédure de sauvegarde" | |
CONVERSION_RESTRUCTURATION_SAUVEGARDE = "Jugement de conversion en redressement judiciaire de la procédure de sauvegarde" | |
JUGEMENT_FAILLITE_PERSONNELLE = "Jugement de faillite personnelle" | |
JUGEMENT_PLAN_RESTRUCTURATION = "Jugement de plan de redressement" | |
REPRISE_PROCEDURE_LIQUIDATION = "Jugement de reprise de la procédure de liquidation judiciaire" | |
FIN_PROCEDURE_RESTRUCTURATION = "Jugement mettant fin à la procédure de redressement judiciaire" | |
FIN_PROCEDURE_SAUVEGARDE = "Jugement mettant fin à la procédure de sauvegarde" | |
MODIFICATION_DATE_CESSATION_PAIEMENTS = "Jugement modifiant la date de cessation des paiements" | |
MODIFICATION_PLAN_RESTRUCTURATION = "Jugement modifiant le plan de redressement" | |
MODIFICATION_PLAN_SAUVEGARDE = "Jugement modifiant le plan de sauvegarde" | |
MODIFICATION_PLAN_TRAITEMENT_SORTIE_CRISE = "Jugement modifiant le plan de traitement de sortie de crise" | |
RESOLUTION_PLAN_RESTRUCTURATION_LIQUIDATION = "Jugement prononçant la résolution du plan de redressement et la liquidation judiciaire" | |
RESOLUTION_PLAN_SAUVEGARDE_LIQUIDATION = "Jugement prononçant la résolution du plan de sauvegarde et la liquidation judiciaire" | |
RESOLUTION_PLAN_SAUVEGARDE_RESTRUCTURATION = "Jugement prononçant la résolution du plan de sauvegarde et le redressement judiciaire" | |
RESOLUTION_PLAN_SORTIE_CRISE_LIQUIDATION = "Jugement prononçant la résolution du plan de traitement de sortie de crise et la liquidation judiciaire" | |
LISTE_CREANCES_POST_OUVERTURE_LIQUIDATION = "Liste des créances nées après le jugement d'ouverture d'une procédure de liquidation judiciaire" | |
LISTE_CREANCES_POST_OUVERTURE_RESTRUCTURATION = "Liste des créances nées après le jugement d'ouverture d'une procédure de redressement judiciaire" | |
# Méthode pour obtenir l'énumération à partir de la chaîne | |
def from_string(s): | |
for member in NatureJugement: | |
if member.value == s: | |
return member | |
raise ValueError(f"{s} n'est pas une valeur valide de TypeJugement") | |
class Personne(BaseModel): | |
typePersonne: str | |
numeroImmatriculation: Optional[Dict] = Field(default=None) | |
denomination: Optional[str] = Field(default=None) | |
activite: Optional[str] = Field(default=None) | |
formeJuridique: Optional[str] = Field(default=None) | |
adresseSiegeSocial: Optional[Dict] = Field(default=None) | |
class Jugement(BaseModel): | |
type:Optional[str] = None | |
famille:Optional[str] = None | |
nature:Optional[str] = None | |
#nature: NatureJugement = None | |
date: Optional[str] = None | |
complementJugement: Optional[str] = None | |
class Annonce(BaseModel): | |
#uuid: UUID4 | |
publicationavis: Optional[str] | |
publicationavis_facette: Optional[str] | |
parution: Optional[int] | |
dateparution: Optional[str] | |
numeroannonce: int | |
typeavis: Optional[str] | |
typeavis_lib: Optional[str] | |
familleavis: Optional[str] | |
familleavis_lib: Optional[str] | |
numerodepartement: Optional[str] | |
departement_nom_officiel: Optional[str] | |
region_code: int | |
region_nom_officiel: Optional[str] | |
tribunal: Optional[str] | |
commercant: Optional[str] | |
ville: Optional[str] | |
registre: Optional[List[str]] # Rendre le champ optionnel | |
cp: Optional[str] | |
pdf_parution_subfolder: int | |
ispdf_unitaire: str | |
listepersonnes: Optional[List[Personne]] # Liste d'instances de Personne | |
listeetablissements: Optional[None] | |
jugement: Optional[Jugement] # JSON string or None | |
acte: Optional[None] | |
modificationsgenerales: Optional[None] | |
radiationaurcs: Optional[None] | |
depot: Optional[None] | |
listeprecedentexploitant: Optional[None] | |
listeprecedentproprietaire: Optional[None] | |
divers: Optional[None] | |
parutionavisprecedent: Optional[None] | |