@tricoteuses/senat
Version:
Handle French Sénat's open data
93 lines (92 loc) • 13.5 kB
JavaScript
;
require("core-js/modules/es.object.define-property.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.datasets = exports.EnabledDatasets = void 0;
exports.getChosenFromEnabledDatasets = getChosenFromEnabledDatasets;
exports.getEnabledDatasets = getEnabledDatasets;
require("core-js/modules/es.array.filter.js");
require("core-js/modules/es.array.join.js");
require("core-js/modules/es.array.map.js");
require("core-js/modules/es.array.reduce.js");
require("core-js/modules/es.object.to-string.js");
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
var _assert = _interopRequireDefault(require("assert"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var EnabledDatasets = exports.EnabledDatasets = /*#__PURE__*/function (EnabledDatasets) {
EnabledDatasets[EnabledDatasets["None"] = 0] = "None";
EnabledDatasets[EnabledDatasets["Ameli"] = 1] = "Ameli";
EnabledDatasets[EnabledDatasets["Debats"] = 2] = "Debats";
EnabledDatasets[EnabledDatasets["DosLeg"] = 4] = "DosLeg";
EnabledDatasets[EnabledDatasets["Questions"] = 8] = "Questions";
EnabledDatasets[EnabledDatasets["Sens"] = 16] = "Sens";
EnabledDatasets[EnabledDatasets["PhotosSenateurs"] = 32] = "PhotosSenateurs";
EnabledDatasets[EnabledDatasets["All"] = 63] = "All";
return EnabledDatasets;
}({});
var datasets = exports.datasets = {
ameli: {
database: "ameli",
repairEncoding: false,
repairZip: function repairZip(dataset, dataDir) {
var sqlFilename = "".concat(dataset.database, ".sql");
var sqlFilePath = _path["default"].join(dataDir, sqlFilename);
_fsExtra["default"].removeSync(sqlFilePath);
_fsExtra["default"].moveSync(_path["default"].join(dataDir, "var", "opt", "opendata", sqlFilename), sqlFilePath);
},
schema: "public",
title: "Amendements",
url: "https://data.senat.fr/data/ameli/ameli.zip"
},
debats: {
database: "debats",
repairEncoding: true,
schema: "public",
title: "Informations relatives aux comptes rendus intégraux de la séance publique",
url: "https://data.senat.fr/data/debats/debats.zip"
},
dosleg: {
database: "dosleg",
repairEncoding: true,
schema: "public",
title: "Dossiers législatifs",
url: "https://data.senat.fr/data/dosleg/dosleg.zip"
},
questions: {
database: "questions",
repairEncoding: true,
schema: "questions",
title: "Questions écrites et orales posées par les sénateurs au Gouvernement",
url: "https://data.senat.fr/data/questions/questions.zip"
},
sens: {
database: "sens",
repairEncoding: true,
repairZip: function repairZip(dataset, dataDir) {
var sqlFilename = "".concat(dataset.database, ".sql");
var sqlFilePath = _path["default"].join(dataDir, sqlFilename);
_fsExtra["default"].removeSync(sqlFilePath);
_fsExtra["default"].moveSync(_path["default"].join(dataDir, "export_sens.sql"), sqlFilePath);
},
schema: "public",
title: "Sénateurs (y compris organes et présence)",
url: "https://data.senat.fr/data/senateurs/export_sens.zip"
}
};
function getEnabledDatasets(categories) {
categories.map(function (datasetName) {
return _assert["default"].notStrictEqual(EnabledDatasets[datasetName], undefined, "Unknown name of dataset: ".concat(datasetName));
});
return categories.reduce(function (enabledDatasets, datasetName) {
return enabledDatasets | EnabledDatasets[datasetName];
}, EnabledDatasets.None);
}
function getChosenFromEnabledDatasets(categories) {
var enabledDatasets = getEnabledDatasets(categories);
return [enabledDatasets & EnabledDatasets.Ameli ? datasets.ameli : null, enabledDatasets & EnabledDatasets.Debats ? datasets.debats : null, enabledDatasets & EnabledDatasets.DosLeg ? datasets.dosleg : null, enabledDatasets & EnabledDatasets.Questions ? datasets.questions : null, enabledDatasets & EnabledDatasets.Sens ? datasets.sens : null].filter(function (dataset) {
return dataset !== null;
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3BhdGgiLCJfYXNzZXJ0IiwiZSIsIl9fZXNNb2R1bGUiLCJFbmFibGVkRGF0YXNldHMiLCJleHBvcnRzIiwiZGF0YXNldHMiLCJhbWVsaSIsImRhdGFiYXNlIiwicmVwYWlyRW5jb2RpbmciLCJyZXBhaXJaaXAiLCJkYXRhc2V0IiwiZGF0YURpciIsInNxbEZpbGVuYW1lIiwiY29uY2F0Iiwic3FsRmlsZVBhdGgiLCJwYXRoIiwiam9pbiIsImZzIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwic2NoZW1hIiwidGl0bGUiLCJ1cmwiLCJkZWJhdHMiLCJkb3NsZWciLCJxdWVzdGlvbnMiLCJzZW5zIiwiZ2V0RW5hYmxlZERhdGFzZXRzIiwiY2F0ZWdvcmllcyIsIm1hcCIsImRhdGFzZXROYW1lIiwiYXNzZXJ0Iiwibm90U3RyaWN0RXF1YWwiLCJ1bmRlZmluZWQiLCJyZWR1Y2UiLCJlbmFibGVkRGF0YXNldHMiLCJOb25lIiwiZ2V0Q2hvc2VuRnJvbUVuYWJsZWREYXRhc2V0cyIsIkFtZWxpIiwiRGViYXRzIiwiRG9zTGVnIiwiUXVlc3Rpb25zIiwiU2VucyIsImZpbHRlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhc2V0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldCB7XG4gIGRhdGFiYXNlOiBzdHJpbmdcbiAgcmVwYWlyRW5jb2Rpbmc6IGJvb2xlYW5cbiAgcmVwYWlyWmlwPzogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4gdm9pZFxuICBzY2hlbWE6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHMge1xuICBhbWVsaTogRGF0YXNldFxuICBkZWJhdHM6IERhdGFzZXRcbiAgZG9zbGVnOiBEYXRhc2V0XG4gIHF1ZXN0aW9uczogRGF0YXNldFxuICBzZW5zOiBEYXRhc2V0XG59XG5cbmV4cG9ydCBlbnVtIEVuYWJsZWREYXRhc2V0cyB7XG4gIE5vbmUgPSAwLFxuICBBbWVsaSA9IDEgPDwgMCxcbiAgRGViYXRzID0gMSA8PCAxLFxuICBEb3NMZWcgPSAxIDw8IDIsXG4gIFF1ZXN0aW9ucyA9IDEgPDwgMyxcbiAgU2VucyA9IDEgPDwgNCxcbiAgUGhvdG9zU2VuYXRldXJzID0gMSA8PCA1LFxuICBBbGwgPSBBbWVsaSB8IERlYmF0cyB8IERvc0xlZyB8IFF1ZXN0aW9ucyB8IFNlbnMgfCBQaG90b3NTZW5hdGV1cnMsXG59XG5cbmV4cG9ydCBjb25zdCBkYXRhc2V0czogRGF0YXNldHMgPSB7XG4gIGFtZWxpOiB7XG4gICAgZGF0YWJhc2U6IFwiYW1lbGlcIixcbiAgICByZXBhaXJFbmNvZGluZzogZmFsc2UsXG4gICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzcWxGaWxlbmFtZSA9IGAke2RhdGFzZXQuZGF0YWJhc2V9LnNxbGBcbiAgICAgIGNvbnN0IHNxbEZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFEaXIsIHNxbEZpbGVuYW1lKVxuICAgICAgZnMucmVtb3ZlU3luYyhzcWxGaWxlUGF0aClcbiAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJ2YXJcIiwgXCJvcHRcIiwgXCJvcGVuZGF0YVwiLCBzcWxGaWxlbmFtZSksXG4gICAgICAgIHNxbEZpbGVQYXRoLFxuICAgICAgKVxuICAgIH0sXG4gICAgc2NoZW1hOiBcInB1YmxpY1wiLFxuICAgIHRpdGxlOiBcIkFtZW5kZW1lbnRzXCIsXG4gICAgdXJsOiBcImh0dHBzOi8vZGF0YS5zZW5hdC5mci9kYXRhL2FtZWxpL2FtZWxpLnppcFwiLFxuICB9LFxuICBkZWJhdHM6IHtcbiAgICBkYXRhYmFzZTogXCJkZWJhdHNcIixcbiAgICByZXBhaXJFbmNvZGluZzogdHJ1ZSxcbiAgICBzY2hlbWE6IFwicHVibGljXCIsXG4gICAgdGl0bGU6XG4gICAgICBcIkluZm9ybWF0aW9ucyByZWxhdGl2ZXMgYXV4IGNvbXB0ZXMgcmVuZHVzIGludMOpZ3JhdXggZGUgbGEgc8OpYW5jZSBwdWJsaXF1ZVwiLFxuICAgIHVybDogXCJodHRwczovL2RhdGEuc2VuYXQuZnIvZGF0YS9kZWJhdHMvZGViYXRzLnppcFwiLFxuICB9LFxuICBkb3NsZWc6IHtcbiAgICBkYXRhYmFzZTogXCJkb3NsZWdcIixcbiAgICByZXBhaXJFbmNvZGluZzogdHJ1ZSxcbiAgICBzY2hlbWE6IFwicHVibGljXCIsXG4gICAgdGl0bGU6IFwiRG9zc2llcnMgbMOpZ2lzbGF0aWZzXCIsXG4gICAgdXJsOiBcImh0dHBzOi8vZGF0YS5zZW5hdC5mci9kYXRhL2Rvc2xlZy9kb3NsZWcuemlwXCIsXG4gIH0sXG4gIHF1ZXN0aW9uczoge1xuICAgIGRhdGFiYXNlOiBcInF1ZXN0aW9uc1wiLFxuICAgIHJlcGFpckVuY29kaW5nOiB0cnVlLFxuICAgIHNjaGVtYTogXCJxdWVzdGlvbnNcIixcbiAgICB0aXRsZTpcbiAgICAgIFwiUXVlc3Rpb25zIMOpY3JpdGVzIGV0IG9yYWxlcyBwb3PDqWVzIHBhciBsZXMgc8OpbmF0ZXVycyBhdSBHb3V2ZXJuZW1lbnRcIixcbiAgICB1cmw6IFwiaHR0cHM6Ly9kYXRhLnNlbmF0LmZyL2RhdGEvcXVlc3Rpb25zL3F1ZXN0aW9ucy56aXBcIixcbiAgfSxcbiAgc2Vuczoge1xuICAgIGRhdGFiYXNlOiBcInNlbnNcIixcbiAgICByZXBhaXJFbmNvZGluZzogdHJ1ZSxcbiAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHNxbEZpbGVuYW1lID0gYCR7ZGF0YXNldC5kYXRhYmFzZX0uc3FsYFxuICAgICAgY29uc3Qgc3FsRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YURpciwgc3FsRmlsZW5hbWUpXG4gICAgICBmcy5yZW1vdmVTeW5jKHNxbEZpbGVQYXRoKVxuICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwiZXhwb3J0X3NlbnMuc3FsXCIpLCBzcWxGaWxlUGF0aClcbiAgICB9LFxuICAgIHNjaGVtYTogXCJwdWJsaWNcIixcbiAgICB0aXRsZTogXCJTw6luYXRldXJzICh5IGNvbXByaXMgb3JnYW5lcyBldCBwcsOpc2VuY2UpXCIsXG4gICAgdXJsOiBcImh0dHBzOi8vZGF0YS5zZW5hdC5mci9kYXRhL3NlbmF0ZXVycy9leHBvcnRfc2Vucy56aXBcIixcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVuYWJsZWREYXRhc2V0cyhjYXRlZ29yaWVzOiBhbnkpOiBFbmFibGVkRGF0YXNldHMge1xuICBjYXRlZ29yaWVzLm1hcCgoZGF0YXNldE5hbWU6IHN0cmluZykgPT5cbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAoRW5hYmxlZERhdGFzZXRzIGFzIGFueSBhcyB7IFtuYW1lOiBzdHJpbmddOiBFbmFibGVkRGF0YXNldHMgfSlbXG4gICAgICAgIGRhdGFzZXROYW1lXG4gICAgICBdLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgYFVua25vd24gbmFtZSBvZiBkYXRhc2V0OiAke2RhdGFzZXROYW1lfWAsXG4gICAgKSxcbiAgKVxuXG4gIHJldHVybiBjYXRlZ29yaWVzLnJlZHVjZShcbiAgICAoZW5hYmxlZERhdGFzZXRzOiBFbmFibGVkRGF0YXNldHMsIGRhdGFzZXROYW1lOiBzdHJpbmcpOiBFbmFibGVkRGF0YXNldHMgPT5cbiAgICAgIGVuYWJsZWREYXRhc2V0cyB8XG4gICAgICAoRW5hYmxlZERhdGFzZXRzIGFzIGFueSBhcyB7IFtuYW1lOiBzdHJpbmddOiBFbmFibGVkRGF0YXNldHMgfSlbXG4gICAgICAgIGRhdGFzZXROYW1lXG4gICAgICBdLFxuICAgIEVuYWJsZWREYXRhc2V0cy5Ob25lLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaG9zZW5Gcm9tRW5hYmxlZERhdGFzZXRzKGNhdGVnb3JpZXM6IGFueSk6IERhdGFzZXRbXSB7XG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IGdldEVuYWJsZWREYXRhc2V0cyhjYXRlZ29yaWVzKVxuICByZXR1cm4gIFtcbiAgICBlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQW1lbGkgPyBkYXRhc2V0cy5hbWVsaSA6IG51bGwsXG4gICAgZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRlYmF0cyA/IGRhdGFzZXRzLmRlYmF0cyA6IG51bGwsXG4gICAgZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc0xlZyA/IGRhdGFzZXRzLmRvc2xlZyA6IG51bGwsXG4gICAgZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucyA/IGRhdGFzZXRzLnF1ZXN0aW9ucyA6IG51bGwsXG4gICAgZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlNlbnMgPyBkYXRhc2V0cy5zZW5zIDogbnVsbCxcbiAgXS5maWx0ZXIoKGRhdGFzZXQ6IERhdGFzZXQgfCBudWxsKSA9PiBkYXRhc2V0ICE9PSBudWxsKSBhcyBEYXRhc2V0W11cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBMkIsU0FBQUQsdUJBQUFJLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLElBbUJmRSxlQUFlLEdBQUFDLE9B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