Commit 6c6f2ce8 authored by Emmanuel Raviart's avatar Emmanuel Raviart

Prettify using "npm run prettier".

parent 3081db3d
/src/raw_types/
......@@ -26,7 +26,7 @@ export function cleanDossierParlementaire(dossierParlementaire: any): void {
acteurs = [acteurs]
}
if (acteurs.length > 0) {
initiateur.acteurs = acteurs
initiateur.acteurs = acteurs
} else {
delete initiateur.acteurs
}
......@@ -40,7 +40,10 @@ export function cleanDossierParlementaire(dossierParlementaire: any): void {
delete initiateur.organes
}
if (initiateur.acteurs === undefined && initiateur.organeRef === undefined) {
if (
initiateur.acteurs === undefined &&
initiateur.organeRef === undefined
) {
delete dossierParlementaire.initiateur
}
}
......
......@@ -212,13 +212,17 @@ export function cleanScrutin(scrutin: any): void {
if (dysfonctionnement !== undefined) {
cleanDecompteNominatif(dysfonctionnement)
if (
Object.values(dysfonctionnement).filter(value => value !== undefined).length === 0
Object.values(dysfonctionnement).filter(value => value !== undefined)
.length === 0
) {
delete miseAuPoint.dysfonctionnement
}
}
if (Object.values(miseAuPoint).filter(value => value !== undefined).length === 0) {
if (
Object.values(miseAuPoint).filter(value => value !== undefined).length ===
0
) {
delete scrutin.miseAuPoint
}
}
......
......@@ -29,7 +29,10 @@ export function cleanXmlArtefacts(o: { [key: string]: any }): void {
const xmlns = o["@xmlns"]
if (xmlns !== undefined) {
assert.strictEqual(xmlns, "http://schemas.assemblee-nationale.fr/referentiel")
assert.strictEqual(
xmlns,
"http://schemas.assemblee-nationale.fr/referentiel",
)
delete o["@xmlns"]
}
......@@ -42,7 +45,10 @@ export function cleanXmlArtefacts(o: { [key: string]: any }): void {
// Remove null items.
for (const [key, value] of Object.entries(o)) {
if (value === null || (value !== undefined && value["@xsi:nil"] === "true")) {
if (
value === null ||
(value !== undefined && value["@xsi:nil"] === "true")
) {
delete o[key]
}
}
......
......@@ -148,7 +148,8 @@ export const datasets: Datasets = {
fs.moveSync(path.join(dataDir, "json"), targetDir)
},
structure: DatasetStructure.SegmentedFiles,
title: "Historique de tous les acteurs et organes depuis la XIème législature",
title:
"Historique de tous les acteurs et organes depuis la XIème législature",
url:
"http://data.assemblee-nationale.fr/static/openData/repository/15/amo/tous_acteurs_mandats_organes_xi_legislature/AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json.zip",
},
......@@ -186,8 +187,14 @@ export const datasets: Datasets = {
fs.removeSync(targetDir)
}
fs.mkdirSync(targetDir)
fs.moveSync(path.join(dataDir, "acteur"), path.join(targetDir, "acteur"))
fs.moveSync(path.join(dataDir, "organe"), path.join(targetDir, "organe"))
fs.moveSync(
path.join(dataDir, "acteur"),
path.join(targetDir, "acteur"),
)
fs.moveSync(
path.join(dataDir, "organe"),
path.join(targetDir, "organe"),
)
},
structure: DatasetStructure.SegmentedFiles,
title: "Députés actifs et organes de la XVème législature",
......@@ -216,9 +223,18 @@ export const datasets: Datasets = {
fs.removeSync(targetDir)
}
fs.mkdirSync(targetDir)
fs.moveSync(path.join(dataDir, "mandat"), path.join(targetDir, "mandat"))
fs.moveSync(path.join(dataDir, "acteur"), path.join(targetDir, "acteur"))
fs.moveSync(path.join(dataDir, "organe"), path.join(targetDir, "organe"))
fs.moveSync(
path.join(dataDir, "mandat"),
path.join(targetDir, "mandat"),
)
fs.moveSync(
path.join(dataDir, "acteur"),
path.join(targetDir, "acteur"),
)
fs.moveSync(
path.join(dataDir, "organe"),
path.join(targetDir, "organe"),
)
},
structure: DatasetStructure.SegmentedFiles,
title:
......
import { uncapitalizeFirstLetter } from "./strings"
import { CodeTypeOrgane } from "./types/acteurs_et_organes"
import { DossierParlementaire, ActeLegislatif } from "./types/dossiers_legislatifs"
import {
DossierParlementaire,
ActeLegislatif,
} from "./types/dossiers_legislatifs"
export enum FinalStatus {
Failure = "FAILURE",
......@@ -115,8 +118,8 @@ export function stateFromActePath(
finalStatus:
// Not sure for other cases => To improve.
// Engagement de la responsabilité gouvernementale
dossier.procedureParlementaire.code === "PROCEDURE_PARLEMENTAIRE_13" &&
libelle === "Motion rejeté(e)"
dossier.procedureParlementaire.code ===
"PROCEDURE_PARLEMENTAIRE_13" && libelle === "Motion rejeté(e)"
? FinalStatus.Failure
: FinalStatus.Success, // TODO: Not sure of this `true` value
label: uncapitalizeFirstLetter(libelle),
......
......@@ -11,7 +11,12 @@ export {
localIso8601StringFromDate,
patchedDateToJson,
} from "./dates"
export { stateFromDossier, Status, statusFromCodierLibelle, StatusOnly } from "./dossiers_legislatifs"
export {
stateFromDossier,
Status,
statusFromCodierLibelle,
StatusOnly,
} from "./dossiers_legislatifs"
export { shortNameFromOrgane } from "./organes"
export { capitalizeFirstLetter, uncapitalizeFirstLetter } from "./strings"
export {
......
......@@ -75,7 +75,10 @@ function insertActeLegislatifReferences(
insertDocumentReferences(document, data, visitedUids)
}
}
if (data.documentByUid !== undefined && acte.texteAssocieRef !== undefined) {
if (
data.documentByUid !== undefined &&
acte.texteAssocieRef !== undefined
) {
const document = data.documentByUid[acte.texteAssocieRef]
if (document !== undefined) {
acte.texteAssocie = document
......@@ -154,7 +157,10 @@ export function insertAmendementReferences(
insertActeurReferences(acteur, data, visitedUids)
}
}
if (data.organeByUid !== undefined && auteur.groupePolitiqueRef !== undefined) {
if (
data.organeByUid !== undefined &&
auteur.groupePolitiqueRef !== undefined
) {
const organe = data.organeByUid[auteur.groupePolitiqueRef]
if (organe !== undefined) {
auteur.groupePolitique = organe
......@@ -309,7 +315,10 @@ export function insertDossierReferences(
}
}
}
if (data.organeByUid !== undefined && initiateur.organeRef !== undefined) {
if (
data.organeByUid !== undefined &&
initiateur.organeRef !== undefined
) {
const organe = data.organeByUid[initiateur.organeRef]
if (organe !== undefined) {
initiateur.organe = organe
......@@ -330,7 +339,10 @@ export function insertOrganeReferences(
if (!visitedUids.has(organe.uid)) {
visitedUids.add(organe.uid)
if (data.organeByUid !== undefined && organe.organeParentRef !== undefined) {
if (
data.organeByUid !== undefined &&
organe.organeParentRef !== undefined
) {
const organeParent = data.organeByUid[organe.organeParentRef]
if (organeParent !== undefined) {
organe.organeParent = organeParent
......@@ -374,7 +386,10 @@ export function insertReunionReferences(
}
}
}
if (data.organeByUid !== undefined && reunion.organeReuniRef !== undefined) {
if (
data.organeByUid !== undefined &&
reunion.organeReuniRef !== undefined
) {
const organeReuni = data.organeByUid[reunion.organeReuniRef]
if (organeReuni !== undefined) {
reunion.organeReuni = organeReuni
......@@ -384,7 +399,8 @@ export function insertReunionReferences(
if (data.acteurByUid !== undefined) {
const participants = reunion.participants
if (participants !== undefined) {
for (const participantInterne of participants.participantsInternes || []) {
for (const participantInterne of participants.participantsInternes ||
[]) {
const acteur = data.acteurByUid[participantInterne.acteurRef]
if (acteur !== undefined) {
participantInterne.acteur = acteur
......
......@@ -153,10 +153,14 @@ export function loadAssembleeData(
const odj = reunion.odj
if (odj !== undefined) {
for (const pointOdj of odj.pointsOdj || []) {
for (const dossierLegislatifRef of pointOdj.dossiersLegislatifsRefs || []) {
let reunionsAtDossierUid = reunionsByDossierUid[dossierLegislatifRef]
for (const dossierLegislatifRef of pointOdj.dossiersLegislatifsRefs ||
[]) {
let reunionsAtDossierUid =
reunionsByDossierUid[dossierLegislatifRef]
if (reunionsAtDossierUid === undefined) {
reunionsAtDossierUid = reunionsByDossierUid[dossierLegislatifRef] = []
reunionsAtDossierUid = reunionsByDossierUid[
dossierLegislatifRef
] = []
}
reunionsAtDossierUid.push(reunion)
}
......@@ -185,7 +189,8 @@ export function loadAssembleeData(
)
for (const amendementSplitPath of walkDir(datasetDir)) {
const amendementFilename = amendementSplitPath[amendementSplitPath.length - 1]
const amendementFilename =
amendementSplitPath[amendementSplitPath.length - 1]
if (!amendementFilename.endsWith(".json")) {
continue
}
......@@ -259,17 +264,21 @@ export function loadAssembleeData(
const dossierJson: string = fs.readFileSync(dossierFilePath, {
encoding: "utf8",
})
const dossier = DossiersLegislatifsConvert.toDossierParlementaire(dossierJson)
const dossier = DossiersLegislatifsConvert.toDossierParlementaire(
dossierJson,
)
const titreDossier = dossier.titreDossier
if (
titreDossier.senatChemin &&
dossierParlementaireBySenatChemin[titreDossier.senatChemin] === undefined
dossierParlementaireBySenatChemin[titreDossier.senatChemin] ===
undefined
) {
dossierParlementaireBySenatChemin[titreDossier.senatChemin] = dossier
}
if (
titreDossier.titreChemin &&
dossierParlementaireByTitreChemin[titreDossier.titreChemin] === undefined
dossierParlementaireByTitreChemin[titreDossier.titreChemin] ===
undefined
) {
dossierParlementaireByTitreChemin[titreDossier.titreChemin] = dossier
}
......@@ -458,10 +467,14 @@ export function loadAssembleeDataFromBigFiles(
const odj = reunion.odj
if (odj !== undefined) {
for (const pointOdj of odj.pointsOdj || []) {
for (const dossierLegislatifRef of pointOdj.dossiersLegislatifsRefs || []) {
let reunionsAtDossierUid = reunionsByDossierUid[dossierLegislatifRef]
for (const dossierLegislatifRef of pointOdj.dossiersLegislatifsRefs ||
[]) {
let reunionsAtDossierUid =
reunionsByDossierUid[dossierLegislatifRef]
if (reunionsAtDossierUid === undefined) {
reunionsAtDossierUid = reunionsByDossierUid[dossierLegislatifRef] = []
reunionsAtDossierUid = reunionsByDossierUid[
dossierLegislatifRef
] = []
}
reunionsAtDossierUid.push(reunion)
}
......@@ -531,7 +544,9 @@ export function loadAssembleeDataFromBigFiles(
console.log(`Loading file: ${jsonFilePath}`)
}
const json: string = fs.readFileSync(jsonFilePath, { encoding: "utf8" })
const dossiersLegislatifs = DossiersLegislatifsConvert.toDossiersLegislatifs(json)
const dossiersLegislatifs = DossiersLegislatifsConvert.toDossiersLegislatifs(
json,
)
for (const document of dossiersLegislatifs.textesLegislatifs) {
if (documentByUid[document.uid] === undefined) {
documentByUid[document.uid] = document
......@@ -541,13 +556,15 @@ export function loadAssembleeDataFromBigFiles(
const titreDossier = dossier.titreDossier
if (
titreDossier.senatChemin &&
dossierParlementaireBySenatChemin[titreDossier.senatChemin] === undefined
dossierParlementaireBySenatChemin[titreDossier.senatChemin] ===
undefined
) {
dossierParlementaireBySenatChemin[titreDossier.senatChemin] = dossier
}
if (
titreDossier.titreChemin &&
dossierParlementaireByTitreChemin[titreDossier.titreChemin] === undefined
dossierParlementaireByTitreChemin[titreDossier.titreChemin] ===
undefined
) {
dossierParlementaireByTitreChemin[titreDossier.titreChemin] = dossier
}
......
......@@ -89,7 +89,9 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
state = "nextAlineaElement"
break
default:
throw `Unexpected tag name for alinea element: ${alineaElement!.tagName}`
throw `Unexpected tag name for alinea element: ${
alineaElement!.tagName
}`
}
break
case "firstAlineaElement":
......@@ -166,7 +168,9 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
// * http://www.assemblee-nationale.fr/15/textes/0232.asp
// * http://www.assemblee-nationale.fr/15/textes/0626.asp
// * http://www.assemblee-nationale.fr/15/textes/0676.asp
} else if (nameUpper === "JEUX_OLYMPIQUES_ET_PARALYMPIQUES_DE_2024") {
} else if (
nameUpper === "JEUX_OLYMPIQUES_ET_PARALYMPIQUES_DE_2024"
) {
// Occurs in http://www.assemblee-nationale.fr/15/textes/0676.asp
} else if (nameUpper === "TEXTE_DE_LA_COMMISSION_MIXTE_PARITAIRE") {
// Occurs in http://www.assemblee-nationale.fr/15/textes/1294.asp
......@@ -258,7 +262,9 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
.join("")
.trim()
if (lineText) {
const lineHtml = lineElements!.map(element => element.outerHTML).join("")
const lineHtml = lineElements!
.map(element => element.outerHTML)
.join("")
if (
subdivisionHeadersText!.length === 0 ||
(isMultiLinesHeader && subdivisionAlineasText!.length === 0)
......@@ -300,7 +306,9 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
.join("")
.trim()
if (lineText) {
const lineHtml = lineElements!.map(element => element.outerHTML).join("")
const lineHtml = lineElements!
.map(element => element.outerHTML)
.join("")
if (
subdivisionHeadersText!.length === 0 ||
(isMultiLinesHeader && subdivisionAlineasText!.length === 0)
......@@ -340,7 +348,9 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
break
}
default:
throw `Unexpected tag name for paragraph child: ${paragraphChild!.tagName}`
throw `Unexpected tag name for paragraph child: ${
paragraphChild!.tagName
}`
}
state = "nextParagraphChild"
break
......@@ -380,7 +390,10 @@ export function parseTexteLoi(assembleeUrl: string, page: string) {
}
export async function retrieveTexteLoiParsed(
fetch: (url: string | Request, init?: RequestInit | undefined) => Promise<Response>,
fetch: (
url: string | Request,
init?: RequestInit | undefined,
) => Promise<Response>,
assembleeUrl: string,
) {
const response = await fetch(assembleeUrl)
......
......@@ -17,7 +17,10 @@ import {
Convert as ActeursEtOrganesConvert,
} from "../types/acteurs_et_organes"
import { Agendas, Convert as AgendasConvert } from "../types/agendas"
import { Amendements, Convert as AmendementsConvert } from "../types/amendements"
import {
Amendements,
Convert as AmendementsConvert,
} from "../types/amendements"
import {
DossiersLegislatifs,
Convert as DossiersLegislatifsConvert,
......@@ -55,7 +58,9 @@ function cleanData(dataDir: string): void {
options.categories.map((datasetName: string) =>
assert.notStrictEqual(
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[datasetName],
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[
datasetName
],
undefined,
`Ùnknown name of dataset: ${datasetName}`,
),
......@@ -63,7 +68,9 @@ function cleanData(dataDir: string): void {
const enabledDatasets = options.categories.reduce(
(enabledDatasets: EnabledDatasets, datasetName: string): EnabledDatasets =>
enabledDatasets |
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[datasetName],
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[
datasetName
],
EnabledDatasets.None,
)
......@@ -75,7 +82,9 @@ function cleanData(dataDir: string): void {
encoding: "utf8",
})
const acteursEtOrganes: any = ActeursEtOrganesRawConvert.toActeursEtOrganes(rawJson)
const acteursEtOrganes: any = ActeursEtOrganesRawConvert.toActeursEtOrganes(
rawJson,
)
// const acteurs = jp.query(acteursEtOrganes, "$.export.acteurs.acteur")[0]
const organes = acteursEtOrganes.export.organes.organe
acteursEtOrganes.organes = organes
......@@ -91,7 +100,11 @@ function cleanData(dataDir: string): void {
cleanOrgane(organe)
}
const acteursEtOrganesJson: string = JSON.stringify(acteursEtOrganes, null, 2)
const acteursEtOrganesJson: string = JSON.stringify(
acteursEtOrganes,
null,
2,
)
// Validate generated JSON.
const acteursEtOrganesClean: ActeursEtOrganes = ActeursEtOrganesConvert.toActeursEtOrganes(
acteursEtOrganesJson,
......@@ -127,7 +140,9 @@ function cleanData(dataDir: string): void {
const agendasJson: string = JSON.stringify(agendas, null, 2)
// Validate generated JSON.
const agendasClean: Agendas = AgendasConvert.toAgendas(agendasJson)
const agendasCleanJson: string = AgendasConvert.agendasToJson(agendasClean)
const agendasCleanJson: string = AgendasConvert.agendasToJson(
agendasClean,
)
const jsonFilePath: string = path.join(
dataDir,
dataset.filename.replace(/\.json$/, "_nettoye.json"),
......@@ -195,7 +210,11 @@ function cleanData(dataDir: string): void {
cleanDossierParlementaire(dossierParlementaire)
}
const dossiersLegislatifsJson: string = JSON.stringify(dossiersLegislatifs, null, 2)
const dossiersLegislatifsJson: string = JSON.stringify(
dossiersLegislatifs,
null,
2,
)
// Validate generated JSON.
const dossiersLegislatifsClean: DossiersLegislatifs = DossiersLegislatifsConvert.toDossiersLegislatifs(
dossiersLegislatifsJson,
......@@ -231,7 +250,9 @@ function cleanData(dataDir: string): void {
const scrutinsJson: string = JSON.stringify(scrutins, null, 2)
// Validate generated JSON.
const scrutinsClean: Scrutins = ScrutinsConvert.toScrutins(scrutinsJson)
const scrutinsCleanJson: string = ScrutinsConvert.scrutinsToJson(scrutinsClean)
const scrutinsCleanJson: string = ScrutinsConvert.scrutinsToJson(
scrutinsClean,
)
const jsonFilePath: string = path.join(
dataDir,
dataset.filename.replace(/\.json$/, "_nettoye.json"),
......
This diff is collapsed.
......@@ -138,8 +138,7 @@ class LectureMapping {
}
printAnchors() {
for (const code of Array.from(this.codes))
console.log(`.. _${code}:`)
for (const code of Array.from(this.codes)) console.log(`.. _${code}:`)
}
getCodes() {
......@@ -247,18 +246,27 @@ class ActesDocumentation {
}),
CC: new Code2Pattern("^(/SAISIE/)?(/CONCLUSION/)?$", {}),
}),
"Rapport d'information sans mission": new Code2Pattern("^(/AN20/)?(/EU/)?$", {
AN20: new Code2Pattern("^(/RAPPORT/)?$", {}),
EU: new Code2Pattern("^(/DEC/)+$", {}),
}),
"Rapport d'information sans mission": new Code2Pattern(
"^(/AN20/)?(/EU/)?$",
{
AN20: new Code2Pattern("^(/RAPPORT/)?$", {}),
EU: new Code2Pattern("^(/DEC/)+$", {}),
},
),
"Mission d'information": new Code2Pattern("^(/AN20/)?$", {
AN20: new Code2Pattern("^(/MISINF/)?$", {
"AN20-MISINF": new Code2Pattern("^(/CREA/)?(/NOMIN/)?(/RAPPORT/)?$", {}),
"AN20-MISINF": new Code2Pattern(
"^(/CREA/)?(/NOMIN/)?(/RAPPORT/)?$",
{},
),
}),
}),
"Commission d'enquête": new Code2Pattern("^(/AN20/)?$", {
AN20: new Code2Pattern("^(/COMENQ/)?$", {
"AN20-COMENQ": new Code2Pattern("^(/CREA/)?(/NOMIN/)?(/RAPPORT/)?$", {}),
"AN20-COMENQ": new Code2Pattern(
"^(/CREA/)?(/NOMIN/)?(/RAPPORT/)?$",
{},
),
}),
}),
"Engagement de la responsabilité gouvernementale": new Code2Pattern(
......@@ -483,8 +491,7 @@ class ActesDocumentation {
printAnchors(key: string) {
if (key in this.anchorsPrinted) return
this.anchorsPrinted[key] = null
if (this.lectureMapper.has(key))
this.lectureMapper.printAnchors(key)
if (this.lectureMapper.has(key)) this.lectureMapper.printAnchors(key)
else console.log(`.. _${key}:`)
}
......@@ -547,7 +554,7 @@ class ActesDocumentation {
const aggregated = this.getAggregated(key)
const title = `\`${key} <${code}TOC_>\`__${aggregated}`
console.log(title)
const underline = new Array(title.length + 1).join('=')
const underline = new Array(title.length + 1).join("=")
console.log(underline)
this.printLevel(actes, "-~.'", this.code2pattern[key], null)
}
......
......@@ -46,13 +46,17 @@ function mergeAmendements(dataDir: string) {
[uid: string]: string[]
} = {}
for (const amendementSplitPath of walkDir(originalJsonDir)) {
const amendementFilename = amendementSplitPath[amendementSplitPath.length - 1]
const amendementFilename =
amendementSplitPath[amendementSplitPath.length - 1]
if (!amendementFilename.endsWith(".json")) {
continue
}
const uidTexteLegislatif = amendementSplitPath[amendementSplitPath.length - 2]
const uidTexteLegislatif =
amendementSplitPath[amendementSplitPath.length - 2]
let amendementsOriginalFilesPaths =
amendementsOriginalFilesPathsByUidTextLegislatif[uidTexteLegislatif]
amendementsOriginalFilesPathsByUidTextLegislatif[
uidTexteLegislatif
]
if (amendementsOriginalFilesPaths === undefined) {
amendementsOriginalFilesPaths = amendementsOriginalFilesPathsByUidTextLegislatif[
uidTexteLegislatif
......@@ -79,7 +83,9 @@ function mergeAmendements(dataDir: string) {
)
}
const amendementsOriginalFilesPaths =
amendementsOriginalFilesPathsByUidTextLegislatif[uidTexteLegislatif]
amendementsOriginalFilesPathsByUidTextLegislatif[
uidTexteLegislatif
]
amendementsOriginalFilesPaths.sort((a: string, b: string) =>
a.length === b.length ? a.localeCompare(b) : a.length - b.length,
)
......
......@@ -44,7 +44,8 @@ function mergeScrutins(dataDir: string) {
const scrutins = []
for (const scrutinSplitPath of walkDir(originalJsonDir)) {
const scrutinFilename = scrutinSplitPath[scrutinSplitPath.length - 1]
const scrutinFilename =
scrutinSplitPath[scrutinSplitPath.length - 1]
if (!scrutinFilename.endsWith(".json")) {
continue
}
......@@ -52,9 +53,12 @@ function mergeScrutins(dataDir: string) {
originalJsonDir,
...scrutinSplitPath,
)
const scrutinOriginalJson: string = fs.readFileSync(scrutinOriginalFilePath, {
encoding: "utf8",
})
const scrutinOriginalJson: string = fs.readFileSync(
scrutinOriginalFilePath,
{
encoding: "utf8",
},
)
const scrutinOriginal: any = JSON.parse(scrutinOriginalJson)
const scrutin = scrutinOriginal.scrutin
scrutins.push(scrutin)
......
This diff is collapsed.
......@@ -8,7 +8,12 @@ import util from "util"
import { EnabledDatasets } from "../datasets"
import { loadAssembleeData } from "../loaders"
import { CodeTypeOrgane, Mandat, Photo, TypeMandat } from "../types/acteurs_et_organes"
import {
CodeTypeOrgane,
Mandat,
Photo,
TypeMandat,
} from "../types/acteurs_et_organes"
const optionsDefinitions = [
{
......@@ -131,7 +136,9 @@ async function retrievePhotosDeputes(): Promise<boolean> {
: a.uid.length - b.uid.length,
)
const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined
const gitGroupUrl = options.clone
? options.clone.trim().replace(/\/+$/, "")
: undefined
const photosDirName = `photos_deputes_${options.legislature}`
if (gitGroupUrl !== undefined) {
execSync(`git clone ${gitGroupUrl}/${photosDirName}.git`, {
......@@ -156,7 +163,9 @@ async function retrievePhotosDeputes(): Promise<boolean> {
const photoTempFilePath = path.join(photosDir, photoTempFilename)
const urlPhoto = `http://www2.assemblee-nationale.fr/static/tribun/${options.legislature}/photos/${photoFilename}`
if (!options.silent) {
console.log(`Loading photo ${urlPhoto} for ${ident.prenom} ${ident.nom}…`)
console.log(
`Loading photo ${urlPhoto} for ${ident.prenom} ${ident.nom}…`,
)
}
for (let retries = 0; retries < 3; retries++) {
const response = await fetch(urlPhoto)
......@@ -166,7 +175,9 @@ async function retrievePhotosDeputes(): Promise<boolean> {
break
}
if (retries >= 2) {
console.warn(`Fetch failed: ${urlPhoto} (${ident.prenom} ${ident.nom})`)
console.warn(
`Fetch failed: ${urlPhoto} (${ident.prenom} ${ident.nom})`,
)
console.warn(response.status, response.statusText)
console.warn(await response.text())
if (fs.existsSync(photoFilePath)) {
......@@ -186,7 +197,9 @@ async function retrievePhotosDeputes(): Promise<boolean> {
const ident = depute.etatCivil.ident
const numeroDepute = depute.uid.substring(2)
if (!options.silent) {
console.log(`Resizing photo ${numeroDepute} for ${ident.prenom} ${ident.nom}…`)
console.log(
`Resizing photo ${numeroDepute} for ${ident.prenom} ${ident.nom}…`,
)
}
execSync(
`gm convert -resize 150x192! ${numeroDepute}.jpg ${numeroDepute}_150x192.jpg`,
......
......@@ -45,7 +45,9 @@ const pipeline = util.promisify(stream.pipeline)
async function retrieveOpenData(dataDir: string): Promise<void> {
options.categories.map((datasetName: string) =>
assert.notStrictEqual(
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[datasetName],
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[
datasetName
],
undefined,
`Ùnknown name of dataset: ${datasetName}`,
),
......@@ -53,7 +55,9 @@ async function retrieveOpenData(dataDir: string): Promise<void> {
const enabledDatasets = options.categories.reduce(
(enabledDatasets: EnabledDatasets, datasetName: string): EnabledDatasets =>
enabledDatasets |
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[datasetName],
((EnabledDatasets as any) as { [name: string]: EnabledDatasets })[
datasetName
],
EnabledDatasets.None,
)
......@@ -62,7 +66,9 @@ async function retrieveOpenData(dataDir: string): Promise<void> {
? datasets.acteursEtOrganes
: []),
...(enabledDatasets & EnabledDatasets.Agendas ? datasets.agendas : []),
...(enabledDatasets & EnabledDatasets.Amendements ? datasets.amendements : []),
...(enabledDatasets & EnabledDatasets.Amendements
? datasets.amendements
: []),
...(enabledDatasets & EnabledDatasets.DossiersLegislatifs
? datasets.dossiersLegislatifs
: []),
......@@ -119,12 +125,16 @@ async function retrieveOpenData(dataDir: string): Promise<void> {
for (const dataFileSplitPath of walkDir(dataDirOrFilePath)) {
const dataFilePath = path.join(dataDirOrFilePath, ...dataFileSplitPath)
if (dataFilePath.endsWith(".json")) {
const data = JSON.parse(fs.readFileSync(dataFilePath, { encoding: "utf-8" }))
const data = JSON.parse(
fs.readFileSync(dataFilePath, { encoding: "utf-8" }),
)
fs.writeFileSync(dataFilePath, JSON.stringify(data, null, 2))
}
}
} else {