aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas "Cakeisalie5" Touhey <thomas@touhey.fr>2018-10-04 21:53:51 +0200
committerThomas "Cakeisalie5" Touhey <thomas@touhey.fr>2018-10-04 21:53:51 +0200
commit729800755e4f341b57026e4531f64e72448db4c2 (patch)
treedddef17087a008e63f93664a8d7cea04de0a80e2
parentea182c4cba8b3b0127abdc4937be889bf7b121db (diff)
_funcdata is now the generated version!
-rwxr-xr-xsgdfi/__main__.py7
-rw-r--r--sgdfi/_dbs/_funcdata.py911
-rwxr-xr-xsgdfi/_dbs/_funcs.py23
-rwxr-xr-xsgdfi/_manager.py86
4 files changed, 733 insertions, 294 deletions
diff --git a/sgdfi/__main__.py b/sgdfi/__main__.py
index f5ccfde..39ef0d1 100755
--- a/sgdfi/__main__.py
+++ b/sgdfi/__main__.py
@@ -50,6 +50,7 @@ def test_repr():
ad = _Adherent()
ad.iid = "yCbyTmNDHpp8CotDhWoEkQ=="
ad.function = _Function.CHEF_PIONNIER_CARAVELLE
+ print(ad)
op.related.add(ad)
@@ -67,7 +68,7 @@ def test_load():
from ._manager import Manager
man = Manager()
- ret = man.load("2018100313425000-structure_summary.html")
+ ret = man.load_dump("2018100414530000-functions.xml")
if type(ret) == list:
for e in ret:
@@ -85,10 +86,10 @@ def test_funcs():
s.export_functions(f)
if __name__ == '__main__':
- #test_repr()
+ test_repr()
#test_session()
#test_save()
#test_load()
- test_funcs()
+ #test_funcs()
# End of file.
diff --git a/sgdfi/_dbs/_funcdata.py b/sgdfi/_dbs/_funcdata.py
index b3e9fcc..fbc7bb0 100644
--- a/sgdfi/_dbs/_funcdata.py
+++ b/sgdfi/_dbs/_funcdata.py
@@ -1,355 +1,766 @@
#!/usr/bin/env python3
#******************************************************************************
-# Copyright (C) 2018 Thomas "Cakeisalie5" Touhey <thomas@touhey.fr>
+# Copyright (C) 2018 Thomas Touhey <thomas@touhey.fr>
# This file is part of the sgdfi project, which is MIT-licensed.
#******************************************************************************
-""" Functions generated data for SGDFi. """
+'Generated functions reference for `_funcs.py`.'
from enum import Enum as _Enum
+__all__ = ["Function", "FunctionData"]
+
+# This file was generated, do not edit it manually!
+
class Function(_Enum):
- """ Unknown function. """
+ "Unknown function."
UNKNOWN = 0
+ 'LOUVETEAU / JEANNETTE'
LOUVETEAU = 1
+ JEANNETTE = 1
+
+ 'MOUSSAILLON'
MOUSSAILLON = 2
+
+ 'SCOUT / GUIDE'
SCOUT = 3
+ GUIDE = 3
+
+ 'MOUSSE'
MOUSSE = 4
+
+ 'PIONNIER / CARAVELLE'
PIONNIER = 5
+ CARAVELLE = 5
+
+ 'MARIN / CARAVELLE MARINE'
MARIN = 6
+ CARAVELLE_MARINE = 6
+
+ 'COMPAGNON'
COMPAGNON = 7
+
+ 'COMPAGNON MARIN'
COMPAGNON_MARIN = 8
+
+ 'COMPAGNON 3EME TEMPS'
COMPAGNON_3EME_TEMPS = 9
- ECLAIREUR = 10
- FARFADET = 11
- MEMBRE_ASSOCIE_L = 12
- MEMBRE_ASSOCIE_N = 13
- MEMBRE_ASSOCIE_T = 14
- VENT_DU_LARGE = 15
- RESPONSABLE_D_UNITE_LOUVETEAU_JEANNETTE = 16
- RESPONSABLE_D_UNITE_MOUSSAILLON = 17
- CHEF_LOUVETEAU_JEANNETTE = 18
- CHEF_MOUSSAILLON = 19
- RESPONSABLE_D_UNITE_SCOUT_GUIDE = 20
- RESPONSABLE_D_UNITE_MOUSSE = 21
- CHEF_SCOUT_GUIDE = 22
- CHEF_MOUSSE = 23
- RESPONSABLE_D_UNITE_PIONNIER_CARAVELLE = 24
- RESPONSABLE_D_UNITE_FLOTILLE_CARAVELLE_MARINE = 25
- CHEF_PIONNIER_CARAVELLE = 26
- CHEF_FLOTILLE_CARAVELLE_MARINE = 27
- ACCOMPAGNATEUR_COMPAGNON = 28
- RESPONSABLE_FARFADET = 29
- PARENT_ANIMATEUR_FARFADET = 30
- RESPONSABLE_VENT_DU_LARGE = 31
- RESPONSABLE_DE_GROUPE = 32
- RESPONSABLE_DE_GROUPE_ADJOINT = 33
- AUMONIER_DE_GROUPE = 34
- SECRETAIRE_DE_GROUPE = 35
- TRESORIER_DE_GROUPE = 36
- ANIMATEUR_CLEOPHAS_L = 37
- CHARGE_DE_MISSION__DU_GROUPE = 38
- REFERENT_TECHNIQUE_MARIN = 39
- REPRESENTANT_ASSOCIATIF = 40
- OUVREUR_DE_GROUPE_L = 41
- DIRECTEUR_DE_CAMP = 42
- RESPONSABLE_LOCAL_DEVELOPPEMENT_ET_RESEAUX = 43
- FF_TRESORIER_DE_GROUPE = 44
- NOMINATION_DES_CHEFS_ET_EQUIPIERS_DE_GROUPE = 45
- FF_RESPONSABLE_DE_GROUPE = 46
- DELEGUE_TERRITORIAL = 47
- DELEGUE_TERRITORIAL_ADJOINT = 48
- AUMONIER_TERRITORIAL = 49
- RESPONSABLE_POLE_PEDAGOGIQUE = 50
- RESPONSABLE_POLE_DEVELOPPEMENT = 51
- RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER = 52
- FF_RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER = 53
- NOMINATION_DES_EQUIPIERS_TERRITORIAUX = 54
- FF_DELEGUE_TERRITORIAL = 55
- ACCOMPAGNATEUR_PEDAGOGIQUE = 56
- AUMONIER_DIOCESAIN = 57
- ACCOMPAGNATEUR_DES_RESPONSABLES_DE_GROUPE = 58
- ANIMATEUR_CLEOPHAS_T = 59
+
+ 'FARFADET'
+ FARFADET = 10
+
+ 'MEMBRE ASSOCIE / MEMBRE ASSOCIEE'
+ MEMBRE_ASSOCIE_L = 11
+ MEMBRE_ASSOCIEE_L = 11
+
+ 'MEMBRE ASSOCIE / MEMBRE ASSOCIEE'
+ MEMBRE_ASSOCIE_N = 12
+ MEMBRE_ASSOCIEE_N = 12
+
+ 'MEMBRE ASSOCIE / MEMBRE ASSOCIEE'
+ MEMBRE_ASSOCIE_T = 13
+ MEMBRE_ASSOCIEE_T = 13
+
+ 'VENT DU LARGE'
+ VENT_DU_LARGE = 14
+
+ "RESPONSABLE D'UNITE LOUVETEAU JEANNETTE"
+ RESPONSABLE_UNITE_LOUVETEAU_JEANNETTE = 15
+
+ "RESPONSABLE D'UNITE MOUSSAILLON"
+ RESPONSABLE_UNITE_MOUSSAILLON = 16
+
+ 'CHEF LOUVETEAU JEANNETTE / CHEFTAINE LOUVETEAU JEANNETTE'
+ CHEF_LOUVETEAU_JEANNETTE = 17
+ CHEFTAINE_LOUVETEAU_JEANNETTE = 17
+
+ 'CHEF MOUSSAILLON / CHEFTAINE MOUSSAILLON'
+ CHEF_MOUSSAILLON = 18
+ CHEFTAINE_MOUSSAILLON = 18
+
+ "RESPONSABLE D'UNITE SCOUT GUIDE"
+ RESPONSABLE_UNITE_SCOUT_GUIDE = 19
+
+ "RESPONSABLE D'UNITE MOUSSE"
+ RESPONSABLE_UNITE_MOUSSE = 20
+
+ 'CHEF SCOUT GUIDE / CHEFTAINE SCOUT GUIDE'
+ CHEF_SCOUT_GUIDE = 21
+ CHEFTAINE_SCOUT_GUIDE = 21
+
+ 'CHEF MOUSSE / CHEFTAINE MOUSSE'
+ CHEF_MOUSSE = 22
+ CHEFTAINE_MOUSSE = 22
+
+ "RESPONSABLE D'UNITE PIONNIER CARAVELLE"
+ RESPONSABLE_UNITE_PIONNIER_CARAVELLE = 23
+
+ "RESPONSABLE D'UNITE FLOTILLE - CARAVELLE MARINE"
+ RESPONSABLE_UNITE_FLOTILLE_CARAVELLE_MARINE = 24
+
+ 'CHEF PIONNIER CARAVELLE / CHEFTAINE PIONNIER CARAVELLE'
+ CHEF_PIONNIER_CARAVELLE = 25
+ CHEFTAINE_PIONNIER_CARAVELLE = 25
+
+ 'CHEF FLOTILLE - CARAVELLE MARINE / CHEFTAINE FLOTILLE - CARAVELLE MARINE'
+ CHEF_FLOTILLE_CARAVELLE_MARINE = 26
+ CHEFTAINE_FLOTILLE_CARAVELLE_MARINE = 26
+
+ 'ACCOMPAGNATEUR COMPAGNON / ACCOMPAGNATRICE COMPAGNON'
+ ACCOMPAGNATEUR_COMPAGNON = 27
+ ACCOMPAGNATRICE_COMPAGNON = 27
+
+ 'RESPONSABLE FARFADET'
+ RESPONSABLE_FARFADET = 28
+
+ 'PARENT ANIMATEUR FARFADET'
+ PARENT_ANIMATEUR_FARFADET = 29
+
+ 'RESPONSABLE VENT DU LARGE'
+ RESPONSABLE_VENT_DU_LARGE = 30
+
+ 'RESPONSABLE DE GROUPE'
+ RESPONSABLE_DE_GROUPE = 31
+
+ 'RESPONSABLE DE GROUPE ADJOINT / RESPONSABLE DE GROUPE ADJOINTE'
+ RESPONSABLE_DE_GROUPE_ADJOINT = 32
+ RESPONSABLE_DE_GROUPE_ADJOINTE = 32
+
+ 'AUMONIER DE GROUPE'
+ AUMONIER_DE_GROUPE = 33
+
+ 'SECRETAIRE DE GROUPE'
+ SECRETAIRE_DE_GROUPE = 34
+
+ 'TRESORIER DE GROUPE / TRESORIERE DE GROUPE'
+ TRESORIER_DE_GROUPE = 35
+ TRESORIERE_DE_GROUPE = 35
+
+ 'ANIMATEUR CLEOPHAS / ANIMATRICE CLEOPHAS'
+ ANIMATEUR_CLEOPHAS_L = 36
+ ANIMATRICE_CLEOPHAS_L = 36
+
+ 'CHARGE DE MISSION DU GROUPE / CHARGEE DE MISSION DU GROUPE'
+ CHARGE_DE_MISSION_DU_GROUPE = 37
+ CHARGEE_DE_MISSION_DU_GROUPE = 37
+
+ 'REFERENT TECHNIQUE MARIN / REFERENTE TECHNIQUE MARIN'
+ REFERENT_TECHNIQUE_MARIN = 38
+ REFERENTE_TECHNIQUE_MARIN = 38
+
+ 'REPRESENTANT ASSOCIATIF'
+ REPRESENTANT_ASSOCIATIF_L = 39
+
+ 'OUVREUR DE GROUPE'
+ OUVREUR_DE_GROUPE_L = 40
+
+ 'DIRECTEUR DE CAMP / DIRECTRICE DE CAMP'
+ DIRECTEUR_DE_CAMP = 41
+ DIRECTRICE_DE_CAMP = 41
+
+ 'RESPONSABLE LOCAL DEVELOPPEMENT ET RESEAUX'
+ RESPONSABLE_LOCAL_DEVELOPPEMENT_ET_RESEAUX = 42
+
+ 'FF TRESORIER DE GROUPE / FF TRESORIERE DE GROUPE'
+ FF_TRESORIER_DE_GROUPE = 43
+ FF_TRESORIERE_DE_GROUPE = 43
+
+ 'NOMINATION DES CHEFS ET EQUIPIERS DE GROUPE'
+ NOMINATION_DES_CHEFS_ET_EQUIPIERS_DE_GROUPE = 44
+
+ 'FF RESPONSABLE DE GROUPE'
+ FF_RESPONSABLE_DE_GROUPE = 45
+
+ 'DELEGUE TERRITORIAL / DELEGUEE TERRITORIALE'
+ DELEGUE_TERRITORIAL = 46
+ DELEGUEE_TERRITORIALE = 46
+
+ 'DELEGUE TERRITORIAL ADJOINT / DELEGUEE TERRITORIALE ADJOINTE'
+ DELEGUE_TERRITORIAL_ADJOINT = 47
+ DELEGUEE_TERRITORIALE_ADJOINTE = 47
+
+ 'AUMONIER TERRITORIAL'
+ AUMONIER_TERRITORIAL = 48
+
+ 'RESPONSABLE POLE PEDAGOGIQUE'
+ RESPONSABLE_POLE_PEDAGOGIQUE = 49
+
+ 'RESPONSABLE POLE DEVELOPPEMENT'
+ RESPONSABLE_POLE_DEVELOPPEMENT = 50
+
+ 'RESPONSABLE POLE ADMINISTRATIF ET FINANCIER'
+ RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER = 51
+
+ 'FF RESPONSABLE POLE ADMINISTRATIF ET FINANCIER'
+ FF_RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER = 52
+
+ 'NOMINATION DES RG ET EQUIPIERS TERRITORIAUX / NOMINATION DES RG ET EQUIPIERS TERRITORIAUX'
+ NOMINATION_DES_RG_ET_EQUIPIERS_TERRITORIAUX = 53
+
+ 'FF DELEGUE TERRITORIAL / FF DELEGUEE TERRITORIALE'
+ FF_DELEGUE_TERRITORIAL = 54
+ FF_DELEGUEE_TERRITORIALE = 54
+
+ 'ACCOMPAGNATEUR PEDAGOGIQUE / ACCOMPAGNATRICE PEDAGOGIQUE'
+ ACCOMPAGNATEUR_PEDAGOGIQUE = 55
+ ACCOMPAGNATRICE_PEDAGOGIQUE = 55
+
+ 'AUMONIER DIOCESAIN'
+ AUMONIER_DIOCESAIN = 56
+
+ 'ACCOMPAGNATEUR DES RESPONSABLES DE GROUPE'
+ ACCOMPAGNATEUR_DES_RESPONSABLES_DE_GROUPE = 57
+
+ 'EQUIPIER TERRITORIAL / EQUIPIERE TERRITORIALE'
+ EQUIPIER_TERRITORIAL = 58
+ EQUIPIERE_TERRITORIALE = 58
+
+ 'ANIMATEUR CLEOPHAS / ANIMATRICE CLEOPHAS'
+ ANIMATEUR_CLEOPHAS_N = 59
+ ANIMATRICE_CLEOPHAS_N = 59
+
+ 'CHARGE MISSION DEVELOPPEMENT / CHARGEE MISSION DEVELOPPEMENT'
CHARGE_MISSION_DEVELOPPEMENT = 60
+ CHARGEE_MISSION_DEVELOPPEMENT = 60
+
+ 'COORDINATEUR DEVELOPPEMENT ET RESEAUX / COORDINATRICE DEVELOPPEMENT ET RESEAUX'
COORDINATEUR_DEVELOPPEMENT_ET_RESEAUX = 61
- OUVREUR_DE_GROUPE_T = 62
- RESPONSABLE_RECRUTEMENT = 63
- RESPONSABLE_PARTENARIATS_FINANCIERS = 64
- RESPONSABLE_COMMUNICATION = 65
- CORRESPONDANT_HANDICAP = 66
- RESPONSABLE_SCOUTISME_EN_QUARTIER = 67
- CHARGE_MISSION_TERRITORIAL = 68
- MEDIATEUR_T = 69
- REPRESENTANT_ASSOCIATIF_L = 70
- RESPONSABLE_BOUTIQUE_SGDF = 71
- DIRECTEUR_DE_CAMP_TERRITORIAL = 72
- TRESORIER_DE_BOUTIQUE = 73
- CHARGE_DE_MISSION_RASSEMBLEMENT = 74
- CHARGE_MISSION_ADMINISTRATIF = 75
- GESTIONNAIRE_MATERIEL_ET_LOGISTIQUE = 76
- TRESORIER_DE_BASE = 77
- EQUIPIER_DE_BASE = 78
- RESPONSABLE_DE_BASE = 79
- SECRETAIRE_TERRITORIAL = 80
- CHARGE_DE_MISSION_RW2016_T = 81
- TRESORIER_TERRITORIAL = 82
- FF_TRESORIER_TERRITORIAL = 83
- DIRECTEUR_DE_STAGE = 84
- DIRECTEUR_DE_CAMP_GROUPE = 85
- VOLONTAIRE_SERVICE_CIVIQUE = 86
- VOLONTAIRE_SERVICE_INTERNATIONAL = 87
- DELEGUE_GENERAL = 88
- DELEGUE_GENERAL_ADJOINT = 89
- AUMONIER_GENERAL = 90
- DELEGUE_NATIONAL = 91
+ COORDINATRICE_DEVELOPPEMENT_ET_RESEAUX = 61
+
+ 'OUVREUR DE GROUPE'
+ OUVREUR_DE_GROUPE_N = 62
+
+ 'RESPONSABLE PARTENARIATS FINANCIERS'
+ RESPONSABLE_PARTENARIATS_FINANCIERS = 63
+
+ 'RESPONSABLE COMMUNICATION'
+ RESPONSABLE_COMMUNICATION = 64
+
+ 'CORRESPONDANT HANDICAP'
+ CORRESPONDANT_HANDICAP = 65
+
+ 'RESPONSABLE SCOUTISME EN QUARTIER'
+ RESPONSABLE_SCOUTISME_EN_QUARTIER = 66
+
+ 'CHARGE MISSION TERRITORIAL / CHARGEE MISSION TERRITORIALE'
+ CHARGE_MISSION_TERRITORIAL = 67
+ CHARGEE_MISSION_TERRITORIALE = 67
+
+ 'MEDIATEUR / MEDIATRICE'
+ MEDIATEUR_N = 68
+ MEDIATRICE_N = 68
+
+ 'REPRESENTANT ASSOCIATIF / REPRESENTANTE ASSOCIATIF'
+ REPRESENTANT_ASSOCIATIF_N = 69
+ REPRESENTANTE_ASSOCIATIF_N = 69
+
+ 'RESPONSABLE BOUTIQUE SGDF'
+ RESPONSABLE_BOUTIQUE_SGDF = 70
+
+ 'DIRECTEUR DE CAMP TERRITORIAL / DIRECTRICE DE CAMP TERRITORIAL'
+ DIRECTEUR_DE_CAMP_TERRITORIAL = 71
+ DIRECTRICE_DE_CAMP_TERRITORIAL = 71
+
+ 'TRESORIER DE BOUTIQUE / TRESORIERE DE BOUTIQUE'
+ TRESORIER_DE_BOUTIQUE = 72
+ TRESORIERE_DE_BOUTIQUE = 72
+
+ 'CHARGE DE MISSION RASSEMBLEMENT'
+ CHARGE_DE_MISSION_RASSEMBLEMENT = 73
+
+ 'CHARGE MISSION ADMINISTRATIF / CHARGEE MISSION ADMINISTRATIF'
+ CHARGE_MISSION_ADMINISTRATIF = 74
+ CHARGEE_MISSION_ADMINISTRATIF = 74
+
+ 'GESTIONNAIRE MATERIEL ET LOGISTIQUE'
+ GESTIONNAIRE_MATERIEL_ET_LOGISTIQUE = 75
+
+ 'TRESORIER DE BASE / TRESORIERE DE BASE'
+ TRESORIER_DE_BASE = 76
+ TRESORIERE_DE_BASE = 76
+
+ 'EQUIPIER DE BASE / EQUIPIERE DE BASE'
+ EQUIPIER_DE_BASE = 77
+ EQUIPIERE_DE_BASE = 77
+
+ 'RESPONSABLE DE BASE'
+ RESPONSABLE_DE_BASE = 78
+
+ 'SECRETAIRE TERRITORIAL / SECRETAIRE TERRITORIALE'
+ SECRETAIRE_TERRITORIAL = 79
+ SECRETAIRE_TERRITORIALE = 79
+
+ 'CHARGE DE MISSION CONNECTE ! / CHARGEE DE MISSION CONNECTE !'
+ CHARGE_DE_MISSION_CONNECTE = 80
+ CHARGEE_DE_MISSION_CONNECTE = 80
+
+ 'TRESORIER TERRITORIAL / TRESORIERE TERRITORIALE'
+ TRESORIER_TERRITORIAL = 81
+ TRESORIERE_TERRITORIALE = 81
+
+ 'FF TRESORIER TERRITORIAL / FF TRESORIERE TERRITORIAL'
+ FF_TRESORIER_TERRITORIAL = 82
+ FF_TRESORIERE_TERRITORIAL = 82
+
+ 'DIRECTEUR DE STAGE / DIRECTRICE DE STAGE'
+ DIRECTEUR_DE_STAGE = 83
+ DIRECTRICE_DE_STAGE = 83
+
+ 'DIRECTEUR DE CAMP GROUPE / DIRECTRICE DE CAMP GROUPE'
+ DIRECTEUR_DE_CAMP_GROUPE = 84
+ DIRECTRICE_DE_CAMP_GROUPE = 84
+
+ 'VOLONTAIRE SERVICE CIVIQUE'
+ VOLONTAIRE_SERVICE_CIVIQUE = 85
+
+ 'VOLONTAIRE SERVICE INTERNATIONAL'
+ VOLONTAIRE_SERVICE_INTERNATIONAL = 86
+
+ 'DELEGUE GENERAL / DELEGUEE GENERALE'
+ DELEGUE_GENERAL = 87
+ DELEGUEE_GENERALE = 87
+
+ 'DELEGUE GENERAL ADJOINT / DELEGUEE GENERALE ADJOINTE'
+ DELEGUE_GENERAL_ADJOINT = 88
+ DELEGUEE_GENERALE_ADJOINTE = 88
+
+ 'AUMONIER GENERAL'
+ AUMONIER_GENERAL = 89
+
+ 'DELEGUE NATIONAL / DELEGUEE NATIONALE'
+ DELEGUE_NATIONAL = 90
+ DELEGUEE_NATIONALE = 90
+
+ 'AUMÔNIER GENERAL ADJOINT'
+ AUMNIER_GENERAL_ADJOINT = 91
+
+ 'RESPONSABLE NATIONAL / RESPONSABLE NATIONALE'
RESPONSABLE_NATIONAL = 92
+ RESPONSABLE_NATIONALE = 92
+
+ 'AUMONIER NATIONAL'
AUMONIER_NATIONAL = 93
+
+ 'EQUIPIER NATIONAL / EQUIPIERE NATIONALE'
EQUIPIER_NATIONAL = 94
+ EQUIPIERE_NATIONALE = 94
+
+ 'RESPONSABLE DE LA FORMATION CR'
RESPONSABLE_DE_LA_FORMATION_CR = 95
+
+ 'CHARGE MISSION / CHARGEE MISSION'
CHARGE_MISSION = 96
+ CHARGEE_MISSION = 96
+
+ 'CHARGE MISSION PAYS / CHARGEE MISSION PAYS'
CHARGE_MISSION_PAYS = 97
+ CHARGEE_MISSION_PAYS = 97
+
+ 'ADMINISTRATEUR / ADMINISTRATRICE'
ADMINISTRATEUR = 98
+ ADMINISTRATRICE = 98
+
+ 'MEMBRE D HONNEUR'
MEMBRE_D_HONNEUR = 99
- MEDIATEUR_N = 100
+
+ 'MEDIATEUR / MEDIATRICE'
+ MEDIATEUR_T = 100
+ MEDIATRICE_T = 100
+
+ 'REPRESENTANT ASSOCIATIF / REPRESENTANTE ASSOCIATIF'
REPRESENTANT_ASSOCIATIF_T = 101
+ REPRESENTANTE_ASSOCIATIF_T = 101
+
+ 'SALARIE / SALARIEE'
SALARIE = 102
+ SALARIEE = 102
+
+ 'SALARIE FORMATION / SALARIEE FORMATION'
SALARIE_FORMATION = 103
+ SALARIEE_FORMATION = 103
+
+ 'SALARIE SERVICE INTERNATIONAL / SALARIEE SERVICE INTERNATIONAL'
SALARIE_SERVICE_INTERNATIONAL = 104
+ SALARIEE_SERVICE_INTERNATIONAL = 104
+
+ 'CONSULTANT BATEAU / CONSULTANTE BATEAU'
CONSULTANT_BATEAU = 105
+ CONSULTANTE_BATEAU = 105
+
+ 'ASSISTANT DE SAISIE / ASSISTANTE DE SAISIE'
ASSISTANT_DE_SAISIE = 106
- CHARGE_DE_MISSION_RW2016_N = 107
- CHARGE_DE_MISSION_RASSEMBLEMENT_EN = 108
- ADMINISTRATEUR_MODULE_FORMATION = 109
- CONSULTANT_INTEGRATION = 110
- SALARIE_COMPTABILITE = 111
- SALARIE_ASSURANCE = 112
- ADMINISTRATEUR_ASSURANCE = 113
- SALARIE_CENTRE_DE_RESSOURCES = 114
- ADMINISTRATEUR_COMPTABILITE = 115
- DIRECTEUR_DE_CENTRE_DE_RESSOURCES = 116
- RESPONSABLE_ADMINISTRATIF_CR = 117
- ANIMATION_TERRITORIALE_ET_DEVELOPPEMENT = 118
- ADMINISTRATEUR_INTRANET = 119
- MONITORING_APPLICATIF = 120
+ ASSISTANTE_DE_SAISIE = 106
+
+ 'RESPONSABLE RASSEMBLEMENT'
+ RESPONSABLE_RASSEMBLEMENT = 107
+
+ 'CHARGE DE MISSION / CHARGEE DE MISSION'
+ CHARGE_DE_MISSION = 108
+ CHARGEE_DE_MISSION = 108
+
+ 'CHARGE DE MISSION RASSEMBLEMENT EN / CHARGEE DE MISSION RASSEMBLEMENT EN'
+ CHARGE_DE_MISSION_RASSEMBLEMENT_EN = 109
+ CHARGEE_DE_MISSION_RASSEMBLEMENT_EN = 109
+
+ 'ADMINISTRATEUR MODULE FORMATION / ADMINISTRATRICE MODULE FORMATION'
+ ADMINISTRATEUR_MODULE_FORMATION = 110
+ ADMINISTRATRICE_MODULE_FORMATION = 110
+
+ 'Consultant Intégration / Consultante Intégration'
+ CONSULTANT_INTEGRATION = 111
+ CONSULTANTE_INTEGRATION = 111
+
+ 'SALARIE COMPTABILITE / SALARIEE COMPTABILITE'
+ SALARIE_COMPTABILITE = 112
+ SALARIEE_COMPTABILITE = 112
+
+ 'SALARIE ASSURANCE / SALARIEE ASSURANCE'
+ SALARIE_ASSURANCE = 113
+ SALARIEE_ASSURANCE = 113
+
+ 'ADMINISTRATEUR ASSURANCE / ADMINISTRATRICE ASSURANCE'
+ ADMINISTRATEUR_ASSURANCE = 114
+ ADMINISTRATRICE_ASSURANCE = 114
+
+ 'SALARIE CENTRE DE RESSOURCES / SALARIEE CENTRE DE RESSOURCES'
+ SALARIE_CENTRE_DE_RESSOURCES = 115
+ SALARIEE_CENTRE_DE_RESSOURCES = 115
+
+ 'ADMINISTRATEUR COMPTABILITE / ADMINISTRATRICE COMPTABILITE'
+ ADMINISTRATEUR_COMPTABILITE = 116
+ ADMINISTRATRICE_COMPTABILITE = 116
+
+ 'DIRECTEUR DE CENTRE DE RESSOURCES / DIRECTRICE DE CENTRE DE RESSOURCES'
+ DIRECTEUR_DE_CENTRE_DE_RESSOURCES = 117
+ DIRECTRICE_DE_CENTRE_DE_RESSOURCES = 117
+
+ 'RESPONSABLE ADMINISTRATIF CR / RESPONSABLE ADMINISTRATIVE CR'
+ RESPONSABLE_ADMINISTRATIF_CR = 118
+ RESPONSABLE_ADMINISTRATIVE_CR = 118
+
+ 'ANIMATION TERRITORIALE ET DEVELOPPEMENT'
+ ANIMATION_TERRITORIALE_ET_DEVELOPPEMENT = 119
+
+ 'ADMINISTRATEUR INTRANET / ADMINISTRATRICE INTRANET'
+ ADMINISTRATEUR_INTRANET = 120
+ ADMINISTRATRICE_INTRANET = 120
+
+ 'Monitoring applicatif'
+ MONITORING_APPLICATIF = 121
FunctionData = {
- Function.LOUVETEAU: ("110", 8434, 'LOUVETEAU', 'JEANNETTE'),
- Function.MOUSSAILLON: ("110M", 8435, 'MOUSSAILLON'),
- Function.SCOUT: ("120", 8440, 'SCOUT', 'GUIDE'),
- Function.MOUSSE: ("120M", 8441, 'MOUSSE'),
- Function.PIONNIER: ("130", 8487, 'PIONNIER', 'CARAVELLE'),
- Function.MARIN: ("130M", 8488, 'MARIN', 'CARAVELLE MARINE'),
- Function.COMPAGNON: ("140", 8493, 'COMPAGNON'),
- Function.COMPAGNON_MARIN: ("140M", 8494, 'COMPAGNON MARIN'),
- Function.COMPAGNON_3EME_TEMPS: ("141", 8495, 'COMPAGNON 3EME TEMPS'),
- Function.ECLAIREUR: ("150", 8501, 'ECLAIREUR', 'ECLAIREUSE'),
- Function.FARFADET: ("170", 8497, 'FARFADET'),
- Function.MEMBRE_ASSOCIE_L: ("180L", 8439, 'MEMBRE ASSOCIE',
+ Function.LOUVETEAU: ('110', 8555,
+ 'LOUVETEAU',
+ 'JEANNETTE'),
+ Function.MOUSSAILLON: ('110M', 8556,
+ 'MOUSSAILLON'),
+ Function.SCOUT: ('120', 8657,
+ 'SCOUT',
+ 'GUIDE'),
+ Function.MOUSSE: ('120M', 8658,
+ 'MOUSSE'),
+ Function.PIONNIER: ('130', 8651,
+ 'PIONNIER',
+ 'CARAVELLE'),
+ Function.MARIN: ('130M', 8652,
+ 'MARIN',
+ 'CARAVELLE MARINE'),
+ Function.COMPAGNON: ('140', 8643,
+ 'COMPAGNON'),
+ Function.COMPAGNON_MARIN: ('140M', 8648,
+ 'COMPAGNON MARIN'),
+ Function.COMPAGNON_3EME_TEMPS: ('141', 8649,
+ 'COMPAGNON 3EME TEMPS'),
+ Function.FARFADET: ('170', 8640,
+ 'FARFADET'),
+ Function.MEMBRE_ASSOCIE_L: ('180L', 8559,
+ 'MEMBRE ASSOCIE',
'MEMBRE ASSOCIEE'),
- Function.MEMBRE_ASSOCIE_N: ("180N", 8445, 'MEMBRE ASSOCIE',
+ Function.MEMBRE_ASSOCIE_N: ('180N', 8567,
+ 'MEMBRE ASSOCIE',
'MEMBRE ASSOCIEE'),
- Function.MEMBRE_ASSOCIE_T: ("180T", 8438, 'MEMBRE ASSOCIE',
+ Function.MEMBRE_ASSOCIE_T: ('180T', 8564,
+ 'MEMBRE ASSOCIE',
'MEMBRE ASSOCIEE'),
- Function.VENT_DU_LARGE: ("193", 8499, 'VENT DU LARGE'),
- Function.RESPONSABLE_D_UNITE_LOUVETEAU_JEANNETTE: ("210", 8436,
+ Function.VENT_DU_LARGE: ('193', 8560,
+ 'VENT DU LARGE'),
+ Function.RESPONSABLE_UNITE_LOUVETEAU_JEANNETTE: ('210', 8557,
"RESPONSABLE D'UNITE LOUVETEAU JEANNETTE"),
- Function.RESPONSABLE_D_UNITE_MOUSSAILLON: ("210M", 8550,
+ Function.RESPONSABLE_UNITE_MOUSSAILLON: ('210M', 8671,
"RESPONSABLE D'UNITE MOUSSAILLON"),
- Function.CHEF_LOUVETEAU_JEANNETTE: ("213", 8551,
- 'CHEF LOUVETEAU JEANNETTE', 'CHEFTAINE LOUVETEAU JEANNETTE'),
- Function.CHEF_MOUSSAILLON: ("213M", 8552, 'CHEF MOUSSAILLON',
+ Function.CHEF_LOUVETEAU_JEANNETTE: ('213', 8672,
+ 'CHEF LOUVETEAU JEANNETTE',
+ 'CHEFTAINE LOUVETEAU JEANNETTE'),
+ Function.CHEF_MOUSSAILLON: ('213M', 8673,
+ 'CHEF MOUSSAILLON',
'CHEFTAINE MOUSSAILLON'),
- Function.RESPONSABLE_D_UNITE_SCOUT_GUIDE: ("220", 8442,
+ Function.RESPONSABLE_UNITE_SCOUT_GUIDE: ('220', 8659,
"RESPONSABLE D'UNITE SCOUT GUIDE"),
- Function.RESPONSABLE_D_UNITE_MOUSSE: ("220M", 8484,
+ Function.RESPONSABLE_UNITE_MOUSSE: ('220M', 8660,
"RESPONSABLE D'UNITE MOUSSE"),
- Function.CHEF_SCOUT_GUIDE: ("223", 8485, 'CHEF SCOUT GUIDE',
+ Function.CHEF_SCOUT_GUIDE: ('223', 8661,
+ 'CHEF SCOUT GUIDE',
'CHEFTAINE SCOUT GUIDE'),
- Function.CHEF_MOUSSE: ("223M", 8486, 'CHEF MOUSSE',
+ Function.CHEF_MOUSSE: ('223M', 8662,
+ 'CHEF MOUSSE',
'CHEFTAINE MOUSSE'),
- Function.RESPONSABLE_D_UNITE_PIONNIER_CARAVELLE: ("230", 8489,
+ Function.RESPONSABLE_UNITE_PIONNIER_CARAVELLE: ('230', 8653,
"RESPONSABLE D'UNITE PIONNIER CARAVELLE"),
- Function.RESPONSABLE_D_UNITE_FLOTILLE_CARAVELLE_MARINE: ("230M", 8490,
+ Function.RESPONSABLE_UNITE_FLOTILLE_CARAVELLE_MARINE: ('230M', 8654,
"RESPONSABLE D'UNITE FLOTILLE - CARAVELLE MARINE"),
- Function.CHEF_PIONNIER_CARAVELLE: ("233", 8491,
- 'CHEF PIONNIER CARAVELLE', 'CHEFTAINE PIONNIER CARAVELLE'),
- Function.CHEF_FLOTILLE_CARAVELLE_MARINE: ("233M", 8492,
+ Function.CHEF_PIONNIER_CARAVELLE: ('233', 8655,
+ 'CHEF PIONNIER CARAVELLE',
+ 'CHEFTAINE PIONNIER CARAVELLE'),
+ Function.CHEF_FLOTILLE_CARAVELLE_MARINE: ('233M', 8656,
'CHEF FLOTILLE - CARAVELLE MARINE',
'CHEFTAINE FLOTILLE - CARAVELLE MARINE'),
- Function.ACCOMPAGNATEUR_COMPAGNON: ("240", 8496,
- 'ACCOMPAGNATEUR COMPAGNON', 'ACCOMPAGNATRICE COMPAGNON'),
- Function.RESPONSABLE_FARFADET: ("270", 8498, 'RESPONSABLE FARFADET'),
- Function.PARENT_ANIMATEUR_FARFADET: ("271", 8554,
+ Function.ACCOMPAGNATEUR_COMPAGNON: ('240', 8650,
+ 'ACCOMPAGNATEUR COMPAGNON',
+ 'ACCOMPAGNATRICE COMPAGNON'),
+ Function.RESPONSABLE_FARFADET: ('270', 8641,
+ 'RESPONSABLE FARFADET'),
+ Function.PARENT_ANIMATEUR_FARFADET: ('271', 8642,
'PARENT ANIMATEUR FARFADET'),
- Function.RESPONSABLE_VENT_DU_LARGE: ("293", 8500,
+ Function.RESPONSABLE_VENT_DU_LARGE: ('293', 8561,
'RESPONSABLE VENT DU LARGE'),
- Function.RESPONSABLE_DE_GROUPE: ("300", 8502,
+ Function.RESPONSABLE_DE_GROUPE: ('300', 8558,
'RESPONSABLE DE GROUPE'),
- Function.RESPONSABLE_DE_GROUPE_ADJOINT: ("301", 8503,
- 'RESPONSABLE DE GROUPE ADJOINT', 'RESPONSABLE DE GROUPE ADJOINTE'),
- Function.AUMONIER_DE_GROUPE: ("302", 8504, 'AUMONIER DE GROUPE'),
- Function.SECRETAIRE_DE_GROUPE: ("307", 8506, 'SECRETAIRE DE GROUPE'),
- Function.TRESORIER_DE_GROUPE: ("309", 8508, 'TRESORIER DE GROUPE',
+ Function.RESPONSABLE_DE_GROUPE_ADJOINT: ('301', 8646,
+ 'RESPONSABLE DE GROUPE ADJOINT',
+ 'RESPONSABLE DE GROUPE ADJOINTE'),
+ Function.AUMONIER_DE_GROUPE: ('302', 8663,
+ 'AUMONIER DE GROUPE'),
+ Function.SECRETAIRE_DE_GROUPE: ('307', 8645,
+ 'SECRETAIRE DE GROUPE'),
+ Function.TRESORIER_DE_GROUPE: ('309', 8644,
+ 'TRESORIER DE GROUPE',
'TRESORIERE DE GROUPE'),
- Function.ANIMATEUR_CLEOPHAS_L: ("316", 8509, 'ANIMATEUR CLEOPHAS',
+ Function.ANIMATEUR_CLEOPHAS_L: ('316', 8664,
+ 'ANIMATEUR CLEOPHAS',
'ANIMATRICE CLEOPHAS'),
- Function.CHARGE_DE_MISSION__DU_GROUPE: ("330", 8511,
- 'CHARGE DE MISSION DU GROUPE', 'CHARGEE DE MISSION DU GROUPE'),
- Function.REFERENT_TECHNIQUE_MARIN: ("330M", 8512,
- 'REFERENT TECHNIQUE MARIN', 'REFERENTE TECHNIQUE MARIN'),
- Function.REPRESENTANT_ASSOCIATIF_L: ("332", 8513,
+ Function.CHARGE_DE_MISSION_DU_GROUPE: ('330', 8665,
+ 'CHARGE DE MISSION DU GROUPE',
+ 'CHARGEE DE MISSION DU GROUPE'),
+ Function.REFERENT_TECHNIQUE_MARIN: ('330M', 8666,
+ 'REFERENT TECHNIQUE MARIN',
+ 'REFERENTE TECHNIQUE MARIN'),
+ Function.REPRESENTANT_ASSOCIATIF_L: ('332', 8667,
'REPRESENTANT ASSOCIATIF'),
- Function.OUVREUR_DE_GROUPE_L: ("333", 8516, 'OUVREUR DE GROUPE'),
- Function.DIRECTEUR_DE_CAMP: ("351", 8517, 'DIRECTEUR DE CAMP',
+ Function.OUVREUR_DE_GROUPE_L: ('333', 8647,
+ 'OUVREUR DE GROUPE'),
+ Function.DIRECTEUR_DE_CAMP: ('351', 8668,
+ 'DIRECTEUR DE CAMP',
'DIRECTRICE DE CAMP'),
- Function.RESPONSABLE_LOCAL_DEVELOPPEMENT_ET_RESEAUX: ("380", 8518,
+ Function.RESPONSABLE_LOCAL_DEVELOPPEMENT_ET_RESEAUX: ('380', 8669,
'RESPONSABLE LOCAL DEVELOPPEMENT ET RESEAUX'),
- Function.FF_TRESORIER_DE_GROUPE: ("391", 8519,
- 'FF TRESORIER DE GROUPE', 'FF TRESORIERE DE GROUPE'),
- Function.NOMINATION_DES_CHEFS_ET_EQUIPIERS_DE_GROUPE: ("397", 8480,
+ Function.FF_TRESORIER_DE_GROUPE: ('391', 8670,
+ 'FF TRESORIER DE GROUPE',
+ 'FF TRESORIERE DE GROUPE'),
+ Function.NOMINATION_DES_CHEFS_ET_EQUIPIERS_DE_GROUPE: ('397', 8562,
'NOMINATION DES CHEFS ET EQUIPIERS DE GROUPE'),
- Function.FF_RESPONSABLE_DE_GROUPE: ("399", 8520,
+ Function.FF_RESPONSABLE_DE_GROUPE: ('399', 8639,
'FF RESPONSABLE DE GROUPE'),
- Function.DELEGUE_TERRITORIAL: ("500", 8482, 'DELEGUE TERRITORIAL',
+ Function.DELEGUE_TERRITORIAL: ('500', 8563,
+ 'DELEGUE TERRITORIAL',
'DELEGUEE TERRITORIALE'),
- Function.DELEGUE_TERRITORIAL_ADJOINT: ("501", 8481,
- 'DELEGUE TERRITORIAL ADJOINT', 'DELEGUEE TERRITORIALE ADJOINTE'),
- Function.AUMONIER_TERRITORIAL: ("502", 8505, 'AUMONIER TERRITORIAL'),
- Function.RESPONSABLE_POLE_PEDAGOGIQUE: ("503", 8521,
+ Function.DELEGUE_TERRITORIAL_ADJOINT: ('501', 8565,
+ 'DELEGUE TERRITORIAL ADJOINT',
+ 'DELEGUEE TERRITORIALE ADJOINTE'),
+ Function.AUMONIER_TERRITORIAL: ('502', 8604,
+ 'AUMONIER TERRITORIAL'),
+ Function.RESPONSABLE_POLE_PEDAGOGIQUE: ('503', 8606,
'RESPONSABLE POLE PEDAGOGIQUE'),
- Function.RESPONSABLE_POLE_DEVELOPPEMENT: ("504", 8522,
+ Function.RESPONSABLE_POLE_DEVELOPPEMENT: ('504', 8607,
'RESPONSABLE POLE DEVELOPPEMENT'),
- Function.RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER: ("505", 8515,
+ Function.RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER: ('505', 8608,
'RESPONSABLE POLE ADMINISTRATIF ET FINANCIER'),
- Function.FF_RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER: ("591", 8514,
+ Function.FF_RESPONSABLE_POLE_ADMINISTRATIF_ET_FINANCIER: ('591', 8609,
'FF RESPONSABLE POLE ADMINISTRATIF ET FINANCIER'),
- Function.NOMINATION_DES_EQUIPIERS_TERRITORIAUX: ("597", 8507,
- 'NOMINATION DES EQUIPIERS TERRITORIAUX'),
- Function.FF_DELEGUE_TERRITORIAL: ("598", 8483,
- 'FF DELEGUE TERRITORIAL', 'FF DELEGUEE TERRITORIALE'),
- Function.ACCOMPAGNATEUR_PEDAGOGIQUE: ("600", 8523,
- 'ACCOMPAGNATEUR PEDAGOGIQUE', 'ACCOMPAGNATRICE PEDAGOGIQUE'),
- Function.AUMONIER_DIOCESAIN: ("602", 8510, 'AUMONIER DIOCESAIN'),
- Function.ACCOMPAGNATEUR_DES_RESPONSABLES_DE_GROUPE: ("609", 8524,
+ Function.NOMINATION_DES_RG_ET_EQUIPIERS_TERRITORIAUX: ('597', 8610,
+ 'NOMINATION DES RG ET EQUIPIERS TERRITORIAUX',
+ 'NOMINATION DES RG ET EQUIPIERS TERRITORIAUX'),
+ Function.FF_DELEGUE_TERRITORIAL: ('598', 8605,
+ 'FF DELEGUE TERRITORIAL',
+ 'FF DELEGUEE TERRITORIALE'),
+ Function.ACCOMPAGNATEUR_PEDAGOGIQUE: ('600', 8611,
+ 'ACCOMPAGNATEUR PEDAGOGIQUE',
+ 'ACCOMPAGNATRICE PEDAGOGIQUE'),
+ Function.AUMONIER_DIOCESAIN: ('602', 8612,
+ 'AUMONIER DIOCESAIN'),
+ Function.ACCOMPAGNATEUR_DES_RESPONSABLES_DE_GROUPE: ('609', 8613,
'ACCOMPAGNATEUR DES RESPONSABLES DE GROUPE'),
- Function.ANIMATEUR_CLEOPHAS_T: ("616", 8525, 'ANIMATEUR CLEOPHAS',
+ Function.EQUIPIER_TERRITORIAL: ('610', 8677,
+ 'EQUIPIER TERRITORIAL',
+ 'EQUIPIERE TERRITORIALE'),
+ Function.ANIMATEUR_CLEOPHAS_N: ('616', 8614,
+ 'ANIMATEUR CLEOPHAS',
'ANIMATRICE CLEOPHAS'),
- Function.CHARGE_MISSION_DEVELOPPEMENT: ("620", 8526,
- 'CHARGE MISSION DEVELOPPEMENT', 'CHARGEE MISSION DEVELOPPEMENT'),
- Function.COORDINATEUR_DEVELOPPEMENT_ET_RESEAUX: ("621", 8527,
+ Function.CHARGE_MISSION_DEVELOPPEMENT: ('620', 8615,
+ 'CHARGE MISSION DEVELOPPEMENT',
+ 'CHARGEE MISSION DEVELOPPEMENT'),
+ Function.COORDINATEUR_DEVELOPPEMENT_ET_RESEAUX: ('621', 8616,
'COORDINATEUR DEVELOPPEMENT ET RESEAUX',
'COORDINATRICE DEVELOPPEMENT ET RESEAUX'),
- Function.OUVREUR_DE_GROUPE_T: ("622", 8528, 'OUVREUR DE GROUPE'),
- Function.RESPONSABLE_RECRUTEMENT: ("623", 8529,
- 'RESPONSABLE RECRUTEMENT'),
- Function.RESPONSABLE_PARTENARIATS_FINANCIERS: ("624", 8530,
+ Function.OUVREUR_DE_GROUPE_N: ('622', 8617,
+ 'OUVREUR DE GROUPE'),
+ Function.RESPONSABLE_PARTENARIATS_FINANCIERS: ('624', 8619,
'RESPONSABLE PARTENARIATS FINANCIERS'),
- Function.RESPONSABLE_COMMUNICATION: ("625", 8531,
+ Function.RESPONSABLE_COMMUNICATION: ('625', 8620,
'RESPONSABLE COMMUNICATION'),
- Function.CORRESPONDANT_HANDICAP: ("626", 8532,
+ Function.CORRESPONDANT_HANDICAP: ('626', 8621,
'CORRESPONDANT HANDICAP'),
- Function.RESPONSABLE_SCOUTISME_EN_QUARTIER: ("627", 8533,
+ Function.RESPONSABLE_SCOUTISME_EN_QUARTIER: ('627', 8622,
'RESPONSABLE SCOUTISME EN QUARTIER'),
- Function.CHARGE_MISSION_TERRITORIAL: ("630", 8534,
- 'CHARGE MISSION TERRITORIAL', 'CHARGEE MISSION TERRITORIALE'),
- Function.MEDIATEUR_T: ("631", 8535, 'MEDIATEUR', 'MEDIATRICE'),
- Function.REPRESENTANT_ASSOCIATIF_T: ("632", 8536,
- 'REPRESENTANT ASSOCIATIF', 'REPRESENTANTE ASSOCIATIF'),
- Function.RESPONSABLE_BOUTIQUE_SGDF: ("650", 8537,
+ Function.CHARGE_MISSION_TERRITORIAL: ('630', 8623,
+ 'CHARGE MISSION TERRITORIAL',
+ 'CHARGEE MISSION TERRITORIALE'),
+ Function.MEDIATEUR_N: ('631', 8624,
+ 'MEDIATEUR',
+ 'MEDIATRICE'),
+ Function.REPRESENTANT_ASSOCIATIF_N: ('632', 8625,
+ 'REPRESENTANT ASSOCIATIF',
+ 'REPRESENTANTE ASSOCIATIF'),
+ Function.RESPONSABLE_BOUTIQUE_SGDF: ('650', 8626,
'RESPONSABLE BOUTIQUE SGDF'),
- Function.DIRECTEUR_DE_CAMP_TERRITORIAL: ("651", 8538,
- 'DIRECTEUR DE CAMP TERRITORIAL', 'DIRECTRICE DE CAMP TERRITORIAL'),
- Function.TRESORIER_DE_BOUTIQUE: ("652", 8539, 'TRESORIER DE BOUTIQUE',
+ Function.DIRECTEUR_DE_CAMP_TERRITORIAL: ('651', 8627,
+ 'DIRECTEUR DE CAMP TERRITORIAL',
+ 'DIRECTRICE DE CAMP TERRITORIAL'),
+ Function.TRESORIER_DE_BOUTIQUE: ('652', 8628,
+ 'TRESORIER DE BOUTIQUE',
'TRESORIERE DE BOUTIQUE'),
- Function.CHARGE_DE_MISSION_RASSEMBLEMENT: ("659", 8540,
+ Function.CHARGE_DE_MISSION_RASSEMBLEMENT: ('659', 8629,
'CHARGE DE MISSION RASSEMBLEMENT'),
- Function.CHARGE_MISSION_ADMINISTRATIF: ("660", 8541,
- 'CHARGE MISSION ADMINISTRATIF', 'CHARGEE MISSION ADMINISTRATIF'),
- Function.GESTIONNAIRE_MATERIEL_ET_LOGISTIQUE: ("661", 8542,
+ Function.CHARGE_MISSION_ADMINISTRATIF: ('660', 8630,
+ 'CHARGE MISSION ADMINISTRATIF',
+ 'CHARGEE MISSION ADMINISTRATIF'),
+ Function.GESTIONNAIRE_MATERIEL_ET_LOGISTIQUE: ('661', 8631,
'GESTIONNAIRE MATERIEL ET LOGISTIQUE'),
- Function.TRESORIER_DE_BASE: ("663", 8543, 'TRESORIER DE BASE',
+ Function.TRESORIER_DE_BASE: ('663', 8632,
+ 'TRESORIER DE BASE',
'TRESORIERE DE BASE'),
- Function.EQUIPIER_DE_BASE: ("664", 8544, 'EQUIPIER DE BASE',
+ Function.EQUIPIER_DE_BASE: ('664', 8633,
+ 'EQUIPIER DE BASE',
'EQUIPIERE DE BASE'),
- Function.RESPONSABLE_DE_BASE: ("665", 8545, 'RESPONSABLE DE BASE'),
- Function.SECRETAIRE_TERRITORIAL: ("670", 8546,
- 'SECRETAIRE TERRITORIAL', 'SECRETAIRE TERRITORIALE'),
- Function.CHARGE_DE_MISSION_RW2016_T: ("685", 8547,
- 'CHARGE DE MISSION RW2016 T', 'CHARGEE DE MISSION RW2016 T'),
- Function.TRESORIER_TERRITORIAL: ("690", 8548, 'TRESORIER TERRITORIAL',
+ Function.RESPONSABLE_DE_BASE: ('665', 8634,
+ 'RESPONSABLE DE BASE'),
+ Function.SECRETAIRE_TERRITORIAL: ('670', 8635,
+ 'SECRETAIRE TERRITORIAL',
+ 'SECRETAIRE TERRITORIALE'),
+ Function.CHARGE_DE_MISSION_CONNECTE: ('685', 8636,
+ 'CHARGE DE MISSION CONNECTE !',
+ 'CHARGEE DE MISSION CONNECTE !'),
+ Function.TRESORIER_TERRITORIAL: ('690', 8637,
+ 'TRESORIER TERRITORIAL',
'TRESORIERE TERRITORIALE'),
- Function.FF_TRESORIER_TERRITORIAL: ("691", 8549,
- 'FF TRESORIER TERRITORIAL', 'FF TRESORIERE TERRITORIAL'),
- Function.DIRECTEUR_DE_STAGE: ("850", 8446, 'DIRECTEUR DE STAGE',
+ Function.FF_TRESORIER_TERRITORIAL: ('691', 8638,
+ 'FF TRESORIER TERRITORIAL',
+ 'FF TRESORIERE TERRITORIAL'),
+ Function.DIRECTEUR_DE_STAGE: ('850', 8568,
+ 'DIRECTEUR DE STAGE',
'DIRECTRICE DE STAGE'),
- Function.DIRECTEUR_DE_CAMP_GROUPE: ("851", 8447,
- 'DIRECTEUR DE CAMP GROUPE', 'DIRECTRICE DE CAMP GROUPE'),
- Function.VOLONTAIRE_SERVICE_CIVIQUE: ("860", 8451,
+ Function.DIRECTEUR_DE_CAMP_GROUPE: ('851', 8576,
+ 'DIRECTEUR DE CAMP GROUPE',
+ 'DIRECTRICE DE CAMP GROUPE'),
+ Function.VOLONTAIRE_SERVICE_CIVIQUE: ('860', 8577,
'VOLONTAIRE SERVICE CIVIQUE'),
- Function.VOLONTAIRE_SERVICE_INTERNATIONAL: ("861", 8452,
+ Function.VOLONTAIRE_SERVICE_INTERNATIONAL: ('861', 8578,
'VOLONTAIRE SERVICE INTERNATIONAL'),
- Function.DELEGUE_GENERAL: ("900", 8449, 'DELEGUE GENERAL',
+ Function.DELEGUE_GENERAL: ('900', 8573,
+ 'DELEGUE GENERAL',
'DELEGUEE GENERALE'),
- Function.DELEGUE_GENERAL_ADJOINT: ("901", 8450,
- 'DELEGUE GENERAL ADJOINT', 'DELEGUEE GENERALE ADJOINTE'),
- Function.AUMONIER_GENERAL: ("902", 8453, 'AUMONIER GENERAL'),
- Function.DELEGUE_NATIONAL: ("903", 8454, 'DELEGUE NATIONAL',
+ Function.DELEGUE_GENERAL_ADJOINT: ('901', 8566,
+ 'DELEGUE GENERAL ADJOINT',
+ 'DELEGUEE GENERALE ADJOINTE'),
+ Function.AUMONIER_GENERAL: ('902', 8579,
+ 'AUMONIER GENERAL'),
+ Function.DELEGUE_NATIONAL: ('903', 8575,
+ 'DELEGUE NATIONAL',
'DELEGUEE NATIONALE'),
- Function.RESPONSABLE_NATIONAL: ("910", 8448, 'RESPONSABLE NATIONAL',
+ Function.AUMNIER_GENERAL_ADJOINT: ('904', 8675,
+ 'AUMÔNIER GENERAL ADJOINT'),
+ Function.RESPONSABLE_NATIONAL: ('910', 8574,
+ 'RESPONSABLE NATIONAL',
'RESPONSABLE NATIONALE'),
- Function.AUMONIER_NATIONAL: ("911", 8455, 'AUMONIER NATIONAL'),
- Function.EQUIPIER_NATIONAL: ("912", 8456, 'EQUIPIER NATIONAL',
+ Function.AUMONIER_NATIONAL: ('911', 8580,
+ 'AUMONIER NATIONAL'),
+ Function.EQUIPIER_NATIONAL: ('912', 8581,
+ 'EQUIPIER NATIONAL',
'EQUIPIERE NATIONALE'),
- Function.RESPONSABLE_DE_LA_FORMATION_CR: ("913", 8457,
+ Function.RESPONSABLE_DE_LA_FORMATION_CR: ('913', 8572,
'RESPONSABLE DE LA FORMATION CR'),
- Function.CHARGE_MISSION: ("914", 8458, 'CHARGE MISSION',
+ Function.CHARGE_MISSION: ('914', 8582,
+ 'CHARGE MISSION',
'CHARGEE MISSION'),
- Function.CHARGE_MISSION_PAYS: ("915", 8459, 'CHARGE MISSION PAYS',
+ Function.CHARGE_MISSION_PAYS: ('915', 8583,
+ 'CHARGE MISSION PAYS',
'CHARGEE MISSION PAYS'),
- Function.ADMINISTRATEUR: ("920", 8460, 'ADMINISTRATEUR',
+ Function.ADMINISTRATEUR: ('920', 8585,
+ 'ADMINISTRATEUR',
'ADMINISTRATRICE'),
- Function.MEMBRE_D_HONNEUR: ("921", 8461, 'MEMBRE D HONNEUR'),
- Function.MEDIATEUR_N: ("931", 8462, 'MEDIATEUR', 'MEDIATRICE'),
- Function.REPRESENTANT_ASSOCIATIF: ("932", 8463,
- 'REPRESENTANT ASSOCIATIF', 'REPRESENTANTE ASSOCIATIF'),
- Function.SALARIE: ("980", 8464, 'SALARIE', 'SALARIEE'),
- Function.SALARIE_FORMATION: ("981", 8465, 'SALARIE FORMATION',
+ Function.MEMBRE_D_HONNEUR: ('921', 8586,
+ 'MEMBRE D HONNEUR'),
+ Function.MEDIATEUR_T: ('931', 8587,
+ 'MEDIATEUR',
+ 'MEDIATRICE'),
+ Function.REPRESENTANT_ASSOCIATIF_T: ('932', 8588,
+ 'REPRESENTANT ASSOCIATIF',
+ 'REPRESENTANTE ASSOCIATIF'),
+ Function.SALARIE: ('980', 8589,
+ 'SALARIE',
+ 'SALARIEE'),
+ Function.SALARIE_FORMATION: ('981', 8590,
+ 'SALARIE FORMATION',
'SALARIEE FORMATION'),
- Function.SALARIE_SERVICE_INTERNATIONAL: ("982", 8466,
- 'SALARIE SERVICE INTERNATIONAL', 'SALARIEE SERVICE INTERNATIONAL'),
- Function.CONSULTANT_BATEAU: ("983", 8467, 'CONSULTANT BATEAU',
+ Function.SALARIE_SERVICE_INTERNATIONAL: ('982', 8584,
+ 'SALARIE SERVICE INTERNATIONAL',
+ 'SALARIEE SERVICE INTERNATIONAL'),
+ Function.CONSULTANT_BATEAU: ('983', 8678,
+ 'CONSULTANT BATEAU',
'CONSULTANTE BATEAU'),
- Function.ASSISTANT_DE_SAISIE: ("984", 8468, 'ASSISTANT DE SAISIE',
+ Function.ASSISTANT_DE_SAISIE: ('984', 8592,
+ 'ASSISTANT DE SAISIE',
'ASSISTANTE DE SAISIE'),
- Function.CHARGE_DE_MISSION_RW2016_N: ("985", 8469,
- 'CHARGE DE MISSION RW2016 N', 'CHARGEE DE MISSION RW2016 N'),
- Function.CHARGE_DE_MISSION_RASSEMBLEMENT_EN: ("987", 8470,
+ Function.RESPONSABLE_RASSEMBLEMENT: ('985', 8593,
+ 'RESPONSABLE RASSEMBLEMENT'),
+ Function.CHARGE_DE_MISSION: ('986', 8676,
+ 'CHARGE DE MISSION',
+ 'CHARGEE DE MISSION'),
+ Function.CHARGE_DE_MISSION_RASSEMBLEMENT_EN: ('987', 8594,
'CHARGE DE MISSION RASSEMBLEMENT EN',
'CHARGEE DE MISSION RASSEMBLEMENT EN'),
- Function.ADMINISTRATEUR_MODULE_FORMATION: ("989", 8471,
- 'ADMINISTRATEUR MODULE FORMATION', 'ADMINISTRATRICE MODULE FORMATION'),
- Function.CONSULTANT_INTEGRATION: ("990", 8472,
- 'Consultant Intégration', 'Consultante Intégration'),
- Function.SALARIE_COMPTABILITE: ("991", 8473, 'SALARIE COMPTABILITE',
+ Function.ADMINISTRATEUR_MODULE_FORMATION: ('989', 8569,
+ 'ADMINISTRATEUR MODULE FORMATION',
+ 'ADMINISTRATRICE MODULE FORMATION'),
+ Function.CONSULTANT_INTEGRATION: ('990', 8595,
+ 'Consultant Intégration',
+ 'Consultante Intégration'),
+ Function.SALARIE_COMPTABILITE: ('991', 8596,
+ 'SALARIE COMPTABILITE',
'SALARIEE COMPTABILITE'),
- Function.SALARIE_ASSURANCE: ("992", 8474, 'SALARIE ASSURANCE',
+ Function.SALARIE_ASSURANCE: ('992', 8597,
+ 'SALARIE ASSURANCE',
'SALARIEE ASSURANCE'),
- Function.ADMINISTRATEUR_ASSURANCE: ("993", 8475,
- 'ADMINISTRATEUR ASSURANCE', 'ADMINISTRATRICE ASSURANCE'),
- Function.SALARIE_CENTRE_DE_RESSOURCES: ("994", 8476,
- 'SALARIE CENTRE DE RESSOURCES', 'SALARIEE CENTRE DE RESSOURCES'),
- Function.ADMINISTRATEUR_COMPTABILITE: ("995", 8477,
- 'ADMINISTRATEUR COMPTABILITE', 'ADMINISTRATRICE COMPTABILITE'),
- Function.DIRECTEUR_DE_CENTRE_DE_RESSOURCES: ("996", 8478,
+ Function.ADMINISTRATEUR_ASSURANCE: ('993', 8598,
+ 'ADMINISTRATEUR ASSURANCE',
+ 'ADMINISTRATRICE ASSURANCE'),
+ Function.SALARIE_CENTRE_DE_RESSOURCES: ('994', 8599,
+ 'SALARIE CENTRE DE RESSOURCES',
+ 'SALARIEE CENTRE DE RESSOURCES'),
+ Function.ADMINISTRATEUR_COMPTABILITE: ('995', 8600,
+ 'ADMINISTRATEUR COMPTABILITE',
+ 'ADMINISTRATRICE COMPTABILITE'),
+ Function.DIRECTEUR_DE_CENTRE_DE_RESSOURCES: ('996', 8601,
'DIRECTEUR DE CENTRE DE RESSOURCES',
'DIRECTRICE DE CENTRE DE RESSOURCES'),
- Function.RESPONSABLE_ADMINISTRATIF_CR: ("997", 8444,
- 'RESPONSABLE ADMINISTRATIF CR', 'RESPONSABLE ADMINISTRATIVE CR'),
- Function.ANIMATION_TERRITORIALE_ET_DEVELOPPEMENT: ("998", 8443,
+ Function.RESPONSABLE_ADMINISTRATIF_CR: ('997', 8602,
+ 'RESPONSABLE ADMINISTRATIF CR',
+ 'RESPONSABLE ADMINISTRATIVE CR'),
+ Function.ANIMATION_TERRITORIALE_ET_DEVELOPPEMENT: ('998', 8571,
'ANIMATION TERRITORIALE ET DEVELOPPEMENT'),
- Function.ADMINISTRATEUR_INTRANET: ("999", 8437,
- 'ADMINISTRATEUR INTRANET', 'ADMINISTRATRICE INTRANET'),
- Function.MONITORING_APPLICATIF: ("9XX", 8479,
+ Function.ADMINISTRATEUR_INTRANET: ('999', 8570,
+ 'ADMINISTRATEUR INTRANET',
+ 'ADMINISTRATRICE INTRANET'),
+ Function.MONITORING_APPLICATIF: ('9XX', 8603,
'Monitoring applicatif'),
}
diff --git a/sgdfi/_dbs/_funcs.py b/sgdfi/_dbs/_funcs.py
index 9440c38..f152a57 100755
--- a/sgdfi/_dbs/_funcs.py
+++ b/sgdfi/_dbs/_funcs.py
@@ -27,17 +27,17 @@ class FunctionRawData:
""" Raw data from a function for importation of the autocomplete file
from the intranet. """
- def __init__(self, iid, code, nm, nf, cname, srcorder):
+ def __init__(self, iid, code, nm, nf, cnames, srcorder):
self.__iid = iid
self.__code = code
self.__nm = nm
self.__nf = nf
- self.__cname = cname
+ self.__cnames = tuple(cnames)
self.__srcorder = srcorder
def __repr__(self):
p = []
- p.append(f"cname = {repr(self.__cname)}")
+ p.append(f"cnames = {repr(self.__cnames)}")
p.append(f"iid = {repr(self.__iid)}")
p.append(f"code = {repr(self.__code)}")
p.append(f"nm = {repr(self.__nm)}")
@@ -47,10 +47,10 @@ class FunctionRawData:
return f"{self.__class__.__name__}({', '.join(p)})"
@property
- def cname(self):
+ def cnames(self):
""" The canonical/constant name for the function. """
- return self.__cname
+ return self.__cnames
@property
def iid(self):
@@ -85,17 +85,10 @@ class FunctionRawData:
return self.__nf
- def replace(self, **kwargs):
- cname = self.__cname
-
- if 'cname' in kwargs:
- cname = kwargs['cname']
- del kwargs['cname']
- if kwargs:
- raise ValueError(f"Invalid keyword {repr(kwargs.keys()[0])}")
-
+ def add_cname_suffix(self, suffix):
+ cnames = [cn + suffix for cn in self.__cnames]
return FunctionRawData(self.__iid, self.__code, self.__nm, self.__nf,
- cname, self.__srcorder)
+ cnames, self.__srcorder)
@property
def srcorder(self):
diff --git a/sgdfi/_manager.py b/sgdfi/_manager.py
index 16ba771..8442817 100755
--- a/sgdfi/_manager.py
+++ b/sgdfi/_manager.py
@@ -188,7 +188,7 @@ class Manager:
# Save file management.
# ---
- def load(self, name):
+ def load_dump(self, name):
""" Read from a saved dump. """
path = _path.join(self.__folder, name)
@@ -208,12 +208,16 @@ class Manager:
type = 'csv'
elif ext == 'xls':
type = 'xls'
+ elif ext == 'xml':
+ type = 'xml'
+ elif ext == 'json':
+ type = 'json'
else:
type = None
return self.read(path, type, hint)
- def save(self, content, hint = None, type = 'html'):
+ def save_dump(self, content, hint = None, type = 'html'):
""" Save a file. """
exts = {'html': 'html', 'csv': 'csv', 'xls': 'xls', 'xml': 'xml',
@@ -272,7 +276,7 @@ class Manager:
return None
if self.__save:
- self.save(content, hint, type)
+ self.save_dump(content, hint, type)
if hint == 'raw':
return content
@@ -412,6 +416,23 @@ class Manager:
return "_T"
return ""
+ def _cname(cname):
+ """ Make a canonical name out of a name. """
+
+ cfilt = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'
+
+ cname = cname.casefold().upper()
+ cname = cname.replace(' - ', ' ')
+ cname = cname.replace(' !', '')
+ cname = cname.replace(' ', ' ')
+ cname = cname.replace("D'", '')
+ cname = cname.replace(' ', '_')
+ cname = cname.replace('É', 'E')
+ cname = cname.replace('À', 'A')
+ cname = ''.join(filter(lambda c: c in cfilt, cname))
+
+ return cname
+
# First phase: load from the JSON and store as an array under the
# constant name.
@@ -432,23 +453,19 @@ class Manager:
else:
nf = '/'.join(rest[1:])
nf = nf.strip()
+ if nf == nm:
+ nf = None
- cfilt = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'
-
- cname = nm.casefold().upper()
- cname = cname.replace(' - ', ' ')
- cname = cname.replace(' ', ' ')
- cname = cname.replace("D'", '')
- cname = cname.replace(' ', '_')
- cname = cname.replace('É', 'E')
- cname = cname.replace('À', 'A')
- cname = ''.join(filter(lambda c: c in cfilt, cname))
+ cnames = [_cname(nm)]
+ if nf is not None and _cname(nf) != _cname(nm):
+ cnames.append(_cname(nf))
- func = _FunctionRawData(iid, code, nm, nf, cname, idx + 1)
+ func = _FunctionRawData(iid, code, nm, nf, cnames, idx + 1)
- if not cname in funcs:
- funcs[cname] = []
- funcs[cname].append(func)
+ for cname in cnames:
+ if not cname in funcs:
+ funcs[cname] = []
+ funcs[cname].append(func)
# Second phase: disambiguation.
@@ -468,17 +485,33 @@ class Manager:
if len(sfix) > len(set(sfix)):
raise ValueError(f"Could not deduplicate using scale: {codes}")
- for func in disf:
- cname = func.cname + sfix.pop(0)
- func = func.replace(cname = cname)
+ for func, suffix in zip(disf, sfix):
+ # Delete all the current function references.
- if not cname in funcs:
- funcs[cname] = []
- funcs[cname].append(func)
+ for cname in func.cnames:
+ try:
+ f = funcs[cname]
+ except KeyError:
+ continue
+
+ f.remove(func)
+ if not f:
+ del funcs[cname]
+
+ # Replace all of the cnames.
+
+ func = func.add_cname_suffix(suffix)
+
+ # Add all of the references again.
+
+ for cname in func.cnames:
+ if not cname in funcs:
+ funcs[cname] = []
+ funcs[cname].append(func)
# Third phase: flatten the functions and we're done!
- funcs = [func[0] for func in funcs.values()]
+ funcs = list(set(func[0] for func in funcs.values()))
funcs.sort(key = lambda x: x.srcorder)
return funcs
@@ -1032,7 +1065,8 @@ class Manager:
for i, func in enumerate(functions, start = 1):
print(f"\t{repr(func.name)}", file = to)
- print(f"\t{func.cname} = {i}")
+ for cname in func.cnames:
+ print(f"\t{cname} = {i}")
print("", file = to)
# Function data definition.
@@ -1042,7 +1076,7 @@ class Manager:
for func in functions:
lnk = "," if func.nf is not None else "),"
- print(f"\tFunction.{func.cname}: " \
+ print(f"\tFunction.{func.cnames[0]}: " \
f"({repr(func.code)}, {repr(func.iid)},", file = to)
print(f"\t\t{repr(func.nm)}{lnk}", file = to)