data-inclusion-schema 0.20.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data_inclusion/schema/__init__.py +47 -0
- data_inclusion/schema/__main__.py +71 -0
- data_inclusion/schema/base.py +77 -0
- data_inclusion/schema/common.py +41 -0
- data_inclusion/schema/frais.py +32 -0
- data_inclusion/schema/labels_nationaux.py +429 -0
- data_inclusion/schema/modes_accueil.py +14 -0
- data_inclusion/schema/modes_orientation.py +67 -0
- data_inclusion/schema/profils.py +154 -0
- data_inclusion/schema/score_qualite.py +172 -0
- data_inclusion/schema/services.py +84 -0
- data_inclusion/schema/structures.py +42 -0
- data_inclusion/schema/thematiques.py +782 -0
- data_inclusion/schema/typologies_de_services.py +66 -0
- data_inclusion/schema/typologies_de_structures.py +468 -0
- data_inclusion/schema/zones_de_diffusion.py +29 -0
- data_inclusion_schema-0.20.0.dist-info/METADATA +54 -0
- data_inclusion_schema-0.20.0.dist-info/RECORD +20 -0
- data_inclusion_schema-0.20.0.dist-info/WHEEL +5 -0
- data_inclusion_schema-0.20.0.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from data_inclusion.schema.common import (
|
|
2
|
+
CodeCommune,
|
|
3
|
+
CodeDepartement,
|
|
4
|
+
CodeEPCI,
|
|
5
|
+
CodePostal,
|
|
6
|
+
CodeRegion,
|
|
7
|
+
CodeRna,
|
|
8
|
+
CodeSiren,
|
|
9
|
+
CodeSiret,
|
|
10
|
+
)
|
|
11
|
+
from data_inclusion.schema.frais import Frais
|
|
12
|
+
from data_inclusion.schema.labels_nationaux import LabelNational
|
|
13
|
+
from data_inclusion.schema.modes_accueil import ModeAccueil
|
|
14
|
+
from data_inclusion.schema.modes_orientation import (
|
|
15
|
+
ModeOrientationAccompagnateur,
|
|
16
|
+
ModeOrientationBeneficiaire,
|
|
17
|
+
)
|
|
18
|
+
from data_inclusion.schema.profils import Profil
|
|
19
|
+
from data_inclusion.schema.services import Service
|
|
20
|
+
from data_inclusion.schema.structures import Structure
|
|
21
|
+
from data_inclusion.schema.thematiques import Thematique
|
|
22
|
+
from data_inclusion.schema.typologies_de_services import TypologieService
|
|
23
|
+
from data_inclusion.schema.typologies_de_structures import Typologie
|
|
24
|
+
from data_inclusion.schema.zones_de_diffusion import ZoneDiffusionType
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
"CodeCommune",
|
|
28
|
+
"CodeDepartement",
|
|
29
|
+
"CodeEPCI",
|
|
30
|
+
"CodePostal",
|
|
31
|
+
"CodeRegion",
|
|
32
|
+
"CodeRna",
|
|
33
|
+
"CodeSiren",
|
|
34
|
+
"CodeSiret",
|
|
35
|
+
"Frais",
|
|
36
|
+
"LabelNational",
|
|
37
|
+
"ModeAccueil",
|
|
38
|
+
"ModeOrientationAccompagnateur",
|
|
39
|
+
"ModeOrientationBeneficiaire",
|
|
40
|
+
"Profil",
|
|
41
|
+
"Service",
|
|
42
|
+
"Structure",
|
|
43
|
+
"Thematique",
|
|
44
|
+
"TypologieService",
|
|
45
|
+
"Typologie",
|
|
46
|
+
"ZoneDiffusionType",
|
|
47
|
+
]
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import pathlib
|
|
3
|
+
|
|
4
|
+
from data_inclusion.schema import (
|
|
5
|
+
Frais,
|
|
6
|
+
LabelNational,
|
|
7
|
+
ModeAccueil,
|
|
8
|
+
ModeOrientationAccompagnateur,
|
|
9
|
+
ModeOrientationBeneficiaire,
|
|
10
|
+
Profil,
|
|
11
|
+
Service,
|
|
12
|
+
Structure,
|
|
13
|
+
Thematique,
|
|
14
|
+
Typologie,
|
|
15
|
+
TypologieService,
|
|
16
|
+
ZoneDiffusionType,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def json_dump(obj, file):
|
|
21
|
+
json.dump(
|
|
22
|
+
obj,
|
|
23
|
+
file,
|
|
24
|
+
indent=2,
|
|
25
|
+
ensure_ascii=False,
|
|
26
|
+
sort_keys=True,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def main():
|
|
31
|
+
output_dir = pathlib.Path() / "schemas"
|
|
32
|
+
output_dir.mkdir(exist_ok=True)
|
|
33
|
+
|
|
34
|
+
for model in [Structure, Service]:
|
|
35
|
+
with (output_dir / f"{model.__name__.lower()}.json").open("w") as file:
|
|
36
|
+
json.dump(
|
|
37
|
+
model.model_json_schema(),
|
|
38
|
+
file,
|
|
39
|
+
indent=2,
|
|
40
|
+
ensure_ascii=False,
|
|
41
|
+
sort_keys=True,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# fichiers supplémentaires documentant les énumérations
|
|
45
|
+
|
|
46
|
+
(output_dir / "extra").mkdir(exist_ok=True)
|
|
47
|
+
|
|
48
|
+
enum_x_file_tuples_list = [
|
|
49
|
+
("frais.json", Frais),
|
|
50
|
+
("labels-nationaux.json", LabelNational),
|
|
51
|
+
("modes-accueil.json", ModeAccueil),
|
|
52
|
+
("modes-orientation-accompagnateur.json", ModeOrientationAccompagnateur),
|
|
53
|
+
("modes-orientation-beneficiaire.json", ModeOrientationBeneficiaire),
|
|
54
|
+
("profils.json", Profil),
|
|
55
|
+
("thematiques.json", Thematique),
|
|
56
|
+
("typologies-de-services.json", TypologieService),
|
|
57
|
+
("typologies-de-structures.json", Typologie),
|
|
58
|
+
("zones-de-diffusion-types.json", ZoneDiffusionType),
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
for filename, enum in enum_x_file_tuples_list:
|
|
62
|
+
with (output_dir / "extra" / filename).open("w") as file:
|
|
63
|
+
json_dump(enum.as_dict_list(), file)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
"""
|
|
68
|
+
Usage:
|
|
69
|
+
$ python -m data_inclusion.schema
|
|
70
|
+
"""
|
|
71
|
+
main()
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import enum
|
|
2
|
+
import textwrap
|
|
3
|
+
|
|
4
|
+
import pydantic
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def Field(*args, **kwargs):
|
|
8
|
+
if "description" in kwargs:
|
|
9
|
+
kwargs["description"] = (
|
|
10
|
+
textwrap.dedent(kwargs["description"].strip("\n"))
|
|
11
|
+
.replace("\n", " ")
|
|
12
|
+
.strip()
|
|
13
|
+
)
|
|
14
|
+
return pydantic.Field(*args, **kwargs)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class BaseModel(pydantic.BaseModel):
|
|
18
|
+
@classmethod
|
|
19
|
+
def model_list_json_schema(
|
|
20
|
+
cls,
|
|
21
|
+
title: str,
|
|
22
|
+
id: str,
|
|
23
|
+
description: str,
|
|
24
|
+
) -> dict:
|
|
25
|
+
adapter = pydantic.TypeAdapter(list[cls])
|
|
26
|
+
schema = adapter.json_schema()
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
"title": title,
|
|
30
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
31
|
+
"$id": id,
|
|
32
|
+
"description": description,
|
|
33
|
+
**schema,
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class EnhancedEnum(str, enum.Enum):
|
|
38
|
+
def __new__(cls, value, label, description):
|
|
39
|
+
obj = str.__new__(cls, value)
|
|
40
|
+
obj._value_ = value
|
|
41
|
+
obj._label = label
|
|
42
|
+
obj._description = (
|
|
43
|
+
textwrap.dedent(description).strip("\n").replace("\n", " ")
|
|
44
|
+
if description
|
|
45
|
+
else None
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
try:
|
|
49
|
+
if obj._description is not None:
|
|
50
|
+
if not obj._description[0].isupper():
|
|
51
|
+
raise ValueError("description must start with uppercase letter")
|
|
52
|
+
except ValueError as err:
|
|
53
|
+
raise ValueError(f"{cls.__name__}({value})'s {err}")
|
|
54
|
+
|
|
55
|
+
return obj
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def as_dict_list(cls) -> list[dict]:
|
|
59
|
+
return sorted(
|
|
60
|
+
[
|
|
61
|
+
{
|
|
62
|
+
"value": instance.value,
|
|
63
|
+
"label": instance.label,
|
|
64
|
+
"description": instance.description,
|
|
65
|
+
}
|
|
66
|
+
for instance in cls
|
|
67
|
+
],
|
|
68
|
+
key=lambda d: d["value"],
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def label(self) -> str:
|
|
73
|
+
return self._label
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def description(self) -> str:
|
|
77
|
+
return self._description
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from typing import TypeAlias
|
|
2
|
+
|
|
3
|
+
from pydantic import StringConstraints
|
|
4
|
+
from typing_extensions import Annotated
|
|
5
|
+
|
|
6
|
+
CodePostal: TypeAlias = Annotated[
|
|
7
|
+
str,
|
|
8
|
+
StringConstraints(min_length=5, max_length=5, pattern=r"^\d{5}$"),
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
CodeRna: TypeAlias = Annotated[
|
|
12
|
+
str,
|
|
13
|
+
StringConstraints(min_length=10, max_length=10, pattern=r"^W\d{9}$"),
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
CodeSiren: TypeAlias = Annotated[
|
|
17
|
+
str,
|
|
18
|
+
StringConstraints(min_length=9, max_length=9, pattern=r"^\d{9}$"),
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
CodeSiret: TypeAlias = Annotated[
|
|
22
|
+
str,
|
|
23
|
+
StringConstraints(min_length=14, max_length=14, pattern=r"^\d{14}$"),
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
CodeCommune: TypeAlias = Annotated[
|
|
27
|
+
str,
|
|
28
|
+
StringConstraints(min_length=5, max_length=5, pattern=r"^\w{5}$"),
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
CodeEPCI: TypeAlias = CodeSiren
|
|
32
|
+
|
|
33
|
+
CodeDepartement: TypeAlias = Annotated[
|
|
34
|
+
str,
|
|
35
|
+
StringConstraints(min_length=2, max_length=3, pattern=r"^\w{2,3}$"),
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
CodeRegion: TypeAlias = Annotated[
|
|
39
|
+
str,
|
|
40
|
+
StringConstraints(min_length=2, max_length=2, pattern=r"^\d{2}$"),
|
|
41
|
+
]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from data_inclusion.schema.base import EnhancedEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Frais(EnhancedEnum):
|
|
5
|
+
GRATUIT = (
|
|
6
|
+
"gratuit",
|
|
7
|
+
"Gratuit",
|
|
8
|
+
"Je peux accéder gratuitement au lieu et à ses services",
|
|
9
|
+
)
|
|
10
|
+
GRATUIT_SOUS_CONDITIONS = (
|
|
11
|
+
"gratuit-sous-conditions",
|
|
12
|
+
"Gratuit sous conditions",
|
|
13
|
+
"""
|
|
14
|
+
La gratuité est conditionnée à des critères (situation familiale,
|
|
15
|
+
convention avec un organisme social…)
|
|
16
|
+
""",
|
|
17
|
+
)
|
|
18
|
+
PAYANT = (
|
|
19
|
+
"payant",
|
|
20
|
+
"Payant",
|
|
21
|
+
"L’accès au lieu et/ou à ses services est payant",
|
|
22
|
+
)
|
|
23
|
+
ADHESION = (
|
|
24
|
+
"adhesion",
|
|
25
|
+
"Adhésion",
|
|
26
|
+
"L’accès au lieu et/ou à ses services nécessite d’y adhérer",
|
|
27
|
+
)
|
|
28
|
+
PASS_NUMERIQUE = (
|
|
29
|
+
"pass-numerique",
|
|
30
|
+
"Accepte le pass numérique",
|
|
31
|
+
"Il est possible d’utiliser un Pass numérique pour accéder au lieu",
|
|
32
|
+
)
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
from data_inclusion.schema.base import EnhancedEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class LabelNational(EnhancedEnum):
|
|
5
|
+
SOIXANTE_MILLE_REBONDS = (
|
|
6
|
+
"60000-rebonds",
|
|
7
|
+
"60 000 rebonds",
|
|
8
|
+
None,
|
|
9
|
+
)
|
|
10
|
+
ACTION_LOGEMENT = (
|
|
11
|
+
"action-logement",
|
|
12
|
+
"Action logement",
|
|
13
|
+
None,
|
|
14
|
+
)
|
|
15
|
+
ADIE = (
|
|
16
|
+
"adie",
|
|
17
|
+
"Adie",
|
|
18
|
+
None,
|
|
19
|
+
)
|
|
20
|
+
AFPA = (
|
|
21
|
+
"afpa",
|
|
22
|
+
"AFPA",
|
|
23
|
+
None,
|
|
24
|
+
)
|
|
25
|
+
AGEFIPH = (
|
|
26
|
+
"agefiph",
|
|
27
|
+
"AGEFIPH",
|
|
28
|
+
None,
|
|
29
|
+
)
|
|
30
|
+
AIDANTS_CONNECT = (
|
|
31
|
+
"aidants-connect",
|
|
32
|
+
"Aidants Connect",
|
|
33
|
+
None,
|
|
34
|
+
)
|
|
35
|
+
ALLIANCE_VILLES_EMPLOI = (
|
|
36
|
+
"alliance-villes-emploi",
|
|
37
|
+
"Alliance villes emploi",
|
|
38
|
+
None,
|
|
39
|
+
)
|
|
40
|
+
ANLCI = (
|
|
41
|
+
"anlci",
|
|
42
|
+
"ANLCI",
|
|
43
|
+
None,
|
|
44
|
+
)
|
|
45
|
+
APEC = (
|
|
46
|
+
"apec",
|
|
47
|
+
"APEC",
|
|
48
|
+
None,
|
|
49
|
+
)
|
|
50
|
+
APELS = (
|
|
51
|
+
"apels",
|
|
52
|
+
"APELS Agence Pour l’Education par Le Sport",
|
|
53
|
+
None,
|
|
54
|
+
)
|
|
55
|
+
APPRENTIS_DAUTEUIL = (
|
|
56
|
+
"apprentis-dauteuil",
|
|
57
|
+
"Apprentis d’Auteuil",
|
|
58
|
+
None,
|
|
59
|
+
)
|
|
60
|
+
APTIC = (
|
|
61
|
+
"aptic",
|
|
62
|
+
"APTIC",
|
|
63
|
+
None,
|
|
64
|
+
)
|
|
65
|
+
BANQUES_ALIMENTAIRES = (
|
|
66
|
+
"banques-alimentaires",
|
|
67
|
+
"Banques alimentaires",
|
|
68
|
+
None,
|
|
69
|
+
)
|
|
70
|
+
BGE = (
|
|
71
|
+
"bge",
|
|
72
|
+
"BGE",
|
|
73
|
+
None,
|
|
74
|
+
)
|
|
75
|
+
CAF = (
|
|
76
|
+
"caf",
|
|
77
|
+
"CAF",
|
|
78
|
+
None,
|
|
79
|
+
)
|
|
80
|
+
CAMPUS_CONNECTE = (
|
|
81
|
+
"campus-connecte",
|
|
82
|
+
"Campus connecté",
|
|
83
|
+
None,
|
|
84
|
+
)
|
|
85
|
+
CCI = (
|
|
86
|
+
"cci",
|
|
87
|
+
"CCI",
|
|
88
|
+
None,
|
|
89
|
+
)
|
|
90
|
+
CHANTIER_ECOLE = (
|
|
91
|
+
"chantier-ecole",
|
|
92
|
+
"Chantier école",
|
|
93
|
+
None,
|
|
94
|
+
)
|
|
95
|
+
CAP_EMPLOI_RESEAU_CHEOPS = (
|
|
96
|
+
"cap-emploi-reseau-cheops",
|
|
97
|
+
"CAP Emploi - Réseau CHEOPS",
|
|
98
|
+
None,
|
|
99
|
+
)
|
|
100
|
+
CIDFF = (
|
|
101
|
+
"cidff",
|
|
102
|
+
"CIDFF",
|
|
103
|
+
None,
|
|
104
|
+
)
|
|
105
|
+
CNAM = (
|
|
106
|
+
"cnam",
|
|
107
|
+
"CNAM",
|
|
108
|
+
None,
|
|
109
|
+
)
|
|
110
|
+
COLLECTIF_EMPLOI = (
|
|
111
|
+
"collectif-emploi",
|
|
112
|
+
"Collectif emploi",
|
|
113
|
+
None,
|
|
114
|
+
)
|
|
115
|
+
CONSEILLER_NUMERIQUE = (
|
|
116
|
+
"conseiller-numerique",
|
|
117
|
+
"Conseiller numérique",
|
|
118
|
+
None,
|
|
119
|
+
)
|
|
120
|
+
COORACE = (
|
|
121
|
+
"coorace",
|
|
122
|
+
"Coorace",
|
|
123
|
+
None,
|
|
124
|
+
)
|
|
125
|
+
CREPI = (
|
|
126
|
+
"crepi",
|
|
127
|
+
"CREPI",
|
|
128
|
+
None,
|
|
129
|
+
)
|
|
130
|
+
CRESUS = (
|
|
131
|
+
"cresus",
|
|
132
|
+
"Crésus",
|
|
133
|
+
None,
|
|
134
|
+
)
|
|
135
|
+
CROIX_ROUGE = (
|
|
136
|
+
"croix-rouge",
|
|
137
|
+
"Croix rouge",
|
|
138
|
+
None,
|
|
139
|
+
)
|
|
140
|
+
DIHAL = (
|
|
141
|
+
"dihal",
|
|
142
|
+
"DIHAL",
|
|
143
|
+
None,
|
|
144
|
+
)
|
|
145
|
+
DUO_FOR_A_JOB = (
|
|
146
|
+
"duo-for-a-job",
|
|
147
|
+
"Duo for a job",
|
|
148
|
+
None,
|
|
149
|
+
)
|
|
150
|
+
ECOLES_DE_LA_DEUXIEME_CHANCE = (
|
|
151
|
+
"ecoles-de-la-deuxieme-chance",
|
|
152
|
+
"E2C - École de la 2e chance",
|
|
153
|
+
None,
|
|
154
|
+
)
|
|
155
|
+
EGEE = (
|
|
156
|
+
"egee",
|
|
157
|
+
"EGEE",
|
|
158
|
+
None,
|
|
159
|
+
)
|
|
160
|
+
EMMAUS = (
|
|
161
|
+
"emmaus",
|
|
162
|
+
"Emmaus",
|
|
163
|
+
None,
|
|
164
|
+
)
|
|
165
|
+
ENVIE = (
|
|
166
|
+
"envie",
|
|
167
|
+
"Envie",
|
|
168
|
+
None,
|
|
169
|
+
)
|
|
170
|
+
EPIDE = (
|
|
171
|
+
"epide",
|
|
172
|
+
"EPIDE",
|
|
173
|
+
None,
|
|
174
|
+
)
|
|
175
|
+
ESPACE_EMPLOI_AGRIC_ARRCO = (
|
|
176
|
+
"espace-emploi-agric-arrco",
|
|
177
|
+
"Espace Emploi Agirc Arrco",
|
|
178
|
+
None,
|
|
179
|
+
)
|
|
180
|
+
ETCLD = (
|
|
181
|
+
"etcld",
|
|
182
|
+
"Expérimentation territoriale contre le chômage de longue durée",
|
|
183
|
+
None,
|
|
184
|
+
)
|
|
185
|
+
FABRIQUE_DE_TERRITOIRE = (
|
|
186
|
+
"fabrique-de-territoire",
|
|
187
|
+
"Fabrique de Territoire",
|
|
188
|
+
None,
|
|
189
|
+
)
|
|
190
|
+
FACE = (
|
|
191
|
+
"face",
|
|
192
|
+
"Fondation FACE",
|
|
193
|
+
None,
|
|
194
|
+
)
|
|
195
|
+
FEDE_PRO_FEM = (
|
|
196
|
+
"fede-pro-fem",
|
|
197
|
+
"Federation Professionnelle Pour les Femmes",
|
|
198
|
+
None,
|
|
199
|
+
)
|
|
200
|
+
FEDERATION_DES_ACTEURS_DE_LA_SOLIDARITE = (
|
|
201
|
+
"federation-des-acteurs-de-la-solidarite",
|
|
202
|
+
"Fédération des acteurs de la solidarité",
|
|
203
|
+
None,
|
|
204
|
+
)
|
|
205
|
+
FEDERATION_DES_ENTREPRISES_DINSERTION = (
|
|
206
|
+
"federation-des-entreprises-dinsertion",
|
|
207
|
+
"Fédération des entreprises d’insertion",
|
|
208
|
+
None,
|
|
209
|
+
)
|
|
210
|
+
FORCE_FEMMES = (
|
|
211
|
+
"force-femmes",
|
|
212
|
+
"Force Femmes",
|
|
213
|
+
None,
|
|
214
|
+
)
|
|
215
|
+
FRANCE_ACTIVE = (
|
|
216
|
+
"france-active",
|
|
217
|
+
"France Active",
|
|
218
|
+
None,
|
|
219
|
+
)
|
|
220
|
+
FRANCE_SERVICE = (
|
|
221
|
+
"france-service",
|
|
222
|
+
"France service",
|
|
223
|
+
None,
|
|
224
|
+
)
|
|
225
|
+
FRANCE_TRAVAIL = (
|
|
226
|
+
"france-travail",
|
|
227
|
+
"France Travail",
|
|
228
|
+
None,
|
|
229
|
+
)
|
|
230
|
+
FRENCH_TECH = (
|
|
231
|
+
"french-tech",
|
|
232
|
+
"French Tech",
|
|
233
|
+
None,
|
|
234
|
+
)
|
|
235
|
+
GEIQ = (
|
|
236
|
+
"geiq",
|
|
237
|
+
"GEIQ",
|
|
238
|
+
None,
|
|
239
|
+
)
|
|
240
|
+
GRANDES_ECOLES_DU_NUMERIQUE = (
|
|
241
|
+
"grandes-ecoles-du-numerique",
|
|
242
|
+
"Grand Test Couveuse d’entreprise",
|
|
243
|
+
None,
|
|
244
|
+
)
|
|
245
|
+
GRAND_TEST_COUVEUSE_DENTREPRISE = (
|
|
246
|
+
"grand-test-couveuse-dentreprise",
|
|
247
|
+
"Grandes écoles du numérique",
|
|
248
|
+
None,
|
|
249
|
+
)
|
|
250
|
+
HUP = (
|
|
251
|
+
"hup",
|
|
252
|
+
"H’UP",
|
|
253
|
+
None,
|
|
254
|
+
)
|
|
255
|
+
INAE = (
|
|
256
|
+
"inae",
|
|
257
|
+
"INAE",
|
|
258
|
+
None,
|
|
259
|
+
)
|
|
260
|
+
INITIATIVE_FRANCE = (
|
|
261
|
+
"initiative-france",
|
|
262
|
+
"Initiative France",
|
|
263
|
+
None,
|
|
264
|
+
)
|
|
265
|
+
KONEXIO = (
|
|
266
|
+
"konexio",
|
|
267
|
+
"Konexio",
|
|
268
|
+
None,
|
|
269
|
+
)
|
|
270
|
+
LA_CRAVATE_SOLIDAIRE = (
|
|
271
|
+
"la-cravate-solidaire",
|
|
272
|
+
"La Cravate Solidaire",
|
|
273
|
+
None,
|
|
274
|
+
)
|
|
275
|
+
LA_RESSOURCERIE = (
|
|
276
|
+
"la-ressourcerie",
|
|
277
|
+
"La ressourcerie",
|
|
278
|
+
None,
|
|
279
|
+
)
|
|
280
|
+
LES_PREMIERES = (
|
|
281
|
+
"les-premieres",
|
|
282
|
+
"Les Premières",
|
|
283
|
+
None,
|
|
284
|
+
)
|
|
285
|
+
LINKLUSION = (
|
|
286
|
+
"linklusion",
|
|
287
|
+
"Linklusion",
|
|
288
|
+
None,
|
|
289
|
+
)
|
|
290
|
+
MAISONS_DE_LEMPLOI = (
|
|
291
|
+
"maisons-de-lemploi",
|
|
292
|
+
"Maisons de l’Emploi",
|
|
293
|
+
None,
|
|
294
|
+
)
|
|
295
|
+
MDPH = (
|
|
296
|
+
"mdph",
|
|
297
|
+
"MDPH",
|
|
298
|
+
None,
|
|
299
|
+
)
|
|
300
|
+
MISSION_LOCALE = (
|
|
301
|
+
"mission-locale",
|
|
302
|
+
"Mission Locale",
|
|
303
|
+
None,
|
|
304
|
+
)
|
|
305
|
+
MOBIN = (
|
|
306
|
+
"mobin",
|
|
307
|
+
"Adhérent au Réseau Mob’In",
|
|
308
|
+
None,
|
|
309
|
+
)
|
|
310
|
+
NQT = (
|
|
311
|
+
"nqt",
|
|
312
|
+
"NQT",
|
|
313
|
+
None,
|
|
314
|
+
)
|
|
315
|
+
POINT_CONSEIL_BUDGET = (
|
|
316
|
+
"point-conseil-budget",
|
|
317
|
+
"Point conseil budget",
|
|
318
|
+
None,
|
|
319
|
+
)
|
|
320
|
+
POINT_JUSTICE = (
|
|
321
|
+
"point-justice",
|
|
322
|
+
"Points Justice",
|
|
323
|
+
None,
|
|
324
|
+
)
|
|
325
|
+
POSITIVE_PLANET = (
|
|
326
|
+
"positive-planet",
|
|
327
|
+
"Positive Planet",
|
|
328
|
+
None,
|
|
329
|
+
)
|
|
330
|
+
PROXITE = (
|
|
331
|
+
"proxite",
|
|
332
|
+
"Proxité",
|
|
333
|
+
None,
|
|
334
|
+
)
|
|
335
|
+
RESEAU_APP = (
|
|
336
|
+
"reseau-app",
|
|
337
|
+
"Réseau APP",
|
|
338
|
+
None,
|
|
339
|
+
)
|
|
340
|
+
RESEAU_ENTREPRENDRE = (
|
|
341
|
+
"reseau-entreprendre",
|
|
342
|
+
"Réseau Entreprendre",
|
|
343
|
+
None,
|
|
344
|
+
)
|
|
345
|
+
RESSOURCERIES = (
|
|
346
|
+
"ressourceries",
|
|
347
|
+
"Ressourceries",
|
|
348
|
+
None,
|
|
349
|
+
)
|
|
350
|
+
RESTOS_DU_COEUR = (
|
|
351
|
+
"restos-du-coeur",
|
|
352
|
+
"Restos du coeur",
|
|
353
|
+
None,
|
|
354
|
+
)
|
|
355
|
+
SCCONSEIL = (
|
|
356
|
+
"scconseil",
|
|
357
|
+
"SC Conseil",
|
|
358
|
+
None,
|
|
359
|
+
)
|
|
360
|
+
SECOURS_POPULAIRE = (
|
|
361
|
+
"secours-populaire",
|
|
362
|
+
"Secours populaire",
|
|
363
|
+
None,
|
|
364
|
+
)
|
|
365
|
+
SIAO = (
|
|
366
|
+
"siao",
|
|
367
|
+
"SIAO",
|
|
368
|
+
None,
|
|
369
|
+
)
|
|
370
|
+
SIMPLON = (
|
|
371
|
+
"simplon",
|
|
372
|
+
"Simplon",
|
|
373
|
+
None,
|
|
374
|
+
)
|
|
375
|
+
SINCA = (
|
|
376
|
+
"sinca",
|
|
377
|
+
"SINGA",
|
|
378
|
+
None,
|
|
379
|
+
)
|
|
380
|
+
SNC = (
|
|
381
|
+
"snc",
|
|
382
|
+
"SNC - Solidarité Nouvelle Face au Chômage",
|
|
383
|
+
None,
|
|
384
|
+
)
|
|
385
|
+
SPORT_DANS_LA_VILLE = (
|
|
386
|
+
"sport-dans-la-ville",
|
|
387
|
+
"Sport Dans La Ville",
|
|
388
|
+
None,
|
|
389
|
+
)
|
|
390
|
+
TOUS_TES_POSSIBLE = (
|
|
391
|
+
"tous-tes-possible",
|
|
392
|
+
"Tous Tes Possibles",
|
|
393
|
+
None,
|
|
394
|
+
)
|
|
395
|
+
TZCLD = (
|
|
396
|
+
"tzcld",
|
|
397
|
+
"TZCLD - Territoire Zero Chomeur Longue Durée",
|
|
398
|
+
None,
|
|
399
|
+
)
|
|
400
|
+
UNAF = (
|
|
401
|
+
"unaf",
|
|
402
|
+
"Union nationale de l’aide aux familles",
|
|
403
|
+
None,
|
|
404
|
+
)
|
|
405
|
+
UNAI = (
|
|
406
|
+
"unai",
|
|
407
|
+
"UNAI",
|
|
408
|
+
None,
|
|
409
|
+
)
|
|
410
|
+
UNCCAS = (
|
|
411
|
+
"unccas",
|
|
412
|
+
"Union nationale des centres communaux d’action sociale",
|
|
413
|
+
None,
|
|
414
|
+
)
|
|
415
|
+
UNEA = (
|
|
416
|
+
"unea",
|
|
417
|
+
"UNEA",
|
|
418
|
+
None,
|
|
419
|
+
)
|
|
420
|
+
UNIS_CITE = (
|
|
421
|
+
"unis-cite",
|
|
422
|
+
"Unis-Cité",
|
|
423
|
+
None,
|
|
424
|
+
)
|
|
425
|
+
WIMOOV = (
|
|
426
|
+
"wimoov",
|
|
427
|
+
"Wimoov",
|
|
428
|
+
None,
|
|
429
|
+
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from data_inclusion.schema.base import EnhancedEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ModeAccueil(EnhancedEnum):
|
|
5
|
+
A_DISTANCE = (
|
|
6
|
+
"a-distance",
|
|
7
|
+
"À distance",
|
|
8
|
+
"Le service est proposé à distance, par téléphone ou internet.",
|
|
9
|
+
)
|
|
10
|
+
EN_PRESENTIEL = (
|
|
11
|
+
"en-presentiel",
|
|
12
|
+
"En présentiel",
|
|
13
|
+
"Le service est proposé en présentiel, à l'adresse associée à ce service.",
|
|
14
|
+
)
|