@tricoteuses/assemblee 1.10.5 → 2.0.2
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.
- package/README.md +8 -1
- package/lib/amendements-CN7bRFdP.js +259 -0
- package/lib/amendements-CN7bRFdP.js.map +1 -0
- package/lib/amendements-Cg1lyCBp.js +735 -0
- package/lib/amendements-Cg1lyCBp.js.map +1 -0
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/acteurs.d.ts +1 -0
- package/lib/cleaners/acteurs.d.ts.map +1 -0
- package/lib/cleaners/amendements.d.ts +1 -0
- package/lib/cleaners/amendements.d.ts.map +1 -0
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.d.ts.map +1 -0
- package/lib/cleaners/documents.d.ts +1 -0
- package/lib/cleaners/documents.d.ts.map +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/index.d.ts +10 -9
- package/lib/cleaners/index.d.ts.map +1 -0
- package/lib/cleaners/organes.d.ts +1 -0
- package/lib/cleaners/organes.d.ts.map +1 -0
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.d.ts.map +1 -0
- package/lib/cleaners/reunions.d.ts +1 -0
- package/lib/cleaners/reunions.d.ts.map +1 -0
- package/lib/cleaners/scrutins.d.ts +1 -0
- package/lib/cleaners/scrutins.d.ts.map +1 -0
- package/lib/cleaners/xml.d.ts +1 -0
- package/lib/cleaners/xml.d.ts.map +1 -0
- package/lib/cleaners.js +1138 -0
- package/lib/cleaners.js.map +1 -0
- package/lib/datasets.d.ts +4 -3
- package/lib/datasets.d.ts.map +1 -0
- package/lib/dates.d.ts +1 -0
- package/lib/dates.d.ts.map +1 -0
- package/lib/debats-BwZYgzXe.js +3978 -0
- package/lib/debats-BwZYgzXe.js.map +1 -0
- package/lib/dossiers_legislatifs.d.ts +3 -2
- package/lib/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/file_systems.d.ts +1 -0
- package/lib/file_systems.d.ts.map +1 -0
- package/lib/git.d.ts +1 -0
- package/lib/git.d.ts.map +1 -0
- package/lib/index.d.ts +18 -22
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1916 -285
- package/lib/index.js.map +1 -0
- package/lib/inserters.d.ts +6 -5
- package/lib/inserters.d.ts.map +1 -0
- package/lib/loaders.d.ts +13 -12
- package/lib/loaders.d.ts.map +1 -0
- package/lib/loaders.js +812 -1516
- package/lib/loaders.js.map +1 -0
- package/lib/logger.d.ts +1 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/organes.d.ts +2 -1
- package/lib/organes.d.ts.map +1 -0
- package/lib/parse-CzW8NHW5.js +2850 -0
- package/lib/parse-CzW8NHW5.js.map +1 -0
- package/lib/parsers/index.d.ts +3 -3
- package/lib/parsers/index.d.ts.map +1 -0
- package/lib/parsers/plf.d.ts +2 -0
- package/lib/parsers/plf.d.ts.map +1 -0
- package/lib/parsers/recherche_amendements.d.ts +3 -2
- package/lib/parsers/recherche_amendements.d.ts.map +1 -0
- package/lib/parsers/textes_lois.d.ts +2 -23
- package/lib/parsers/textes_lois.d.ts.map +1 -0
- package/lib/parsers.js +393 -0
- package/lib/parsers.js.map +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/raw_types/agendas.d.ts +1 -0
- package/lib/raw_types/agendas.d.ts.map +1 -0
- package/lib/raw_types/amendements.d.ts +1 -0
- package/lib/raw_types/amendements.d.ts.map +1 -0
- package/lib/raw_types/debats.d.ts +3 -2
- package/lib/raw_types/debats.d.ts.map +1 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/raw_types/questions.d.ts +1 -0
- package/lib/raw_types/questions.d.ts.map +1 -0
- package/lib/raw_types/scrutins.d.ts +1 -0
- package/lib/raw_types/scrutins.d.ts.map +1 -0
- package/lib/schemas/acteurs_et_organes.d.json +982 -0
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.d.json +1561 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.d.json +1901 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.d.json +623 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.d.json +17 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.d.json +520 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.d.json +517 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/add_links_to_documents.d.ts +2 -0
- package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
- package/lib/scripts/copy-schemas.d.ts +2 -0
- package/lib/scripts/copy-schemas.d.ts.map +1 -0
- package/lib/scripts/diff_amendements.d.ts +1 -0
- package/lib/scripts/diff_amendements.d.ts.map +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
- package/lib/scripts/generate-json-schemas.d.ts +2 -0
- package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
- package/lib/scripts/get_today_reunions.d.ts +1 -0
- package/lib/scripts/get_today_reunions.d.ts.map +1 -0
- package/lib/scripts/merge_scrutins.d.ts +1 -0
- package/lib/scripts/merge_scrutins.d.ts.map +1 -0
- package/lib/scripts/process_open_dataset.d.ts +1 -0
- package/lib/scripts/process_open_dataset.d.ts.map +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
- package/lib/scripts/reorganize_data.d.ts +1 -0
- package/lib/scripts/reorganize_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.d.ts.map +1 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.d.ts.map +1 -0
- package/lib/scripts/test_load.d.ts +1 -0
- package/lib/scripts/test_load.d.ts.map +1 -0
- package/lib/scripts/test_load_big_files.d.ts +1 -0
- package/lib/scripts/test_load_big_files.d.ts.map +1 -0
- package/lib/scripts/validate_json.d.ts +1 -0
- package/lib/scripts/validate_json.d.ts.map +1 -0
- package/lib/shared_types/codes_actes.d.ts +1 -0
- package/lib/shared_types/codes_actes.d.ts.map +1 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.d.ts.map +1 -0
- package/lib/types/acteurs_et_organes.d.ts +341 -0
- package/lib/types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/types/agendas.d.ts +237 -10
- package/lib/types/agendas.d.ts.map +1 -0
- package/lib/types/amendements.d.ts +277 -1
- package/lib/types/amendements.d.ts.map +1 -0
- package/lib/types/debats.d.ts +53 -2
- package/lib/types/debats.d.ts.map +1 -0
- package/lib/types/dossiers_legislatifs.d.ts +404 -9
- package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/types/legislatures.d.ts +1 -0
- package/lib/types/legislatures.d.ts.map +1 -0
- package/lib/types/questions.d.ts +100 -2
- package/lib/types/questions.d.ts.map +1 -0
- package/lib/types/scrutins.d.ts +102 -0
- package/lib/types/scrutins.d.ts.map +1 -0
- package/lib/urls.d.ts +3 -2
- package/lib/urls.d.ts.map +1 -0
- package/package.json +31 -95
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -74
- package/lib/cleaners/xml.mjs +0 -59
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1215
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -613
- package/lib/scripts/clean_reorganized_data.mjs +0 -276
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -965
- package/lib/types/acteurs_et_organes.mjs +0 -906
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
require("core-js/modules/es.symbol.js");
|
|
5
|
-
require("core-js/modules/es.symbol.description.js");
|
|
6
|
-
require("core-js/modules/es.symbol.async-iterator.js");
|
|
7
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
8
|
-
require("core-js/modules/es.symbol.to-string-tag.js");
|
|
9
|
-
require("core-js/modules/es.array.for-each.js");
|
|
10
|
-
require("core-js/modules/es.array.from.js");
|
|
11
|
-
require("core-js/modules/es.array.is-array.js");
|
|
12
|
-
require("core-js/modules/es.array.iterator.js");
|
|
13
|
-
require("core-js/modules/es.array.reverse.js");
|
|
14
|
-
require("core-js/modules/es.array.slice.js");
|
|
15
|
-
require("core-js/modules/es.date.to-string.js");
|
|
16
|
-
require("core-js/modules/es.function.name.js");
|
|
17
|
-
require("core-js/modules/es.json.to-string-tag.js");
|
|
18
|
-
require("core-js/modules/es.math.to-string-tag.js");
|
|
19
|
-
require("core-js/modules/es.object.create.js");
|
|
20
|
-
require("core-js/modules/es.object.define-property.js");
|
|
21
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
22
|
-
require("core-js/modules/es.object.get-prototype-of.js");
|
|
23
|
-
require("core-js/modules/es.object.set-prototype-of.js");
|
|
24
|
-
require("core-js/modules/es.promise.js");
|
|
25
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
26
|
-
require("core-js/modules/es.string.iterator.js");
|
|
27
|
-
require("core-js/modules/es.weak-map.js");
|
|
28
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
29
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
30
|
-
require("core-js/modules/es.array.concat.js");
|
|
31
|
-
require("core-js/modules/es.array.find.js");
|
|
32
|
-
require("core-js/modules/es.array.join.js");
|
|
33
|
-
require("core-js/modules/es.number.constructor.js");
|
|
34
|
-
require("core-js/modules/es.object.to-string.js");
|
|
35
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
36
|
-
require("core-js/modules/es.string.match.js");
|
|
37
|
-
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
38
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
39
|
-
var _path = _interopRequireDefault(require("path"));
|
|
40
|
-
var git = _interopRequireWildcard(require("../git"));
|
|
41
|
-
var _child_process = require("child_process");
|
|
42
|
-
var _loaders = require("../loaders");
|
|
43
|
-
var _retrieve_deputes_photos = require("./retrieve_deputes_photos");
|
|
44
|
-
var _acteurs_et_organes = require("../types/acteurs_et_organes");
|
|
45
|
-
var _cli_helpers = require("./shared/cli_helpers");
|
|
46
|
-
var _legislatures = require("../types/legislatures");
|
|
47
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
48
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
49
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
50
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
51
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
52
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
53
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
54
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
55
|
-
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
56
|
-
var optionsDefinitions = [_cli_helpers.cloneOption, _cli_helpers.commitOption, _cli_helpers.pullOption, _cli_helpers.remoteOption, _cli_helpers.silentOption, _cli_helpers.dataDirDefaultOption, _cli_helpers.fetchOption, {
|
|
57
|
-
alias: "w",
|
|
58
|
-
defaultValue: 155,
|
|
59
|
-
name: "width",
|
|
60
|
-
type: Number
|
|
61
|
-
}, {
|
|
62
|
-
alias: "h",
|
|
63
|
-
defaultValue: 225,
|
|
64
|
-
name: "height",
|
|
65
|
-
type: Number
|
|
66
|
-
}, {
|
|
67
|
-
alias: "S",
|
|
68
|
-
help: "fetch square picture",
|
|
69
|
-
name: "square",
|
|
70
|
-
type: Boolean
|
|
71
|
-
}];
|
|
72
|
-
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
73
|
-
function retrievePhotosSenateurs() {
|
|
74
|
-
return _retrievePhotosSenateurs.apply(this, arguments);
|
|
75
|
-
}
|
|
76
|
-
function _retrievePhotosSenateurs() {
|
|
77
|
-
_retrievePhotosSenateurs = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
78
|
-
var dataDir, photosDirName, photosDir, photosWidth, photosHeight, missingPhotoFilePath, acteurUids, _iterator2, _step2, acteur, mandats, mandatDepute, adresses, url, _iterator3, _step3, adresse, senateurStem, ident, photoFilename, photoFilePath, photoTempFilename, photoTempFilePath, urlPhoto;
|
|
79
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
80
|
-
while (1) switch (_context.prev = _context.next) {
|
|
81
|
-
case 0:
|
|
82
|
-
dataDir = options.dataDir;
|
|
83
|
-
photosDirName = "photos_senateurs";
|
|
84
|
-
photosDir = _path["default"].join(dataDir, photosDirName);
|
|
85
|
-
photosWidth = options.width;
|
|
86
|
-
photosHeight = options.height;
|
|
87
|
-
missingPhotoFilePath = "images/transparent_".concat(photosWidth, "x").concat(photosHeight, ".jpg");
|
|
88
|
-
(0, _retrieve_deputes_photos.cloneAndUpdateGitRepository)(photosDirName, options);
|
|
89
|
-
_fsExtra["default"].ensureDirSync(photosDir);
|
|
90
|
-
acteurUids = [];
|
|
91
|
-
_iterator2 = _createForOfIteratorHelper((0, _loaders.iterLoadAssembleeActeurs)(dataDir, _legislatures.Legislature.All, {
|
|
92
|
-
noValidation: true
|
|
93
|
-
}));
|
|
94
|
-
_context.prev = 10;
|
|
95
|
-
_iterator2.s();
|
|
96
|
-
case 12:
|
|
97
|
-
if ((_step2 = _iterator2.n()).done) {
|
|
98
|
-
_context.next = 33;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
acteur = _step2.value.acteur;
|
|
102
|
-
mandats = acteur.mandats;
|
|
103
|
-
if (mandats) {
|
|
104
|
-
_context.next = 17;
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
return _context.abrupt("continue", 31);
|
|
108
|
-
case 17:
|
|
109
|
-
mandatDepute = mandats.find(function (mandat) {
|
|
110
|
-
return mandat.xsiType === _acteurs_et_organes.TypeMandat.MandatParlementaireType && mandat.typeOrgane === _acteurs_et_organes.CodeTypeOrgane.Senat;
|
|
111
|
-
});
|
|
112
|
-
if (mandatDepute) {
|
|
113
|
-
_context.next = 20;
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
116
|
-
return _context.abrupt("continue", 31);
|
|
117
|
-
case 20:
|
|
118
|
-
adresses = acteur.adresses;
|
|
119
|
-
if (adresses) {
|
|
120
|
-
_context.next = 23;
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
return _context.abrupt("continue", 31);
|
|
124
|
-
case 23:
|
|
125
|
-
url = null;
|
|
126
|
-
_iterator3 = _createForOfIteratorHelper(adresses);
|
|
127
|
-
try {
|
|
128
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
129
|
-
adresse = _step3.value;
|
|
130
|
-
if (adresse.xsiType === "AdresseSiteWeb_Type" && adresse.typeLibelle === "Url sénateur") {
|
|
131
|
-
url = adresse.valElec;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
} catch (err) {
|
|
135
|
-
_iterator3.e(err);
|
|
136
|
-
} finally {
|
|
137
|
-
_iterator3.f();
|
|
138
|
-
}
|
|
139
|
-
if (url) {
|
|
140
|
-
_context.next = 28;
|
|
141
|
-
break;
|
|
142
|
-
}
|
|
143
|
-
return _context.abrupt("continue", 31);
|
|
144
|
-
case 28:
|
|
145
|
-
senateurStem = "".concat(stemFromSenateur(acteur)).concat(options.square ? "_carre" : "");
|
|
146
|
-
if (options.fetch) {
|
|
147
|
-
ident = acteur.etatCivil.ident;
|
|
148
|
-
photoFilename = "".concat(senateurStem, ".jpg");
|
|
149
|
-
photoFilePath = _path["default"].join(photosDir, photoFilename);
|
|
150
|
-
photoTempFilename = "".concat(senateurStem, "_temp.jpg");
|
|
151
|
-
photoTempFilePath = _path["default"].join(photosDir, photoTempFilename);
|
|
152
|
-
urlPhoto = "https://www.senat.fr/senimg/".concat(photoFilename);
|
|
153
|
-
if (!options.silent) {
|
|
154
|
-
console.log("Loading photo ".concat(urlPhoto, " for ").concat(ident.prenom, " ").concat(ident.nom, "\u2026"));
|
|
155
|
-
}
|
|
156
|
-
try {
|
|
157
|
-
(0, _child_process.execSync)("wget --quiet -O ".concat(photoTempFilename, " ").concat(urlPhoto), {
|
|
158
|
-
cwd: photosDir,
|
|
159
|
-
env: process.env,
|
|
160
|
-
encoding: "utf-8"
|
|
161
|
-
// stdio: ["ignore", "ignore", "pipe"],
|
|
162
|
-
});
|
|
163
|
-
_fsExtra["default"].renameSync(photoTempFilePath, photoFilePath);
|
|
164
|
-
} catch (error) {
|
|
165
|
-
console.error(error);
|
|
166
|
-
if (_fsExtra["default"].existsSync(photoFilePath)) {
|
|
167
|
-
console.warn("Reusing existing image: ".concat(photoFilePath));
|
|
168
|
-
} else {
|
|
169
|
-
console.warn("Using blank image: ".concat(missingPhotoFilePath));
|
|
170
|
-
_fsExtra["default"].copyFileSync(missingPhotoFilePath, photoFilePath);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
(0, _retrieve_deputes_photos.resizePhoto)(acteur, photosWidth, photosHeight, photosDir, senateurStem, options);
|
|
174
|
-
}
|
|
175
|
-
acteurUids.push(senateurStem);
|
|
176
|
-
case 31:
|
|
177
|
-
_context.next = 12;
|
|
178
|
-
break;
|
|
179
|
-
case 33:
|
|
180
|
-
_context.next = 38;
|
|
181
|
-
break;
|
|
182
|
-
case 35:
|
|
183
|
-
_context.prev = 35;
|
|
184
|
-
_context.t0 = _context["catch"](10);
|
|
185
|
-
_iterator2.e(_context.t0);
|
|
186
|
-
case 38:
|
|
187
|
-
_context.prev = 38;
|
|
188
|
-
_iterator2.f();
|
|
189
|
-
return _context.finish(38);
|
|
190
|
-
case 41:
|
|
191
|
-
(0, _retrieve_deputes_photos.createMosaic)(acteurUids, photosDir, photosWidth, photosHeight, "senateurs");
|
|
192
|
-
if (!options.commit) {
|
|
193
|
-
_context.next = 44;
|
|
194
|
-
break;
|
|
195
|
-
}
|
|
196
|
-
return _context.abrupt("return", git.commitAndPush(photosDir, "Nouvelle moisson", options.remote));
|
|
197
|
-
case 44:
|
|
198
|
-
return _context.abrupt("return", 0);
|
|
199
|
-
case 45:
|
|
200
|
-
case "end":
|
|
201
|
-
return _context.stop();
|
|
202
|
-
}
|
|
203
|
-
}, _callee, null, [[10, 35, 38, 41]]);
|
|
204
|
-
}));
|
|
205
|
-
return _retrievePhotosSenateurs.apply(this, arguments);
|
|
206
|
-
}
|
|
207
|
-
function stemFromSenateur(senateur) {
|
|
208
|
-
var adresses = senateur.adresses;
|
|
209
|
-
var url = null;
|
|
210
|
-
var _iterator = _createForOfIteratorHelper(adresses),
|
|
211
|
-
_step;
|
|
212
|
-
try {
|
|
213
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
214
|
-
var adresse = _step.value;
|
|
215
|
-
if (adresse.xsiType === "AdresseSiteWeb_Type" && adresse.typeLibelle === "Url sénateur") {
|
|
216
|
-
url = adresse.valElec;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
} catch (err) {
|
|
220
|
-
_iterator.e(err);
|
|
221
|
-
} finally {
|
|
222
|
-
_iterator.f();
|
|
223
|
-
}
|
|
224
|
-
var match = url.match(/^https:\/\/www\.senat\.fr\/senateur\/(.*)\.html$/);
|
|
225
|
-
var senateurStem = match[1];
|
|
226
|
-
return senateurStem;
|
|
227
|
-
}
|
|
228
|
-
retrievePhotosSenateurs().then(function (exitCode) {
|
|
229
|
-
return process.exit(exitCode);
|
|
230
|
-
})["catch"](function (error) {
|
|
231
|
-
console.log(error);
|
|
232
|
-
process.exit(1);
|
|
233
|
-
});
|
|
234
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9wYXRoIiwiZ2l0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY2hpbGRfcHJvY2VzcyIsIl9sb2FkZXJzIiwiX3JldHJpZXZlX2RlcHV0ZXNfcGhvdG9zIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9jbGlfaGVscGVycyIsIl9sZWdpc2xhdHVyZXMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwicHJvdG90eXBlIiwibyIsInZhbHVlIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImNsb25lT3B0aW9uIiwiY29tbWl0T3B0aW9uIiwicHVsbE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwiZmV0Y2hPcHRpb24iLCJhbGlhcyIsImRlZmF1bHRWYWx1ZSIsIk51bWJlciIsImhlbHAiLCJCb29sZWFuIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsInJldHJpZXZlUGhvdG9zU2VuYXRldXJzIiwiX3JldHJpZXZlUGhvdG9zU2VuYXRldXJzIiwiX2NhbGxlZSIsImRhdGFEaXIiLCJwaG90b3NEaXJOYW1lIiwicGhvdG9zRGlyIiwicGhvdG9zV2lkdGgiLCJwaG90b3NIZWlnaHQiLCJtaXNzaW5nUGhvdG9GaWxlUGF0aCIsImFjdGV1clVpZHMiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiYWN0ZXVyIiwibWFuZGF0cyIsIm1hbmRhdERlcHV0ZSIsImFkcmVzc2VzIiwidXJsIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImFkcmVzc2UiLCJzZW5hdGV1clN0ZW0iLCJpZGVudCIsInBob3RvRmlsZW5hbWUiLCJwaG90b0ZpbGVQYXRoIiwicGhvdG9UZW1wRmlsZW5hbWUiLCJwaG90b1RlbXBGaWxlUGF0aCIsInVybFBob3RvIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInBhdGgiLCJqb2luIiwid2lkdGgiLCJoZWlnaHQiLCJjb25jYXQiLCJjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkiLCJmcyIsImVuc3VyZURpclN5bmMiLCJpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMiLCJMZWdpc2xhdHVyZSIsIkFsbCIsIm5vVmFsaWRhdGlvbiIsImZpbmQiLCJtYW5kYXQiLCJ4c2lUeXBlIiwiVHlwZU1hbmRhdCIsIk1hbmRhdFBhcmxlbWVudGFpcmVUeXBlIiwidHlwZU9yZ2FuZSIsIkNvZGVUeXBlT3JnYW5lIiwiU2VuYXQiLCJ0eXBlTGliZWxsZSIsInZhbEVsZWMiLCJlcnIiLCJzdGVtRnJvbVNlbmF0ZXVyIiwic3F1YXJlIiwiZmV0Y2giLCJldGF0Q2l2aWwiLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwicHJlbm9tIiwibm9tIiwiZXhlY1N5bmMiLCJjd2QiLCJlbnYiLCJwcm9jZXNzIiwiZW5jb2RpbmciLCJyZW5hbWVTeW5jIiwiZXJyb3IiLCJleGlzdHNTeW5jIiwid2FybiIsImNvcHlGaWxlU3luYyIsInJlc2l6ZVBob3RvIiwidDAiLCJjcmVhdGVNb3NhaWMiLCJjb21taXQiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwic2VuYXRldXIiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIm1hdGNoIiwiZXhpdENvZGUiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfc2VuYXRldXJzX3Bob3Rvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IHsgaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHtcbiAgY2xvbmVBbmRVcGRhdGVHaXRSZXBvc2l0b3J5LFxuICByZXNpemVQaG90byxcbiAgY3JlYXRlTW9zYWljLFxufSBmcm9tIFwiLi9yZXRyaWV2ZV9kZXB1dGVzX3Bob3Rvc1wiXG5pbXBvcnQge1xuICBBY3RldXIsXG4gIENvZGVUeXBlT3JnYW5lLFxuICBNYW5kYXQsXG4gIFR5cGVNYW5kYXQsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcbmltcG9ydCB7IExlZ2lzbGF0dXJlIH0gZnJvbSBcIi4uL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcIndcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE1NSxcbiAgICBuYW1lOiBcIndpZHRoXCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiaFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogMjI1LFxuICAgIG5hbWU6IFwiaGVpZ2h0XCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiU1wiLFxuICAgIGhlbHA6IFwiZmV0Y2ggc3F1YXJlIHBpY3R1cmVcIixcbiAgICBuYW1lOiBcInNxdWFyZVwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVQaG90b3NTZW5hdGV1cnMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCBwaG90b3NEaXJOYW1lID0gXCJwaG90b3Nfc2VuYXRldXJzXCJcbiAgY29uc3QgcGhvdG9zRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGNvbnN0IHBob3Rvc1dpZHRoID0gb3B0aW9ucy53aWR0aFxuICBjb25zdCBwaG90b3NIZWlnaHQgPSBvcHRpb25zLmhlaWdodFxuICBjb25zdCBtaXNzaW5nUGhvdG9GaWxlUGF0aCA9IGBpbWFnZXMvdHJhbnNwYXJlbnRfJHtwaG90b3NXaWR0aH14JHtwaG90b3NIZWlnaHR9LmpwZ2BcblxuICBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkocGhvdG9zRGlyTmFtZSwgb3B0aW9ucylcbiAgZnMuZW5zdXJlRGlyU3luYyhwaG90b3NEaXIpXG5cbiAgY29uc3QgYWN0ZXVyVWlkcyA9IFtdXG4gIGZvciAoY29uc3QgeyBhY3RldXIgfSBvZiBpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMoZGF0YURpciwgTGVnaXNsYXR1cmUuQWxsLCB7XG4gICAgbm9WYWxpZGF0aW9uOiB0cnVlLFxuICB9KSkge1xuICAgIGNvbnN0IHsgbWFuZGF0cyB9ID0gYWN0ZXVyXG4gICAgaWYgKCFtYW5kYXRzKSBjb250aW51ZVxuXG4gICAgY29uc3QgbWFuZGF0RGVwdXRlID0gbWFuZGF0cy5maW5kKFxuICAgICAgKG1hbmRhdDogTWFuZGF0KSA9PlxuICAgICAgICBtYW5kYXQueHNpVHlwZSA9PT0gVHlwZU1hbmRhdC5NYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSAmJlxuICAgICAgICBtYW5kYXQudHlwZU9yZ2FuZSA9PT0gQ29kZVR5cGVPcmdhbmUuU2VuYXQsXG4gICAgKVxuICAgIGlmICghbWFuZGF0RGVwdXRlKSBjb250aW51ZVxuXG4gICAgY29uc3QgeyBhZHJlc3NlcyB9ID0gYWN0ZXVyXG4gICAgaWYgKCFhZHJlc3NlcykgY29udGludWVcblxuICAgIGxldCB1cmwgPSBudWxsXG4gICAgZm9yIChjb25zdCBhZHJlc3NlIG9mIGFkcmVzc2VzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGFkcmVzc2UueHNpVHlwZSA9PT0gXCJBZHJlc3NlU2l0ZVdlYl9UeXBlXCIgJiZcbiAgICAgICAgYWRyZXNzZS50eXBlTGliZWxsZSA9PT0gXCJVcmwgc8OpbmF0ZXVyXCJcbiAgICAgICkge1xuICAgICAgICB1cmwgPSBhZHJlc3NlLnZhbEVsZWNcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXVybCkgY29udGludWVcblxuICAgIGNvbnN0IHNlbmF0ZXVyU3RlbSA9IGAke3N0ZW1Gcm9tU2VuYXRldXIoYWN0ZXVyKX0ke29wdGlvbnMuc3F1YXJlID8gXCJfY2FycmVcIiA6IFwiXCJ9YFxuXG4gICAgaWYgKG9wdGlvbnMuZmV0Y2gpIHtcbiAgICAgIGNvbnN0IGlkZW50ID0gYWN0ZXVyLmV0YXRDaXZpbC5pZGVudFxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke3NlbmF0ZXVyU3RlbX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke3NlbmF0ZXVyU3RlbX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cHM6Ly93d3cuc2VuYXQuZnIvc2VuaW1nLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBleGVjU3luYyhgd2dldCAtLXF1aWV0IC1PICR7cGhvdG9UZW1wRmlsZW5hbWV9ICR7dXJsUGhvdG99YCwge1xuICAgICAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgICAgICAvLyBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICAgICAgfSlcbiAgICAgICAgZnMucmVuYW1lU3luYyhwaG90b1RlbXBGaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHBob3RvRmlsZVBhdGgpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGBSZXVzaW5nIGV4aXN0aW5nIGltYWdlOiAke3Bob3RvRmlsZVBhdGh9YClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYFVzaW5nIGJsYW5rIGltYWdlOiAke21pc3NpbmdQaG90b0ZpbGVQYXRofWApXG4gICAgICAgICAgZnMuY29weUZpbGVTeW5jKG1pc3NpbmdQaG90b0ZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJlc2l6ZVBob3RvKFxuICAgICAgICBhY3RldXIsXG4gICAgICAgIHBob3Rvc1dpZHRoLFxuICAgICAgICBwaG90b3NIZWlnaHQsXG4gICAgICAgIHBob3Rvc0RpcixcbiAgICAgICAgc2VuYXRldXJTdGVtLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIGFjdGV1clVpZHMucHVzaChzZW5hdGV1clN0ZW0pXG4gIH1cblxuICBjcmVhdGVNb3NhaWMoYWN0ZXVyVWlkcywgcGhvdG9zRGlyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCBcInNlbmF0ZXVyc1wiKVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChwaG90b3NEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5mdW5jdGlvbiBzdGVtRnJvbVNlbmF0ZXVyKHNlbmF0ZXVyOiBBY3RldXIpIHtcbiAgY29uc3QgeyBhZHJlc3NlcyB9ID0gc2VuYXRldXJcbiAgbGV0IHVybCA9IG51bGxcbiAgZm9yIChjb25zdCBhZHJlc3NlIG9mIGFkcmVzc2VzISkge1xuICAgIGlmIChcbiAgICAgIGFkcmVzc2UueHNpVHlwZSA9PT0gXCJBZHJlc3NlU2l0ZVdlYl9UeXBlXCIgJiZcbiAgICAgIGFkcmVzc2UudHlwZUxpYmVsbGUgPT09IFwiVXJsIHPDqW5hdGV1clwiXG4gICAgKSB7XG4gICAgICB1cmwgPSBhZHJlc3NlLnZhbEVsZWNcbiAgICB9XG4gIH1cbiAgY29uc3QgbWF0Y2ggPSB1cmwhLm1hdGNoKC9eaHR0cHM6XFwvXFwvd3d3XFwuc2VuYXRcXC5mclxcL3NlbmF0ZXVyXFwvKC4qKVxcLmh0bWwkLylcbiAgY29uc3Qgc2VuYXRldXJTdGVtID0gbWF0Y2ghWzFdXG4gIHJldHVybiBzZW5hdGV1clN0ZW1cbn1cblxucmV0cmlldmVQaG90b3NTZW5hdGV1cnMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHdCQUFBLEdBQUFQLE9BQUE7QUFLQSxJQUFBUSxtQkFBQSxHQUFBUixPQUFBO0FBTUEsSUFBQVMsWUFBQSxHQUFBVCxPQUFBO0FBU0EsSUFBQVUsYUFBQSxHQUFBVixPQUFBO0FBQW1ELFNBQUFXLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENB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QUFDZ08sYUFBYSxDQUFDdEUsU0FBUyxFQUFFLGtCQUFrQixFQUFFUCxPQUFPLENBQUM4RSxNQUFNLENBQUM7UUFBQTtVQUFBLE9BQUFoRCxRQUFBLENBQUFsRyxNQUFBLFdBRWxFLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQWtHLFFBQUEsQ0FBQWxFLElBQUE7TUFBQTtJQUFBLEdBQUF3QyxPQUFBO0VBQUEsQ0FDVDtFQUFBLE9BQUFELHdCQUFBLENBQUFuQixLQUFBLE9BQUFELFNBQUE7QUFBQTtBQUVELFNBQVN1RSxnQkFBZ0JBLENBQUN5QixRQUFnQixFQUFFO0VBQzFDLElBQVE5RCxRQUFRLEdBQUs4RCxRQUFRLENBQXJCOUQsUUFBUTtFQUNoQixJQUFJQyxHQUFHLEdBQUcsSUFBSTtFQUFBLElBQUE4RCxTQUFBLEdBQUE3RywwQkFBQSxDQUNROEMsUUFBUTtJQUFBZ0UsS0FBQTtFQUFBO0lBQTlCLEtBQUFELFNBQUEsQ0FBQS9LLENBQUEsTUFBQWdMLEtBQUEsR0FBQUQsU0FBQSxDQUFBbE4sQ0FBQSxJQUFBdUQsSUFBQSxHQUFpQztNQUFBLElBQXRCZ0csT0FBTyxHQUFBNEQsS0FBQSxDQUFBck0sS0FBQTtNQUNoQixJQUNFeUksT0FBTyxDQUFDd0IsT0FBTyxLQUFLLHFCQUFxQixJQUN6Q3hCLE9BQU8sQ0FBQzhCLFdBQVcsS0FBSyxjQUFjLEVBQ3RDO1FBQ0FqQyxHQUFHLEdBQUdHLE9BQU8sQ0FBQytCLE9BQU87TUFDdkI7SUFDRjtFQUFDLFNBQUFDLEdBQUE7SUFBQTJCLFNBQUEsQ0FBQTFOLENBQUEsQ0FBQStMLEdBQUE7RUFBQTtJQUFBMkIsU0FBQSxDQUFBaEwsQ0FBQTtFQUFBO0VBQ0QsSUFBTWtMLEtBQUssR0FBR2hFLEdBQUcsQ0FBRWdFLEtBQUssQ0FBQyxrREFBa0QsQ0FBQztFQUM1RSxJQUFNNUQsWUFBWSxHQUFHNEQsS0FBSyxDQUFFLENBQUMsQ0FBQztFQUM5QixPQUFPNUQsWUFBWTtBQUNyQjtBQUVBcEIsdUJBQXVCLENBQUMsQ0FBQyxDQUN0QmhGLElBQUksQ0FBQyxVQUFDaUssUUFBUTtFQUFBLE9BQUtqQixPQUFPLENBQUNrQixJQUFJLENBQUNELFFBQVEsQ0FBQztBQUFBLEVBQUMsU0FDckMsQ0FBQyxVQUFDZCxLQUFLLEVBQUs7RUFDaEJWLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDUyxLQUFLLENBQUM7RUFDbEJILE9BQU8sQ0FBQ2tCLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import commandLineArgs from "command-line-args";
|
|
2
|
-
import fs from "fs-extra";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import * as git from "../git.mjs";
|
|
5
|
-
import { execSync } from "child_process";
|
|
6
|
-
import { iterLoadAssembleeActeurs } from "../loaders.mjs";
|
|
7
|
-
import { cloneAndUpdateGitRepository, resizePhoto, createMosaic } from "./retrieve_deputes_photos.mjs";
|
|
8
|
-
import { CodeTypeOrgane, TypeMandat } from "../types/acteurs_et_organes.mjs";
|
|
9
|
-
import { cloneOption, commitOption, dataDirDefaultOption, fetchOption, pullOption, remoteOption, silentOption } from "./shared/cli_helpers.mjs";
|
|
10
|
-
import { Legislature } from "../types/legislatures.mjs";
|
|
11
|
-
const optionsDefinitions = [cloneOption, commitOption, pullOption, remoteOption, silentOption, dataDirDefaultOption, fetchOption, {
|
|
12
|
-
alias: "w",
|
|
13
|
-
defaultValue: 155,
|
|
14
|
-
name: "width",
|
|
15
|
-
type: Number
|
|
16
|
-
}, {
|
|
17
|
-
alias: "h",
|
|
18
|
-
defaultValue: 225,
|
|
19
|
-
name: "height",
|
|
20
|
-
type: Number
|
|
21
|
-
}, {
|
|
22
|
-
alias: "S",
|
|
23
|
-
help: "fetch square picture",
|
|
24
|
-
name: "square",
|
|
25
|
-
type: Boolean
|
|
26
|
-
}];
|
|
27
|
-
const options = commandLineArgs(optionsDefinitions);
|
|
28
|
-
async function retrievePhotosSenateurs() {
|
|
29
|
-
const dataDir = options.dataDir;
|
|
30
|
-
const photosDirName = "photos_senateurs";
|
|
31
|
-
const photosDir = path.join(dataDir, photosDirName);
|
|
32
|
-
const photosWidth = options.width;
|
|
33
|
-
const photosHeight = options.height;
|
|
34
|
-
const missingPhotoFilePath = `images/transparent_${photosWidth}x${photosHeight}.jpg`;
|
|
35
|
-
cloneAndUpdateGitRepository(photosDirName, options);
|
|
36
|
-
fs.ensureDirSync(photosDir);
|
|
37
|
-
const acteurUids = [];
|
|
38
|
-
for (const {
|
|
39
|
-
acteur
|
|
40
|
-
} of iterLoadAssembleeActeurs(dataDir, Legislature.All, {
|
|
41
|
-
noValidation: true
|
|
42
|
-
})) {
|
|
43
|
-
const {
|
|
44
|
-
mandats
|
|
45
|
-
} = acteur;
|
|
46
|
-
if (!mandats) continue;
|
|
47
|
-
const mandatDepute = mandats.find(mandat => mandat.xsiType === TypeMandat.MandatParlementaireType && mandat.typeOrgane === CodeTypeOrgane.Senat);
|
|
48
|
-
if (!mandatDepute) continue;
|
|
49
|
-
const {
|
|
50
|
-
adresses
|
|
51
|
-
} = acteur;
|
|
52
|
-
if (!adresses) continue;
|
|
53
|
-
let url = null;
|
|
54
|
-
for (const adresse of adresses) {
|
|
55
|
-
if (adresse.xsiType === "AdresseSiteWeb_Type" && adresse.typeLibelle === "Url sénateur") {
|
|
56
|
-
url = adresse.valElec;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (!url) continue;
|
|
60
|
-
const senateurStem = `${stemFromSenateur(acteur)}${options.square ? "_carre" : ""}`;
|
|
61
|
-
if (options.fetch) {
|
|
62
|
-
const ident = acteur.etatCivil.ident;
|
|
63
|
-
const photoFilename = `${senateurStem}.jpg`;
|
|
64
|
-
const photoFilePath = path.join(photosDir, photoFilename);
|
|
65
|
-
const photoTempFilename = `${senateurStem}_temp.jpg`;
|
|
66
|
-
const photoTempFilePath = path.join(photosDir, photoTempFilename);
|
|
67
|
-
const urlPhoto = `https://www.senat.fr/senimg/${photoFilename}`;
|
|
68
|
-
if (!options.silent) {
|
|
69
|
-
console.log(`Loading photo ${urlPhoto} for ${ident.prenom} ${ident.nom}…`);
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
execSync(`wget --quiet -O ${photoTempFilename} ${urlPhoto}`, {
|
|
73
|
-
cwd: photosDir,
|
|
74
|
-
env: process.env,
|
|
75
|
-
encoding: "utf-8"
|
|
76
|
-
// stdio: ["ignore", "ignore", "pipe"],
|
|
77
|
-
});
|
|
78
|
-
fs.renameSync(photoTempFilePath, photoFilePath);
|
|
79
|
-
} catch (error) {
|
|
80
|
-
console.error(error);
|
|
81
|
-
if (fs.existsSync(photoFilePath)) {
|
|
82
|
-
console.warn(`Reusing existing image: ${photoFilePath}`);
|
|
83
|
-
} else {
|
|
84
|
-
console.warn(`Using blank image: ${missingPhotoFilePath}`);
|
|
85
|
-
fs.copyFileSync(missingPhotoFilePath, photoFilePath);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
resizePhoto(acteur, photosWidth, photosHeight, photosDir, senateurStem, options);
|
|
89
|
-
}
|
|
90
|
-
acteurUids.push(senateurStem);
|
|
91
|
-
}
|
|
92
|
-
createMosaic(acteurUids, photosDir, photosWidth, photosHeight, "senateurs");
|
|
93
|
-
if (options.commit) {
|
|
94
|
-
return git.commitAndPush(photosDir, "Nouvelle moisson", options.remote);
|
|
95
|
-
}
|
|
96
|
-
return 0;
|
|
97
|
-
}
|
|
98
|
-
function stemFromSenateur(senateur) {
|
|
99
|
-
const {
|
|
100
|
-
adresses
|
|
101
|
-
} = senateur;
|
|
102
|
-
let url = null;
|
|
103
|
-
for (const adresse of adresses) {
|
|
104
|
-
if (adresse.xsiType === "AdresseSiteWeb_Type" && adresse.typeLibelle === "Url sénateur") {
|
|
105
|
-
url = adresse.valElec;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
const match = url.match(/^https:\/\/www\.senat\.fr\/senateur\/(.*)\.html$/);
|
|
109
|
-
const senateurStem = match[1];
|
|
110
|
-
return senateurStem;
|
|
111
|
-
}
|
|
112
|
-
retrievePhotosSenateurs().then(exitCode => process.exit(exitCode)).catch(error => {
|
|
113
|
-
console.log(error);
|
|
114
|
-
process.exit(1);
|
|
115
|
-
});
|
|
116
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJnaXQiLCJleGVjU3luYyIsIml0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInJlc2l6ZVBob3RvIiwiY3JlYXRlTW9zYWljIiwiQ29kZVR5cGVPcmdhbmUiLCJUeXBlTWFuZGF0IiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsImZldGNoT3B0aW9uIiwicHVsbE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsIkxlZ2lzbGF0dXJlIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJkZWZhdWx0VmFsdWUiLCJuYW1lIiwidHlwZSIsIk51bWJlciIsImhlbHAiLCJCb29sZWFuIiwib3B0aW9ucyIsInJldHJpZXZlUGhvdG9zU2VuYXRldXJzIiwiZGF0YURpciIsInBob3Rvc0Rpck5hbWUiLCJwaG90b3NEaXIiLCJqb2luIiwicGhvdG9zV2lkdGgiLCJ3aWR0aCIsInBob3Rvc0hlaWdodCIsImhlaWdodCIsIm1pc3NpbmdQaG90b0ZpbGVQYXRoIiwiZW5zdXJlRGlyU3luYyIsImFjdGV1clVpZHMiLCJhY3RldXIiLCJBbGwiLCJub1ZhbGlkYXRpb24iLCJtYW5kYXRzIiwibWFuZGF0RGVwdXRlIiwiZmluZCIsIm1hbmRhdCIsInhzaVR5cGUiLCJNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSIsInR5cGVPcmdhbmUiLCJTZW5hdCIsImFkcmVzc2VzIiwidXJsIiwiYWRyZXNzZSIsInR5cGVMaWJlbGxlIiwidmFsRWxlYyIsInNlbmF0ZXVyU3RlbSIsInN0ZW1Gcm9tU2VuYXRldXIiLCJzcXVhcmUiLCJmZXRjaCIsImlkZW50IiwiZXRhdENpdmlsIiwicGhvdG9GaWxlbmFtZSIsInBob3RvRmlsZVBhdGgiLCJwaG90b1RlbXBGaWxlbmFtZSIsInBob3RvVGVtcEZpbGVQYXRoIiwidXJsUGhvdG8iLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwicHJlbm9tIiwibm9tIiwiY3dkIiwiZW52IiwicHJvY2VzcyIsImVuY29kaW5nIiwicmVuYW1lU3luYyIsImVycm9yIiwiZXhpc3RzU3luYyIsIndhcm4iLCJjb3B5RmlsZVN5bmMiLCJwdXNoIiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInNlbmF0ZXVyIiwibWF0Y2giLCJ0aGVuIiwiZXhpdENvZGUiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9zZW5hdGV1cnNfcGhvdG9zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgeyBpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMgfSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQge1xuICBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnksXG4gIHJlc2l6ZVBob3RvLFxuICBjcmVhdGVNb3NhaWMsXG59IGZyb20gXCIuL3JldHJpZXZlX2RlcHV0ZXNfcGhvdG9zXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29kZVR5cGVPcmdhbmUsXG4gIE1hbmRhdCxcbiAgVHlwZU1hbmRhdCxcbn0gZnJvbSBcIi4uL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQge1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgZmV0Y2hPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxufSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi4vdHlwZXMvbGVnaXNsYXR1cmVzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwid1wiLFxuICAgIGRlZmF1bHRWYWx1ZTogMTU1LFxuICAgIG5hbWU6IFwid2lkdGhcIixcbiAgICB0eXBlOiBOdW1iZXIsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJoXCIsXG4gICAgZGVmYXVsdFZhbHVlOiAyMjUsXG4gICAgbmFtZTogXCJoZWlnaHRcIixcbiAgICB0eXBlOiBOdW1iZXIsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJTXCIsXG4gICAgaGVscDogXCJmZXRjaCBzcXVhcmUgcGljdHVyZVwiLFxuICAgIG5hbWU6IFwic3F1YXJlXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZVBob3Rvc1NlbmF0ZXVycygpOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGNvbnN0IHBob3Rvc0Rpck5hbWUgPSBcInBob3Rvc19zZW5hdGV1cnNcIlxuICBjb25zdCBwaG90b3NEaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgcGhvdG9zRGlyTmFtZSlcbiAgY29uc3QgcGhvdG9zV2lkdGggPSBvcHRpb25zLndpZHRoXG4gIGNvbnN0IHBob3Rvc0hlaWdodCA9IG9wdGlvbnMuaGVpZ2h0XG4gIGNvbnN0IG1pc3NpbmdQaG90b0ZpbGVQYXRoID0gYGltYWdlcy90cmFuc3BhcmVudF8ke3Bob3Rvc1dpZHRofXgke3Bob3Rvc0hlaWdodH0uanBnYFxuXG4gIGNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeShwaG90b3NEaXJOYW1lLCBvcHRpb25zKVxuICBmcy5lbnN1cmVEaXJTeW5jKHBob3Rvc0RpcilcblxuICBjb25zdCBhY3RldXJVaWRzID0gW11cbiAgZm9yIChjb25zdCB7IGFjdGV1ciB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyhkYXRhRGlyLCBMZWdpc2xhdHVyZS5BbGwsIHtcbiAgICBub1ZhbGlkYXRpb246IHRydWUsXG4gIH0pKSB7XG4gICAgY29uc3QgeyBtYW5kYXRzIH0gPSBhY3RldXJcbiAgICBpZiAoIW1hbmRhdHMpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBtYW5kYXREZXB1dGUgPSBtYW5kYXRzLmZpbmQoXG4gICAgICAobWFuZGF0OiBNYW5kYXQpID0+XG4gICAgICAgIG1hbmRhdC54c2lUeXBlID09PSBUeXBlTWFuZGF0Lk1hbmRhdFBhcmxlbWVudGFpcmVUeXBlICYmXG4gICAgICAgIG1hbmRhdC50eXBlT3JnYW5lID09PSBDb2RlVHlwZU9yZ2FuZS5TZW5hdCxcbiAgICApXG4gICAgaWYgKCFtYW5kYXREZXB1dGUpIGNvbnRpbnVlXG5cbiAgICBjb25zdCB7IGFkcmVzc2VzIH0gPSBhY3RldXJcbiAgICBpZiAoIWFkcmVzc2VzKSBjb250aW51ZVxuXG4gICAgbGV0IHVybCA9IG51bGxcbiAgICBmb3IgKGNvbnN0IGFkcmVzc2Ugb2YgYWRyZXNzZXMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgYWRyZXNzZS54c2lUeXBlID09PSBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIiAmJlxuICAgICAgICBhZHJlc3NlLnR5cGVMaWJlbGxlID09PSBcIlVybCBzw6luYXRldXJcIlxuICAgICAgKSB7XG4gICAgICAgIHVybCA9IGFkcmVzc2UudmFsRWxlY1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdXJsKSBjb250aW51ZVxuXG4gICAgY29uc3Qgc2VuYXRldXJTdGVtID0gYCR7c3RlbUZyb21TZW5hdGV1cihhY3RldXIpfSR7b3B0aW9ucy5zcXVhcmUgPyBcIl9jYXJyZVwiIDogXCJcIn1gXG5cbiAgICBpZiAob3B0aW9ucy5mZXRjaCkge1xuICAgICAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gICAgICBjb25zdCBwaG90b0ZpbGVuYW1lID0gYCR7c2VuYXRldXJTdGVtfS5qcGdgXG4gICAgICBjb25zdCBwaG90b0ZpbGVQYXRoID0gcGF0aC5qb2luKHBob3Rvc0RpciwgcGhvdG9GaWxlbmFtZSlcbiAgICAgIGNvbnN0IHBob3RvVGVtcEZpbGVuYW1lID0gYCR7c2VuYXRldXJTdGVtfV90ZW1wLmpwZ2BcbiAgICAgIGNvbnN0IHBob3RvVGVtcEZpbGVQYXRoID0gcGF0aC5qb2luKHBob3Rvc0RpciwgcGhvdG9UZW1wRmlsZW5hbWUpXG4gICAgICBjb25zdCB1cmxQaG90byA9IGBodHRwczovL3d3dy5zZW5hdC5mci9zZW5pbWcvJHtwaG90b0ZpbGVuYW1lfWBcbiAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYExvYWRpbmcgcGhvdG8gJHt1cmxQaG90b30gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGV4ZWNTeW5jKGB3Z2V0IC0tcXVpZXQgLU8gJHtwaG90b1RlbXBGaWxlbmFtZX0gJHt1cmxQaG90b31gLCB7XG4gICAgICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgICAgIC8vIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgICAgICB9KVxuICAgICAgICBmcy5yZW5hbWVTeW5jKHBob3RvVGVtcEZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGhvdG9GaWxlUGF0aCkpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYFJldXNpbmcgZXhpc3RpbmcgaW1hZ2U6ICR7cGhvdG9GaWxlUGF0aH1gKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgVXNpbmcgYmxhbmsgaW1hZ2U6ICR7bWlzc2luZ1Bob3RvRmlsZVBhdGh9YClcbiAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMobWlzc2luZ1Bob3RvRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmVzaXplUGhvdG8oXG4gICAgICAgIGFjdGV1cixcbiAgICAgICAgcGhvdG9zV2lkdGgsXG4gICAgICAgIHBob3Rvc0hlaWdodCxcbiAgICAgICAgcGhvdG9zRGlyLFxuICAgICAgICBzZW5hdGV1clN0ZW0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgfVxuXG4gICAgYWN0ZXVyVWlkcy5wdXNoKHNlbmF0ZXVyU3RlbSlcbiAgfVxuXG4gIGNyZWF0ZU1vc2FpYyhhY3RldXJVaWRzLCBwaG90b3NEaXIsIHBob3Rvc1dpZHRoLCBwaG90b3NIZWlnaHQsIFwic2VuYXRldXJzXCIpXG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHBob3Rvc0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbmZ1bmN0aW9uIHN0ZW1Gcm9tU2VuYXRldXIoc2VuYXRldXI6IEFjdGV1cikge1xuICBjb25zdCB7IGFkcmVzc2VzIH0gPSBzZW5hdGV1clxuICBsZXQgdXJsID0gbnVsbFxuICBmb3IgKGNvbnN0IGFkcmVzc2Ugb2YgYWRyZXNzZXMhKSB7XG4gICAgaWYgKFxuICAgICAgYWRyZXNzZS54c2lUeXBlID09PSBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIiAmJlxuICAgICAgYWRyZXNzZS50eXBlTGliZWxsZSA9PT0gXCJVcmwgc8OpbmF0ZXVyXCJcbiAgICApIHtcbiAgICAgIHVybCA9IGFkcmVzc2UudmFsRWxlY1xuICAgIH1cbiAgfVxuICBjb25zdCBtYXRjaCA9IHVybCEubWF0Y2goL15odHRwczpcXC9cXC93d3dcXC5zZW5hdFxcLmZyXFwvc2VuYXRldXJcXC8oLiopXFwuaHRtbCQvKVxuICBjb25zdCBzZW5hdGV1clN0ZW0gPSBtYXRjaCFbMV1cbiAgcmV0dXJuIHNlbmF0ZXVyU3RlbVxufVxuXG5yZXRyaWV2ZVBob3Rvc1NlbmF0ZXVycygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsT0FDaEIsS0FBS0MsR0FBRztBQUNmLFNBQVNDLFFBQVEsUUFBUSxlQUFlO0FBQUEsU0FDL0JDLHdCQUF3QjtBQUFBLFNBRS9CQywyQkFBMkIsRUFDM0JDLFdBQVcsRUFDWEMsWUFBWTtBQUFBLFNBSVpDLGNBQWMsRUFFZEMsVUFBVTtBQUFBLFNBR1ZDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLFdBQVcsRUFDWEMsVUFBVSxFQUNWQyxZQUFZLEVBQ1pDLFlBQVk7QUFBQSxTQUVMQyxXQUFXO0FBRXBCLE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCUixXQUFXLEVBQ1hDLFlBQVksRUFDWkcsVUFBVSxFQUNWQyxZQUFZLEVB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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|