Spaces:
Running
Running
File size: 6,223 Bytes
b4c2b4c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
#!/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
@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'
@unique
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
@staticmethod
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]
|