@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
26 lines • 7.89 kB
JavaScript
import commandLineArgs from "command-line-args";
import { datasets, EnabledDatasets, getEnabledDatasets } from "../datasets.mjs";
import { Legislature } from "../types/legislatures.mjs";
import { categoriesOption, dataDirDefaultOption, fetchOption, fetchDocumentsOption, legislatureOption, silentOption, parseDocumentsOption, documentFormatOption } from "./shared/cli_helpers.mjs";
import { processDataset } from "./process_open_dataset.mjs";
const optionsDefinitions = [categoriesOption, legislatureOption, silentOption, dataDirDefaultOption, fetchOption, fetchDocumentsOption, parseDocumentsOption, documentFormatOption];
const options = commandLineArgs(optionsDefinitions);
async function retrieveOpenData(dataDir) {
const enabledDatasets = getEnabledDatasets(options.categories);
let chosenDatasets = [...(enabledDatasets & EnabledDatasets.ActeursEtOrganes ? datasets.acteursEtOrganes : []), ...(enabledDatasets & EnabledDatasets.Agendas ? datasets.agendas : []), ...(enabledDatasets & EnabledDatasets.Amendements ? datasets.amendements : []), ...(enabledDatasets & EnabledDatasets.DossiersLegislatifs ? datasets.dossiersLegislatifs : []), ...(enabledDatasets & EnabledDatasets.Scrutins ? datasets.scrutins : []), ...(enabledDatasets & EnabledDatasets.Questions ? datasets.questions : []), ...(enabledDatasets & EnabledDatasets.ComptesRendusSeances ? datasets.comptesRendusSeances : [])];
if (options.legislature !== 0 && options.legislature !== undefined) {
chosenDatasets = chosenDatasets.filter(dataset => dataset.legislature === Legislature.All || options.legislature === dataset.legislature);
}
for (const dataset of chosenDatasets) {
await processDataset({
dataDir,
dataset,
options
});
}
}
retrieveOpenData(options.dataDir).catch(error => {
console.log(error);
process.exit(1);
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJkYXRhc2V0cyIsIkVuYWJsZWREYXRhc2V0cyIsImdldEVuYWJsZWREYXRhc2V0cyIsIkxlZ2lzbGF0dXJlIiwiY2F0ZWdvcmllc09wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwiZmV0Y2hPcHRpb24iLCJmZXRjaERvY3VtZW50c09wdGlvbiIsImxlZ2lzbGF0dXJlT3B0aW9uIiwic2lsZW50T3B0aW9uIiwicGFyc2VEb2N1bWVudHNPcHRpb24iLCJkb2N1bWVudEZvcm1hdE9wdGlvbiIsInByb2Nlc3NEYXRhc2V0Iiwib3B0aW9uc0RlZmluaXRpb25zIiwib3B0aW9ucyIsInJldHJpZXZlT3BlbkRhdGEiLCJkYXRhRGlyIiwiZW5hYmxlZERhdGFzZXRzIiwiY2F0ZWdvcmllcyIsImNob3NlbkRhdGFzZXRzIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImFjdGV1cnNFdE9yZ2FuZXMiLCJBZ2VuZGFzIiwiYWdlbmRhcyIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwiZG9zc2llcnNMZWdpc2xhdGlmcyIsIlNjcnV0aW5zIiwic2NydXRpbnMiLCJRdWVzdGlvbnMiLCJxdWVzdGlvbnMiLCJDb21wdGVzUmVuZHVzU2VhbmNlcyIsImNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwibGVnaXNsYXR1cmUiLCJ1bmRlZmluZWQiLCJmaWx0ZXIiLCJkYXRhc2V0IiwiQWxsIiwiY2F0Y2giLCJlcnJvciIsImNvbnNvbGUiLCJsb2ciLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX29wZW5fZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQge1xuICBEYXRhc2V0LFxuICBkYXRhc2V0cyxcbiAgRW5hYmxlZERhdGFzZXRzLFxuICBnZXRFbmFibGVkRGF0YXNldHMsXG59IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuaW1wb3J0IHtcbiAgY2F0ZWdvcmllc09wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBmZXRjaERvY3VtZW50c09wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgcGFyc2VEb2N1bWVudHNPcHRpb24sXG4gIGRvY3VtZW50Rm9ybWF0T3B0aW9uLFxufSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuaW1wb3J0IHsgcHJvY2Vzc0RhdGFzZXQgfSBmcm9tIFwiLi9wcm9jZXNzX29wZW5fZGF0YXNldFwiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2F0ZWdvcmllc09wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBmZXRjaERvY3VtZW50c09wdGlvbixcbiAgcGFyc2VEb2N1bWVudHNPcHRpb24sXG4gIGRvY3VtZW50Rm9ybWF0T3B0aW9uLFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlT3BlbkRhdGEoZGF0YURpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IGdldEVuYWJsZWREYXRhc2V0cyhvcHRpb25zLmNhdGVnb3JpZXMpXG5cbiAgbGV0IGNob3NlbkRhdGFzZXRzID0gW1xuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lc1xuICAgICAgPyBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzXG4gICAgICA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFnZW5kYXMgPyBkYXRhc2V0cy5hZ2VuZGFzIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQW1lbmRlbWVudHNcbiAgICAgID8gZGF0YXNldHMuYW1lbmRlbWVudHNcbiAgICAgIDogW10pLFxuICAgIC4uLihlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmc1xuICAgICAgPyBkYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzXG4gICAgICA6IFtdKSxcbiAgICAuLi4oZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlNjcnV0aW5zID8gZGF0YXNldHMuc2NydXRpbnMgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5RdWVzdGlvbnMgPyBkYXRhc2V0cy5xdWVzdGlvbnMgOiBbXSksXG4gICAgLi4uKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Db21wdGVzUmVuZHVzU2VhbmNlc1xuICAgICAgPyBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlc1xuICAgICAgOiBbXSksXG4gIF1cblxuICBpZiAob3B0aW9ucy5sZWdpc2xhdHVyZSAhPT0gMCAmJiBvcHRpb25zLmxlZ2lzbGF0dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjaG9zZW5EYXRhc2V0cyA9IGNob3NlbkRhdGFzZXRzLmZpbHRlcihcbiAgICAgIChkYXRhc2V0OiBEYXRhc2V0KSA9PlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlID09PSBMZWdpc2xhdHVyZS5BbGwgfHxcbiAgICAgICAgb3B0aW9ucy5sZWdpc2xhdHVyZSA9PT0gZGF0YXNldC5sZWdpc2xhdHVyZSxcbiAgICApXG4gIH1cblxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgY2hvc2VuRGF0YXNldHMpIHtcbiAgICBhd2FpdCBwcm9jZXNzRGF0YXNldCh7IGRhdGFEaXIsIGRhdGFzZXQsIG9wdGlvbnMgfSlcbiAgfVxufVxuXG5yZXRyaWV2ZU9wZW5EYXRhKG9wdGlvbnMuZGF0YURpcikuY2F0Y2goKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUubG9nKGVycm9yKVxuICBwcm9jZXNzLmV4aXQoMSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSxtQkFBbUI7QUFBQSxTQUc3Q0MsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLGtCQUFrQjtBQUFBLFNBRVhDLFdBQVc7QUFBQSxTQUVsQkMsZ0JBQWdCLEVBQ2hCQyxvQkFBb0IsRUFDcEJDLFdBQVcsRUFDWEMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyxvQkFBb0I7QUFBQSxTQUViQyxjQUFjO0FBRXZCLE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCVCxnQkFBZ0IsRUFDaEJJLGlCQUFpQixFQUNqQkMsWUFBWSxFQUNaSixvQkFBb0IsRUFDcEJDLFdBQVcsRUFDWEMsb0JBQW9CLEVBQ3BCRyxvQkFBb0IsRUFDcEJDLG9CQUFvQixDQUNyQjtBQUNELE1BQU1HLE9BQU8sR0FBR2YsZUFBZSxDQUFDYyxrQkFBa0IsQ0FBQztBQUVuRCxlQUFlRSxnQkFBZ0JBLENBQUNDLE9BQWUsRUFBaUI7RUFDOUQsTUFBTUMsZUFBZSxHQUFHZixrQkFBa0IsQ0FBQ1ksT0FBTyxDQUFDSSxVQUFVLENBQUM7RUFFOUQsSUFBSUMsY0FBYyxHQUFHLENBQ25CLElBQUlGLGVBQWUsR0FBR2hCLGVBQWUsQ0FBQ21CLGdCQUFnQixHQUNsRHBCLFFBQVEsQ0FBQ3FCLGdCQUFnQixHQUN6QixFQUFFLENBQUMsRUFDUCxJQUFJSixlQUFlLEdBQUdoQixlQUFlLENBQUNxQixPQUFPLEdBQUd0QixRQUFRLENBQUN1QixPQUFPLEdBQUcsRUFBRSxDQUFDLEVBQ3RFLElBQUlOLGVBQWUsR0FBR2hCLGVBQWUsQ0FBQ3VCLFdBQVcsR0FDN0N4QixRQUFRLENBQUN5QixXQUFXLEdBQ3BCLEVBQUUsQ0FBQyxFQUNQLElBQUlSLGVBQWUsR0FBR2hCLGVBQWUsQ0FBQ3lCLG1CQUFtQixHQUNyRDFCLFFBQVEsQ0FBQzJCLG1CQUFtQixHQUM1QixFQUFFLENBQUMsRUFDUCxJQUFJVixlQUFlLEdBQUdoQixlQUFlLENBQUMyQixRQUFRLEdBQUc1QixRQUFRLENBQUM2QixRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQ3hFLElBQUlaLGVBQWUsR0FBR2hCLGVBQWUsQ0FBQzZCLFNBQVMsR0FBRzlCLFFBQVEsQ0FBQytCLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFDMUUsSUFBSWQsZUFBZSxHQUFHaEIsZUFBZSxDQUFDK0Isb0JBQW9CLEdBQ3REaEMsUUFBUSxDQUFDaUMsb0JBQW9CLEdBQzdCLEVBQUUsQ0FBQyxDQUNSO0VBRUQsSUFBSW5CLE9BQU8sQ0FBQ29CLFdBQVcsS0FBSyxDQUFDLElBQUlwQixPQUFPLENBQUNvQixXQUFXLEtBQUtDLFNBQVMsRUFBRTtJQUNsRWhCLGNBQWMsR0FBR0EsY0FBYyxDQUFDaUIsTUFBTSxDQUNuQ0MsT0FBZ0IsSUFDZkEsT0FBTyxDQUFDSCxXQUFXLEtBQUsvQixXQUFXLENBQUNtQyxHQUFHLElBQ3ZDeEIsT0FBTyxDQUFDb0IsV0FBVyxLQUFLRyxPQUFPLENBQUNILFdBQ3BDLENBQUM7RUFDSDtFQUVBLEtBQUssTUFBTUcsT0FBTyxJQUFJbEIsY0FBYyxFQUFFO0lBQ3BDLE1BQU1QLGNBQWMsQ0FBQztNQUFFSSxPQUFPO01BQUVxQixPQUFPO01BQUV2QjtJQUFRLENBQUMsQ0FBQztFQUNyRDtBQUNGO0FBRUFDLGdCQUFnQixDQUFDRCxPQUFPLENBQUNFLE9BQU8sQ0FBQyxDQUFDdUIsS0FBSyxDQUFFQyxLQUFLLElBQUs7RUFDakRDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDRixLQUFLLENBQUM7RUFDbEJHLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=