@tricoteuses/senat 1.1.1 → 1.3.1
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 +53 -15
- package/lib/aggregates.d.ts +4 -6
- package/lib/aggregates.mjs +908 -780
- package/lib/aggregates.ts +8 -122
- package/lib/data/legislatures.json +38 -0
- package/lib/databases.d.ts +9 -0
- package/lib/databases.js +41 -11
- package/lib/databases.mjs +32 -1
- package/lib/databases.ts +40 -1
- package/lib/fields.mjs +64 -18
- package/lib/index.d.ts +5 -6
- package/lib/index.js +8 -99
- package/lib/index.mjs +4 -6
- package/lib/index.ts +9 -26
- package/lib/inserters.d.ts +0 -4
- package/lib/inserters.mjs +461 -337
- package/lib/inserters.ts +0 -24
- package/lib/legislatures.json +38 -0
- package/lib/loaders.d.ts +64 -0
- package/lib/loaders.js +682 -0
- package/lib/loaders.mjs +158 -0
- package/lib/loaders.ts +271 -0
- package/lib/model/ameli.d.ts +105 -4
- package/lib/model/ameli.js +20 -160
- package/lib/model/ameli.mjs +84 -57
- package/lib/model/ameli.ts +94 -80
- package/lib/model/debats.d.ts +0 -4
- package/lib/model/debats.js +1 -122
- package/lib/model/debats.mjs +1 -43
- package/lib/model/debats.ts +0 -68
- package/lib/model/dosleg.d.ts +227 -29
- package/lib/model/dosleg.js +92 -832
- package/lib/model/dosleg.mjs +196 -337
- package/lib/model/dosleg.ts +213 -531
- package/lib/model/index.d.ts +4 -5
- package/lib/model/index.js +14 -15
- package/lib/model/index.mjs +4 -5
- package/lib/model/index.ts +8 -5
- package/lib/model/questions.d.ts +88 -2
- package/lib/model/questions.js +40 -45
- package/lib/model/questions.mjs +71 -8
- package/lib/model/questions.ts +90 -11
- package/lib/model/sens.d.ts +524 -2
- package/lib/model/sens.js +172 -49
- package/lib/model/sens.mjs +415 -9
- package/lib/model/sens.ts +514 -16
- package/lib/model/texte.d.ts +7 -0
- package/lib/model/texte.js +321 -0
- package/lib/model/texte.mjs +208 -0
- package/lib/model/texte.ts +229 -0
- package/lib/model/util.d.ts +7 -1
- package/lib/model/util.js +37 -53
- package/lib/model/util.mjs +19 -10
- package/lib/model/util.ts +30 -14
- package/lib/raw_types/ameli.d.ts +912 -538
- package/lib/raw_types/ameli.js +1 -39
- package/lib/raw_types/ameli.mjs +4 -1
- package/lib/raw_types/ameli.ts +947 -597
- package/lib/raw_types/debats.d.ts +204 -124
- package/lib/raw_types/debats.js +1 -18
- package/lib/raw_types/debats.mjs +4 -1
- package/lib/raw_types/debats.ts +218 -141
- package/lib/raw_types/dosleg.d.ts +3533 -2024
- package/lib/raw_types/dosleg.js +1 -92
- package/lib/raw_types/dosleg.mjs +4 -1
- package/lib/raw_types/dosleg.ts +3621 -2189
- package/lib/raw_types/questions.d.ts +404 -220
- package/lib/raw_types/questions.js +1 -18
- package/lib/raw_types/questions.mjs +4 -1
- package/lib/raw_types/questions.ts +404 -226
- package/lib/raw_types/sens.d.ts +4391 -2706
- package/lib/raw_types/sens.js +1 -108
- package/lib/raw_types/sens.mjs +4 -1
- package/lib/raw_types/sens.ts +4495 -2903
- package/lib/raw_types_kysely/ameli.d.ts +6 -0
- package/lib/raw_types_kysely/ameli.mjs +7 -0
- package/lib/raw_types_kysely/ameli.ts +6 -0
- package/lib/raw_types_kysely/debats.d.ts +6 -0
- package/lib/raw_types_kysely/debats.mjs +7 -0
- package/lib/raw_types_kysely/debats.ts +6 -0
- package/lib/raw_types_kysely/dosleg.d.ts +6 -0
- package/lib/raw_types_kysely/dosleg.mjs +7 -0
- package/lib/raw_types_kysely/dosleg.ts +6 -0
- package/lib/raw_types_kysely/questions.d.ts +6 -0
- package/lib/raw_types_kysely/questions.mjs +7 -0
- package/lib/raw_types_kysely/questions.ts +6 -0
- package/lib/raw_types_kysely/sens.d.ts +6 -0
- package/lib/raw_types_kysely/sens.mjs +7 -0
- package/lib/raw_types_kysely/sens.ts +6 -0
- package/lib/raw_types_kysely/texte.d.ts +45 -0
- package/lib/raw_types_kysely/texte.mjs +7 -0
- package/lib/raw_types_kysely/texte.ts +53 -0
- package/lib/raw_types_schemats/ameli.d.ts +541 -0
- package/lib/raw_types_schemats/ameli.js +45 -0
- package/lib/raw_types_schemats/ameli.mjs +2 -0
- package/lib/raw_types_schemats/ameli.ts +601 -0
- package/lib/raw_types_schemats/debats.d.ts +127 -0
- package/lib/raw_types_schemats/debats.js +24 -0
- package/lib/raw_types_schemats/debats.mjs +2 -0
- package/lib/raw_types_schemats/debats.ts +145 -0
- package/lib/raw_types_schemats/dosleg.d.ts +2029 -0
- package/lib/raw_types_schemats/dosleg.js +98 -0
- package/lib/raw_types_schemats/dosleg.mjs +2 -0
- package/lib/raw_types_schemats/dosleg.ts +2195 -0
- package/lib/raw_types_schemats/questions.d.ts +233 -0
- package/lib/raw_types_schemats/questions.js +24 -0
- package/lib/raw_types_schemats/questions.mjs +2 -0
- package/lib/raw_types_schemats/questions.ts +251 -0
- package/lib/raw_types_schemats/sens.d.ts +2709 -0
- package/lib/raw_types_schemats/sens.js +114 -0
- package/lib/raw_types_schemats/sens.mjs +2 -0
- package/lib/raw_types_schemats/sens.ts +2907 -0
- package/lib/scripts/convert_data.js +574 -215
- package/lib/scripts/convert_data.mjs +134 -99
- package/lib/scripts/convert_data.ts +173 -112
- package/lib/scripts/datautil.d.ts +5 -0
- package/lib/scripts/datautil.js +64 -0
- package/lib/scripts/datautil.mjs +16 -0
- package/lib/scripts/datautil.ts +19 -0
- package/lib/scripts/parse_textes.js +132 -0
- package/lib/scripts/parse_textes.mjs +46 -0
- package/lib/scripts/parse_textes.ts +65 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.js +521 -0
- package/lib/scripts/retrieve_documents.mjs +249 -0
- package/lib/scripts/retrieve_documents.ts +298 -0
- package/lib/scripts/retrieve_open_data.js +77 -69
- package/lib/scripts/retrieve_open_data.mjs +48 -49
- package/lib/scripts/retrieve_open_data.ts +74 -58
- package/lib/scripts/retrieve_senateurs_photos.js +45 -63
- package/lib/scripts/retrieve_senateurs_photos.mjs +4 -21
- package/lib/scripts/retrieve_senateurs_photos.ts +6 -29
- package/lib/scripts/retrieve_textes.mjs +325 -74
- package/lib/scripts/retrieve_textes.ts +111 -63
- package/lib/scripts/shared/cli_helpers.d.ts +44 -0
- package/lib/scripts/shared/cli_helpers.js +35 -0
- package/lib/scripts/shared/cli_helpers.ts +36 -0
- package/lib/scripts/shared/util.d.ts +3 -0
- package/lib/scripts/shared/util.js +102 -0
- package/lib/scripts/shared/util.ts +33 -0
- package/lib/src/aggregates.d.ts +52 -0
- package/lib/src/aggregates.mjs +726 -0
- package/lib/src/config.d.ts +2 -0
- package/lib/src/config.mjs +16 -0
- package/lib/src/databases.d.ts +18 -0
- package/lib/src/databases.mjs +55 -0
- package/lib/src/datasets.d.ts +28 -0
- package/lib/src/datasets.mjs +78 -0
- package/lib/src/fields.d.ts +10 -0
- package/lib/src/fields.mjs +22 -0
- package/lib/src/index.d.ts +8 -0
- package/lib/src/index.mjs +7 -0
- package/lib/src/inserters.d.ts +98 -0
- package/lib/src/inserters.mjs +360 -0
- package/lib/src/loaders.d.ts +36 -0
- package/lib/src/loaders.mjs +107 -0
- package/lib/src/model/ameli.d.ts +4 -0
- package/lib/src/model/ameli.js +57 -0
- package/lib/src/model/debats.d.ts +4 -0
- package/lib/src/model/debats.js +43 -0
- package/lib/src/model/dosleg.d.ts +197 -0
- package/lib/src/model/dosleg.js +169 -0
- package/lib/src/model/index.d.ts +4 -0
- package/lib/src/model/index.js +4 -0
- package/lib/src/model/questions.d.ts +89 -0
- package/lib/src/model/questions.js +76 -0
- package/lib/src/model/sens.d.ts +390 -0
- package/lib/src/model/sens.js +339 -0
- package/lib/src/model/texte.d.ts +7 -0
- package/lib/src/model/texte.js +183 -0
- package/lib/src/raw_types_kysely/ameli.d.ts +915 -0
- package/lib/src/raw_types_kysely/ameli.js +5 -0
- package/lib/src/raw_types_kysely/debats.d.ts +207 -0
- package/lib/src/raw_types_kysely/debats.js +5 -0
- package/lib/src/raw_types_kysely/dosleg.d.ts +3532 -0
- package/lib/src/raw_types_kysely/dosleg.js +5 -0
- package/lib/src/raw_types_kysely/questions.d.ts +414 -0
- package/lib/src/raw_types_kysely/questions.js +5 -0
- package/lib/src/raw_types_kysely/sens.d.ts +4394 -0
- package/lib/src/raw_types_kysely/sens.js +5 -0
- package/lib/src/raw_types_schemats/ameli.d.ts +541 -0
- package/lib/src/raw_types_schemats/ameli.js +2 -0
- package/lib/src/raw_types_schemats/debats.d.ts +127 -0
- package/lib/src/raw_types_schemats/debats.js +2 -0
- package/lib/src/raw_types_schemats/dosleg.d.ts +2027 -0
- package/lib/src/raw_types_schemats/dosleg.js +2 -0
- package/lib/src/raw_types_schemats/questions.d.ts +231 -0
- package/lib/src/raw_types_schemats/questions.js +2 -0
- package/lib/src/raw_types_schemats/sens.d.ts +2709 -0
- package/lib/src/raw_types_schemats/sens.js +2 -0
- package/lib/src/scripts/convert_data.d.ts +1 -0
- package/lib/src/scripts/convert_data.js +95 -0
- package/lib/src/scripts/datautil.d.ts +5 -0
- package/lib/src/scripts/datautil.js +16 -0
- package/lib/src/scripts/parse_textes.d.ts +1 -0
- package/lib/src/scripts/parse_textes.js +47 -0
- package/lib/src/scripts/retrieve_documents.d.ts +1 -0
- package/lib/src/scripts/retrieve_documents.js +258 -0
- package/lib/src/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/src/scripts/retrieve_open_data.js +214 -0
- package/lib/src/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/src/scripts/retrieve_senateurs_photos.js +147 -0
- package/lib/src/scripts/shared/cli_helpers.d.ts +44 -0
- package/lib/src/scripts/shared/cli_helpers.js +32 -0
- package/lib/src/scripts/shared/util.d.ts +3 -0
- package/lib/src/scripts/shared/util.js +28 -0
- package/lib/src/strings.d.ts +1 -0
- package/lib/src/strings.mjs +18 -0
- package/lib/src/types/ameli.d.ts +10 -0
- package/lib/src/types/ameli.js +13 -0
- package/lib/src/types/debats.d.ts +4 -0
- package/lib/src/types/debats.js +2 -0
- package/lib/src/types/dosleg.d.ts +98 -0
- package/lib/src/types/dosleg.js +151 -0
- package/lib/src/types/questions.d.ts +2 -0
- package/lib/src/types/questions.js +1 -0
- package/lib/src/types/sens.d.ts +10 -0
- package/lib/src/types/sens.js +1 -0
- package/lib/src/types/sessions.d.ts +42 -0
- package/lib/src/types/sessions.js +43 -0
- package/lib/src/types/texte.d.ts +61 -0
- package/lib/src/types/texte.js +16 -0
- package/lib/src/validators/config.d.ts +1 -0
- package/lib/src/validators/config.js +54 -0
- package/lib/src/validators/senat.d.ts +0 -0
- package/lib/src/validators/senat.js +24 -0
- package/lib/types/ameli.d.ts +1 -1
- package/lib/types/ameli.js +2 -2
- package/lib/types/ameli.ts +1 -1
- package/lib/types/debats.d.ts +1 -1
- package/lib/types/debats.js +2 -2
- package/lib/types/debats.ts +1 -1
- package/lib/types/dosleg.d.ts +2 -2
- package/lib/types/dosleg.js +2 -2
- package/lib/types/dosleg.ts +2 -2
- package/lib/types/questions.d.ts +1 -1
- package/lib/types/questions.js +2 -2
- package/lib/types/questions.ts +1 -1
- package/lib/types/sens.d.ts +1 -3
- package/lib/types/sens.js +2 -5
- package/lib/types/sens.mjs +1 -23
- package/lib/types/sens.ts +1 -25
- package/lib/types/sessions.d.ts +42 -0
- package/lib/types/sessions.js +51 -0
- package/lib/types/sessions.mjs +43 -0
- package/lib/types/sessions.ts +42 -0
- package/lib/types/texte.d.ts +65 -0
- package/lib/types/texte.js +24 -0
- package/lib/types/texte.mjs +16 -0
- package/lib/types/texte.ts +76 -0
- package/package.json +35 -10
- package/lib/aggregates.js +0 -1122
- package/lib/fields.js +0 -68
- package/lib/inserters.js +0 -518
- package/lib/scripts/fix_db.js +0 -144
- package/lib/scripts/fix_db.mjs +0 -64
- package/lib/scripts/fix_db.ts +0 -75
- package/lib/scripts/retrieve_textes.js +0 -179
- /package/lib/scripts/{fix_db.d.ts → parse_textes.d.ts} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
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.iterator.js");
|
|
7
|
+
require("core-js/modules/es.symbol.replace.js");
|
|
8
|
+
require("core-js/modules/es.array.is-array.js");
|
|
9
|
+
require("core-js/modules/es.array.iterator.js");
|
|
10
|
+
require("core-js/modules/es.array.join.js");
|
|
11
|
+
require("core-js/modules/es.array.reduce.js");
|
|
12
|
+
require("core-js/modules/es.array.slice.js");
|
|
13
|
+
require("core-js/modules/es.object.create.js");
|
|
14
|
+
require("core-js/modules/es.object.define-property.js");
|
|
15
|
+
require("core-js/modules/es.object.keys.js");
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
require("core-js/modules/es.regexp.constructor.js");
|
|
18
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
19
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
20
|
+
require("core-js/modules/es.string.iterator.js");
|
|
21
|
+
require("core-js/modules/es.string.replace.js");
|
|
22
|
+
require("core-js/modules/es.weak-map.js");
|
|
23
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
24
|
+
Object.defineProperty(exports, "__esModule", {
|
|
25
|
+
value: true
|
|
26
|
+
});
|
|
27
|
+
exports.UNDEFINED_SESSION = exports.SIGNET_STRUCTURE_REGEXP = exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = void 0;
|
|
28
|
+
exports.formatToFourDigitSession = formatToFourDigitSession;
|
|
29
|
+
require("core-js/modules/es.function.bind.js");
|
|
30
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
31
|
+
require("core-js/modules/es.parse-int.js");
|
|
32
|
+
var _luxon = require("luxon");
|
|
33
|
+
function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); }
|
|
34
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
35
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
36
|
+
_luxon.Settings.twoDigitCutoffYear = 50;
|
|
37
|
+
var SIGNET_STRUCTURE_REGEXP = exports.SIGNET_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^([a-z]+)(\d{2,4})-?(\d+)?/, {
|
|
38
|
+
type: 1,
|
|
39
|
+
session: 2,
|
|
40
|
+
numTexte: 3
|
|
41
|
+
});
|
|
42
|
+
var AKN_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^\/akn\/fr\/([a-z]+)\/(\d{4}-\d{4})\/?(\d+)\/fr@(\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/, {
|
|
43
|
+
type: 1,
|
|
44
|
+
session: 2,
|
|
45
|
+
numTexte: 3,
|
|
46
|
+
version: 4
|
|
47
|
+
});
|
|
48
|
+
var AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^\/akn\/fr\/([a-z]+)\/(\d{2,4})\/?([a-zA-Z0-9]+)\/fr@(\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/, {
|
|
49
|
+
type: 1,
|
|
50
|
+
session: 2,
|
|
51
|
+
numTexte: 3,
|
|
52
|
+
version: 4
|
|
53
|
+
});
|
|
54
|
+
var UNDEFINED_SESSION = exports.UNDEFINED_SESSION = "0";
|
|
55
|
+
function formatToFourDigitSession(session) {
|
|
56
|
+
if (session.length >= 2) {
|
|
57
|
+
var sessionFirstTwoDigits = session.substring(0, 2);
|
|
58
|
+
var sessionLastTwoDigits = session.substring(session.length - 2);
|
|
59
|
+
var twoDigitSession = parseInt(sessionFirstTwoDigits) === parseInt(sessionLastTwoDigits) - 1 ? sessionFirstTwoDigits : sessionLastTwoDigits;
|
|
60
|
+
return _luxon.DateTime.fromFormat(String(twoDigitSession), "yy").toFormat("yyyy");
|
|
61
|
+
}
|
|
62
|
+
return UNDEFINED_SESSION;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbHV4b24iLCJyZXF1aXJlIiwiX3dyYXBSZWdFeHAiLCJlIiwiciIsIkJhYmVsUmVnRXhwIiwiUmVnRXhwIiwicHJvdG90eXBlIiwiV2Vha01hcCIsInQiLCJwIiwibyIsInNldCIsImdldCIsIl9zZXRQcm90b3R5cGVPZiIsImJ1aWxkR3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsImkiLCJsZW5ndGgiLCJjcmVhdGUiLCJfaW5oZXJpdHMiLCJleGVjIiwiY2FsbCIsImdyb3VwcyIsImluZGljZXMiLCJTeW1ib2wiLCJyZXBsYWNlIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFyZ3VtZW50cyIsIl90eXBlb2YiLCJzbGljZSIsInB1c2giLCJhcHBseSIsIlR5cGVFcnJvciIsImNvbnN0cnVjdG9yIiwidmFsdWUiLCJ3cml0YWJsZSIsImNvbmZpZ3VyYWJsZSIsImRlZmluZVByb3BlcnR5Iiwic2V0UHJvdG90eXBlT2YiLCJiaW5kIiwiX19wcm90b19fIiwiU2V0dGluZ3MiLCJ0d29EaWdpdEN1dG9mZlllYXIiLCJTSUdORVRfU1RSVUNUVVJFX1JFR0VYUCIsImV4cG9ydHMiLCJ0eXBlIiwic2Vzc2lvbiIsIm51bVRleHRlIiwiQUtOX0lERU5USUZJQ0FUSU9OX1NUUlVDVFVSRV9SRUdFWFAiLCJ2ZXJzaW9uIiwiQUtOX1dPUktGTE9XX0lERU5USUZJQ0FUSU9OX1NUUlVDVFVSRV9SRUdFWFAiLCJVTkRFRklORURfU0VTU0lPTiIsImZvcm1hdFRvRm91ckRpZ2l0U2Vzc2lvbiIsInNlc3Npb25GaXJzdFR3b0RpZ2l0cyIsInN1YnN0cmluZyIsInNlc3Npb25MYXN0VHdvRGlnaXRzIiwidHdvRGlnaXRTZXNzaW9uIiwicGFyc2VJbnQiLCJEYXRlVGltZSIsImZyb21Gb3JtYXQiLCJTdHJpbmciLCJ0b0Zvcm1hdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2RhdGF1dGlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lLCBTZXR0aW5ncyB9IGZyb20gXCJsdXhvblwiXG5cblNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDUwXG5cbmV4cG9ydCBjb25zdCBTSUdORVRfU1RSVUNUVVJFX1JFR0VYUCA9IC9eKD88dHlwZT5bYS16XSspKD88c2Vzc2lvbj5cXGR7Miw0fSktPyg/PG51bVRleHRlPlxcZCspPy9cbmV4cG9ydCBjb25zdCBBS05fSURFTlRJRklDQVRJT05fU1RSVUNUVVJFX1JFR0VYUCA9IC9eXFwvYWtuXFwvZnJcXC8oPzx0eXBlPlthLXpdKylcXC8oPzxzZXNzaW9uPlxcZHs0fS1cXGR7NH0pXFwvPyg/PG51bVRleHRlPlxcZCspXFwvZnJAKD88dmVyc2lvbj5cXGIoPzpSRUNUfFJFQ1RfQklTfFJFQ1RfVEVSfFJFQ1RfUVVBVEVSfFJFQ1RfUVVJTlFVSUVTKVxcYik/L1xuZXhwb3J0IGNvbnN0IEFLTl9XT1JLRkxPV19JREVOVElGSUNBVElPTl9TVFJVQ1RVUkVfUkVHRVhQID0gL15cXC9ha25cXC9mclxcLyg/PHR5cGU+W2Etel0rKVxcLyg/PHNlc3Npb24+XFxkezIsNH0pXFwvPyg/PG51bVRleHRlPlthLXpBLVowLTldKylcXC9mckAoPzx2ZXJzaW9uPlxcYig/OlJFQ1R8UkVDVF9CSVN8UkVDVF9URVJ8UkVDVF9RVUFURVJ8UkVDVF9RVUlOUVVJRVMpXFxiKT8vXG5leHBvcnQgY29uc3QgVU5ERUZJTkVEX1NFU1NJT04gPSBcIjBcIlxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VG9Gb3VyRGlnaXRTZXNzaW9uIChzZXNzaW9uOiBzdHJpbmcpIHtcbiAgaWYgKHNlc3Npb24ubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCBzZXNzaW9uRmlyc3RUd29EaWdpdHMgPSBzZXNzaW9uLnN1YnN0cmluZygwLCAyKVxuICAgIGNvbnN0IHNlc3Npb25MYXN0VHdvRGlnaXRzID0gc2Vzc2lvbi5zdWJzdHJpbmcoc2Vzc2lvbi5sZW5ndGggLSAyKVxuICAgIGNvbnN0IHR3b0RpZ2l0U2Vzc2lvbiA9IHBhcnNlSW50KHNlc3Npb25GaXJzdFR3b0RpZ2l0cykgPT09IHBhcnNlSW50KHNlc3Npb25MYXN0VHdvRGlnaXRzKSAtIDEgP1xuICAgICAgc2Vzc2lvbkZpcnN0VHdvRGlnaXRzIDogc2Vzc2lvbkxhc3RUd29EaWdpdHNcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdChTdHJpbmcodHdvRGlnaXRTZXNzaW9uKSwgXCJ5eVwiKS50b0Zvcm1hdChcInl5eXlcIilcbiAgfVxuICByZXR1cm4gVU5ERUZJTkVEX1NFU1NJT05cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUEwQyxTQUFBQyxZQUFBLElBQUFBLFdBQUEsWUFBQUEsWUFBQUMsQ0FBQSxFQUFBQyxDQUFBLGVBQUFDLFdBQUEsQ0FBQUYsQ0FBQSxVQUFBQyxDQUFBLFVBQUFELENBQUEsR0FBQUcsTUFBQSxDQUFBQyxTQUFBLEVBQUFILENBQUEsT0FBQUksT0FBQSxhQUFBSCxZQUFBRixDQUFBLEVBQUFNLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLE1BQUEsQ0FBQUgsQ0FBQSxFQUFBTSxDQUFBLFVBQUFMLENBQUEsQ0FBQVEsR0FBQSxDQUFBRCxDQUFBLEVBQUFELENBQUEsSUFBQU4sQ0FBQSxDQUFBUyxHQUFBLENBQUFWLENBQUEsSUFBQVcsZUFBQSxDQUFBSCxDQUFBLEVBQUFOLFdBQUEsQ0FBQUUsU0FBQSxjQUFBUSxZQUFBWixDQUFBLEVBQUFNLENBQUEsUUFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFTLEdBQUEsQ0FBQUosQ0FBQSxVQUFBTyxNQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxFQUFBUSxNQUFBLFdBQUFkLENBQUEsRUFBQUssQ0FBQSxRQUFBRSxDQUFBLEdBQUFELENBQUEsQ0FBQUQsQ0FBQSwwQkFBQUUsQ0FBQSxFQUFBUCxDQUFBLENBQUFLLENBQUEsSUFBQU4sQ0FBQSxDQUFBUSxDQUFBLGtC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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DateTime, Settings } from "luxon";
|
|
2
|
+
Settings.twoDigitCutoffYear = 50;
|
|
3
|
+
export const SIGNET_STRUCTURE_REGEXP = /^(?<type>[a-z]+)(?<session>\d{2,4})-?(?<numTexte>\d+)?/;
|
|
4
|
+
export const AKN_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{4}-\d{4})\/?(?<numTexte>\d+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/;
|
|
5
|
+
export const AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{2,4})\/?(?<numTexte>[a-zA-Z0-9]+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/;
|
|
6
|
+
export const UNDEFINED_SESSION = "0";
|
|
7
|
+
export function formatToFourDigitSession(session) {
|
|
8
|
+
if (session.length >= 2) {
|
|
9
|
+
const sessionFirstTwoDigits = session.substring(0, 2);
|
|
10
|
+
const sessionLastTwoDigits = session.substring(session.length - 2);
|
|
11
|
+
const twoDigitSession = parseInt(sessionFirstTwoDigits) === parseInt(sessionLastTwoDigits) - 1 ?
|
|
12
|
+
sessionFirstTwoDigits : sessionLastTwoDigits;
|
|
13
|
+
return DateTime.fromFormat(String(twoDigitSession), "yy").toFormat("yyyy");
|
|
14
|
+
}
|
|
15
|
+
return UNDEFINED_SESSION;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DateTime, Settings } from "luxon"
|
|
2
|
+
|
|
3
|
+
Settings.twoDigitCutoffYear = 50
|
|
4
|
+
|
|
5
|
+
export const SIGNET_STRUCTURE_REGEXP = /^(?<type>[a-z]+)(?<session>\d{2,4})-?(?<numTexte>\d+)?/
|
|
6
|
+
export const AKN_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{4}-\d{4})\/?(?<numTexte>\d+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/
|
|
7
|
+
export const AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{2,4})\/?(?<numTexte>[a-zA-Z0-9]+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/
|
|
8
|
+
export const UNDEFINED_SESSION = "0"
|
|
9
|
+
|
|
10
|
+
export function formatToFourDigitSession (session: string) {
|
|
11
|
+
if (session.length >= 2) {
|
|
12
|
+
const sessionFirstTwoDigits = session.substring(0, 2)
|
|
13
|
+
const sessionLastTwoDigits = session.substring(session.length - 2)
|
|
14
|
+
const twoDigitSession = parseInt(sessionFirstTwoDigits) === parseInt(sessionLastTwoDigits) - 1 ?
|
|
15
|
+
sessionFirstTwoDigits : sessionLastTwoDigits
|
|
16
|
+
return DateTime.fromFormat(String(twoDigitSession), "yy").toFormat("yyyy")
|
|
17
|
+
}
|
|
18
|
+
return UNDEFINED_SESSION
|
|
19
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
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.iterator.js");
|
|
7
|
+
require("core-js/modules/es.array.for-each.js");
|
|
8
|
+
require("core-js/modules/es.array.from.js");
|
|
9
|
+
require("core-js/modules/es.array.is-array.js");
|
|
10
|
+
require("core-js/modules/es.array.iterator.js");
|
|
11
|
+
require("core-js/modules/es.array.slice.js");
|
|
12
|
+
require("core-js/modules/es.date.to-string.js");
|
|
13
|
+
require("core-js/modules/es.object.create.js");
|
|
14
|
+
require("core-js/modules/es.object.define-property.js");
|
|
15
|
+
require("core-js/modules/es.object.get-prototype-of.js");
|
|
16
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
17
|
+
require("core-js/modules/es.object.to-string.js");
|
|
18
|
+
require("core-js/modules/es.promise.js");
|
|
19
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
20
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
21
|
+
require("core-js/modules/es.string.iterator.js");
|
|
22
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
23
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
24
|
+
require("core-js/modules/es.array.index-of.js");
|
|
25
|
+
require("core-js/modules/es.array.join.js");
|
|
26
|
+
require("core-js/modules/es.function.name.js");
|
|
27
|
+
var _assert = _interopRequireDefault(require("assert"));
|
|
28
|
+
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
29
|
+
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
30
|
+
var _path = _interopRequireDefault(require("path"));
|
|
31
|
+
var _loaders = require("../loaders");
|
|
32
|
+
var _texte = require("../model/texte");
|
|
33
|
+
var _cli_helpers = require("./shared/cli_helpers");
|
|
34
|
+
var _util = require("./shared/util");
|
|
35
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
36
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag"; function c(t, r, e, n) { Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, ""); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, "_invoke", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error("Generator is already running"); if (4 === o) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = 3; var h = s(r, e, n); if ("normal" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: "normal", arg: t.call(r, e) }; } catch (t) { return { type: "throw", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { ["next", "throw", "return"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if ("throw" !== c.type) { var h = c.arg, f = h.value; return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { e("next", t, a, u); }, function (t) { e("throw", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e("throw", t, a, u); }); } u(c.arg); } var o; c(this, "_invoke", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var i = s(o, r.i, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = "normal", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if ("function" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), c(GeneratorFunctionPrototype, u, GeneratorFunction.displayName = "GeneratorFunction"), r.isGeneratorFunction = function (t) { var r = "function" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, "Generator"), c(v, i, function () { return this; }), c(v, "toString", function () { return "[object Generator]"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = "throw", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n("end"), !1; if (!c && !h) throw Error("try statement without catch or finally"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = "next", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { 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 && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, "catch": function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if ("throw" === n.type) { var o = n.arg; m(e); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, "next" === this.method && (this.arg = t), f; } }, r; }
|
|
37
|
+
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; } } }; }
|
|
38
|
+
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); }
|
|
39
|
+
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); }); }; }
|
|
40
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
41
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
42
|
+
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; } }
|
|
43
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
44
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
45
|
+
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; }
|
|
46
|
+
var optionsDefinitions = _toConsumableArray(_cli_helpers.commonOptions);
|
|
47
|
+
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
48
|
+
function main() {
|
|
49
|
+
return _main.apply(this, arguments);
|
|
50
|
+
}
|
|
51
|
+
function _main() {
|
|
52
|
+
_main = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
53
|
+
var dataDir, transformedTextesDir, _iterator, _step, filePath, parsedFilePath, texteDirFromOriginal, transformedTexteDir, parsedTexte, exposeDesMotifsFileName, exposeDesMotifsFilePath;
|
|
54
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
55
|
+
while (1) switch (_context.prev = _context.next) {
|
|
56
|
+
case 0:
|
|
57
|
+
dataDir = options.dataDir;
|
|
58
|
+
(0, _assert["default"])(dataDir, "Missing argument: data directory");
|
|
59
|
+
transformedTextesDir = _path["default"].join(options.dataDir, _loaders.TEXTE_FOLDER, _loaders.TEXTE_TRANSFORMED_FOLDER);
|
|
60
|
+
(0, _util.ensureAndClearDir)(transformedTextesDir);
|
|
61
|
+
_iterator = _createForOfIteratorHelper((0, _loaders.iterFilePaths)(_path["default"].join(dataDir, _loaders.TEXTE_FOLDER, _loaders.TEXTE_ORIGINAL_FOLDER)));
|
|
62
|
+
_context.prev = 5;
|
|
63
|
+
_iterator.s();
|
|
64
|
+
case 7:
|
|
65
|
+
if ((_step = _iterator.n()).done) {
|
|
66
|
+
_context.next = 29;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
filePath = _step.value;
|
|
70
|
+
parsedFilePath = _path["default"].parse(filePath);
|
|
71
|
+
if (!(parsedFilePath.ext !== ".xml")) {
|
|
72
|
+
_context.next = 12;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
return _context.abrupt("continue", 27);
|
|
76
|
+
case 12:
|
|
77
|
+
texteDirFromOriginal = parsedFilePath.dir.substring(filePath.indexOf(_loaders.TEXTE_ORIGINAL_FOLDER) + _loaders.TEXTE_ORIGINAL_FOLDER.length);
|
|
78
|
+
transformedTexteDir = _path["default"].join(transformedTextesDir, texteDirFromOriginal);
|
|
79
|
+
_fsExtra["default"].ensureDirSync(transformedTexteDir);
|
|
80
|
+
if (!options.silent) {
|
|
81
|
+
console.log("Parsing texte ".concat(parsedFilePath.name, ".xml\u2026"));
|
|
82
|
+
}
|
|
83
|
+
_context.next = 18;
|
|
84
|
+
return (0, _texte.parseTexteFromFile)(filePath);
|
|
85
|
+
case 18:
|
|
86
|
+
parsedTexte = _context.sent;
|
|
87
|
+
exposeDesMotifsFileName = "".concat(parsedFilePath.name, "-expose");
|
|
88
|
+
exposeDesMotifsFilePath = _path["default"].join(parsedFilePath.dir, "".concat(exposeDesMotifsFileName, ".html"));
|
|
89
|
+
if (!(parsedTexte && _fsExtra["default"].existsSync(exposeDesMotifsFilePath))) {
|
|
90
|
+
_context.next = 26;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
if (!options.silent) {
|
|
94
|
+
console.log("Parsing expos\xE9 des motifs ".concat(exposeDesMotifsFileName, ".html\u2026"));
|
|
95
|
+
}
|
|
96
|
+
_context.next = 25;
|
|
97
|
+
return (0, _texte.parseExposeDesMotifsFromFile)(exposeDesMotifsFilePath);
|
|
98
|
+
case 25:
|
|
99
|
+
parsedTexte.exposeDesMotifs = _context.sent;
|
|
100
|
+
case 26:
|
|
101
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(transformedTexteDir, "".concat(parsedFilePath.name, ".json")), parsedTexte, {
|
|
102
|
+
spaces: 2
|
|
103
|
+
});
|
|
104
|
+
case 27:
|
|
105
|
+
_context.next = 7;
|
|
106
|
+
break;
|
|
107
|
+
case 29:
|
|
108
|
+
_context.next = 34;
|
|
109
|
+
break;
|
|
110
|
+
case 31:
|
|
111
|
+
_context.prev = 31;
|
|
112
|
+
_context.t0 = _context["catch"](5);
|
|
113
|
+
_iterator.e(_context.t0);
|
|
114
|
+
case 34:
|
|
115
|
+
_context.prev = 34;
|
|
116
|
+
_iterator.f();
|
|
117
|
+
return _context.finish(34);
|
|
118
|
+
case 37:
|
|
119
|
+
case "end":
|
|
120
|
+
return _context.stop();
|
|
121
|
+
}
|
|
122
|
+
}, _callee, null, [[5, 31, 34, 37]]);
|
|
123
|
+
}));
|
|
124
|
+
return _main.apply(this, arguments);
|
|
125
|
+
}
|
|
126
|
+
main().then(function () {
|
|
127
|
+
return process.exit(0);
|
|
128
|
+
})["catch"](function (error) {
|
|
129
|
+
console.log(error);
|
|
130
|
+
process.exit(1);
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9sb2FkZXJzIiwiX3RleHRlIiwiX2NsaV9oZWxwZXJzIiwiX3V0aWwiLCJlIiwiX19lc01vZHVsZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJyIiwidCIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJTeW1ib2wiLCJpIiwiaXRlcmF0b3IiLCJhIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImFyZyIsImRlbGVnYXRlIiwiZCIsImYiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInMiLCJ0eXBlIiwiQ29udGV4dCIsImNhbGwiLCJ3cmFwIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsImwiLCJwIiwiZ2V0UHJvdG90eXBlT2YiLCJ5IiwieCIsInYiLCJnIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsIlR5cGVFcnJvciIsIm5leHQiLCJ3IiwidHJ5RW50cmllcyIsInB1c2giLCJtIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInVuc2hpZnQiLCJwb3AiLCJ2YWx1ZXMiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImNvbW1vbk9wdGlvbnMiLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwibWFpbiIsIl9tYWluIiwiX2NhbGxlZSIsImRhdGFEaXIiLCJ0cmFuc2Zvcm1lZFRleHRlc0RpciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZmlsZVBhdGgiLCJwYXJzZWRGaWxlUGF0aCIsInRleHRlRGlyRnJvbU9yaWdpbmFsIiwidHJhbnNmb3JtZWRUZXh0ZURpciIsInBhcnNlZFRleHRlIiwiZXhwb3NlRGVzTW90aWZzRmlsZU5hbWUiLCJleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJhc3NlcnQiLCJwYXRoIiwiam9pbiIsIlRFWFRFX0ZPTERFUiIsIlRFWFRFX1RSQU5TRk9STUVEX0ZPTERFUiIsImVuc3VyZUFuZENsZWFyRGlyIiwiaXRlckZpbGVQYXRocyIsIlRFWFRFX09SSUdJTkFMX0ZPTERFUiIsInBhcnNlIiwiZXh0IiwiZGlyIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImZzIiwiZW5zdXJlRGlyU3luYyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJjb25jYXQiLCJwYXJzZVRleHRlRnJvbUZpbGUiLCJleGlzdHNTeW5jIiwicGFyc2VFeHBvc2VEZXNNb3RpZnNGcm9tRmlsZSIsImV4cG9zZURlc01vdGlmcyIsIndyaXRlSlNPTlN5bmMiLCJzcGFjZXMiLCJ0MCIsInByb2Nlc3MiLCJleGl0IiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wYXJzZV90ZXh0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBpdGVyRmlsZVBhdGhzLCBURVhURV9GT0xERVIsIFRFWFRFX09SSUdJTkFMX0ZPTERFUiwgVEVYVEVfVFJBTlNGT1JNRURfRk9MREVSIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHsgcGFyc2VFeHBvc2VEZXNNb3RpZnNGcm9tRmlsZSwgcGFyc2VUZXh0ZUZyb21GaWxlIH0gZnJvbSBcIi4uL21vZGVsL3RleHRlXCJcbmltcG9ydCB7IGNvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuaW1wb3J0IHsgZW5zdXJlQW5kQ2xlYXJEaXIgfSBmcm9tIFwiLi9zaGFyZWQvdXRpbFwiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgLi4uY29tbW9uT3B0aW9ucyxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGFzc2VydChkYXRhRGlyLCBcIk1pc3NpbmcgYXJndW1lbnQ6IGRhdGEgZGlyZWN0b3J5XCIpXG5cbiAgY29uc3QgdHJhbnNmb3JtZWRUZXh0ZXNEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBURVhURV9GT0xERVIsIFRFWFRFX1RSQU5TRk9STUVEX0ZPTERFUilcbiAgZW5zdXJlQW5kQ2xlYXJEaXIodHJhbnNmb3JtZWRUZXh0ZXNEaXIpXG5cbiAgZm9yIChjb25zdCBmaWxlUGF0aCBvZiBpdGVyRmlsZVBhdGhzKHBhdGguam9pbihkYXRhRGlyLCBURVhURV9GT0xERVIsIFRFWFRFX09SSUdJTkFMX0ZPTERFUikpKSB7XG4gICAgY29uc3QgcGFyc2VkRmlsZVBhdGggPSBwYXRoLnBhcnNlKGZpbGVQYXRoKVxuXG4gICAgaWYgKHBhcnNlZEZpbGVQYXRoLmV4dCAhPT0gXCIueG1sXCIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgdGV4dGVEaXJGcm9tT3JpZ2luYWwgPSBwYXJzZWRGaWxlUGF0aC5kaXIuc3Vic3RyaW5nKFxuICAgICAgZmlsZVBhdGguaW5kZXhPZihURVhURV9PUklHSU5BTF9GT0xERVIpICsgVEVYVEVfT1JJR0lOQUxfRk9MREVSLmxlbmd0aFxuICAgIClcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFRleHRlRGlyID0gcGF0aC5qb2luKHRyYW5zZm9ybWVkVGV4dGVzRGlyLCB0ZXh0ZURpckZyb21PcmlnaW5hbClcbiAgICBmcy5lbnN1cmVEaXJTeW5jKHRyYW5zZm9ybWVkVGV4dGVEaXIpXG5cbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhgUGFyc2luZyB0ZXh0ZSAke3BhcnNlZEZpbGVQYXRoLm5hbWV9LnhtbOKApmApXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVGV4dGUgPSBhd2FpdCBwYXJzZVRleHRlRnJvbUZpbGUoZmlsZVBhdGgpXG5cbiAgICBjb25zdCBleHBvc2VEZXNNb3RpZnNGaWxlTmFtZSA9IGAke3BhcnNlZEZpbGVQYXRoLm5hbWV9LWV4cG9zZWBcbiAgICBjb25zdCBleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCA9IHBhdGguam9pbihwYXJzZWRGaWxlUGF0aC5kaXIsIGAke2V4cG9zZURlc01vdGlmc0ZpbGVOYW1lfS5odG1sYClcbiAgICBpZiAocGFyc2VkVGV4dGUgJiYgZnMuZXhpc3RzU3luYyhleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCkpIHtcbiAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFBhcnNpbmcgZXhwb3PDqSBkZXMgbW90aWZzICR7ZXhwb3NlRGVzTW90aWZzRmlsZU5hbWV9Lmh0bWzigKZgKVxuICAgICAgfVxuXG4gICAgICBwYXJzZWRUZXh0ZS5leHBvc2VEZXNNb3RpZnMgPSBhd2FpdCBwYXJzZUV4cG9zZURlc01vdGlmc0Zyb21GaWxlKGV4cG9zZURlc01vdGlmc0ZpbGVQYXRoKVxuICAgIH1cblxuICAgIGZzLndyaXRlSlNPTlN5bmMoXG4gICAgICBwYXRoLmpvaW4odHJhbnNmb3JtZWRUZXh0ZURpciwgYCR7cGFyc2VkRmlsZVBhdGgubmFtZX0uanNvbmApLFxuICAgICAgcGFyc2VkVGV4dGUsXG4gICAgICB7IHNwYWNlczogMiB9XG4gICAgKVxuICB9XG59XG5cbm1haW4oKVxuICAudGhlbigoKSA9PiBwcm9jZXNzLmV4aXQoMCkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFB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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import commandLineArgs from "command-line-args";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { iterFilePaths, TEXTE_FOLDER, TEXTE_ORIGINAL_FOLDER, TEXTE_TRANSFORMED_FOLDER } from "../loaders";
|
|
6
|
+
import { parseExposeDesMotifsFromFile, parseTexteFromFile } from "../model/texte";
|
|
7
|
+
import { commonOptions } from "./shared/cli_helpers";
|
|
8
|
+
import { ensureAndClearDir } from "./shared/util";
|
|
9
|
+
const optionsDefinitions = [
|
|
10
|
+
...commonOptions,
|
|
11
|
+
];
|
|
12
|
+
const options = commandLineArgs(optionsDefinitions);
|
|
13
|
+
async function main() {
|
|
14
|
+
const dataDir = options.dataDir;
|
|
15
|
+
assert(dataDir, "Missing argument: data directory");
|
|
16
|
+
const transformedTextesDir = path.join(options.dataDir, TEXTE_FOLDER, TEXTE_TRANSFORMED_FOLDER);
|
|
17
|
+
ensureAndClearDir(transformedTextesDir);
|
|
18
|
+
for (const filePath of iterFilePaths(path.join(dataDir, TEXTE_FOLDER, TEXTE_ORIGINAL_FOLDER))) {
|
|
19
|
+
const parsedFilePath = path.parse(filePath);
|
|
20
|
+
if (parsedFilePath.ext !== ".xml") {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
const texteDirFromOriginal = parsedFilePath.dir.substring(filePath.indexOf(TEXTE_ORIGINAL_FOLDER) + TEXTE_ORIGINAL_FOLDER.length);
|
|
24
|
+
const transformedTexteDir = path.join(transformedTextesDir, texteDirFromOriginal);
|
|
25
|
+
fs.ensureDirSync(transformedTexteDir);
|
|
26
|
+
if (!options.silent) {
|
|
27
|
+
console.log(`Parsing texte ${parsedFilePath.name}.xml…`);
|
|
28
|
+
}
|
|
29
|
+
const parsedTexte = await parseTexteFromFile(filePath);
|
|
30
|
+
const exposeDesMotifsFileName = `${parsedFilePath.name}-expose`;
|
|
31
|
+
const exposeDesMotifsFilePath = path.join(parsedFilePath.dir, `${exposeDesMotifsFileName}.html`);
|
|
32
|
+
if (parsedTexte && fs.existsSync(exposeDesMotifsFilePath)) {
|
|
33
|
+
if (!options.silent) {
|
|
34
|
+
console.log(`Parsing exposé des motifs ${exposeDesMotifsFileName}.html…`);
|
|
35
|
+
}
|
|
36
|
+
parsedTexte.exposeDesMotifs = await parseExposeDesMotifsFromFile(exposeDesMotifsFilePath);
|
|
37
|
+
}
|
|
38
|
+
fs.writeJSONSync(path.join(transformedTexteDir, `${parsedFilePath.name}.json`), parsedTexte, { spaces: 2 });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
main()
|
|
42
|
+
.then(() => process.exit(0))
|
|
43
|
+
.catch((error) => {
|
|
44
|
+
console.log(error);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import assert from "assert"
|
|
2
|
+
import commandLineArgs from "command-line-args"
|
|
3
|
+
import fs from "fs-extra"
|
|
4
|
+
import path from "path"
|
|
5
|
+
|
|
6
|
+
import { iterFilePaths, TEXTE_FOLDER, TEXTE_ORIGINAL_FOLDER, TEXTE_TRANSFORMED_FOLDER } from "../loaders"
|
|
7
|
+
import { parseExposeDesMotifsFromFile, parseTexteFromFile } from "../model/texte"
|
|
8
|
+
import { commonOptions } from "./shared/cli_helpers"
|
|
9
|
+
import { ensureAndClearDir } from "./shared/util"
|
|
10
|
+
|
|
11
|
+
const optionsDefinitions = [
|
|
12
|
+
...commonOptions,
|
|
13
|
+
]
|
|
14
|
+
const options = commandLineArgs(optionsDefinitions)
|
|
15
|
+
|
|
16
|
+
async function main() {
|
|
17
|
+
const dataDir = options.dataDir
|
|
18
|
+
assert(dataDir, "Missing argument: data directory")
|
|
19
|
+
|
|
20
|
+
const transformedTextesDir = path.join(options.dataDir, TEXTE_FOLDER, TEXTE_TRANSFORMED_FOLDER)
|
|
21
|
+
ensureAndClearDir(transformedTextesDir)
|
|
22
|
+
|
|
23
|
+
for (const filePath of iterFilePaths(path.join(dataDir, TEXTE_FOLDER, TEXTE_ORIGINAL_FOLDER))) {
|
|
24
|
+
const parsedFilePath = path.parse(filePath)
|
|
25
|
+
|
|
26
|
+
if (parsedFilePath.ext !== ".xml") {
|
|
27
|
+
continue
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const texteDirFromOriginal = parsedFilePath.dir.substring(
|
|
31
|
+
filePath.indexOf(TEXTE_ORIGINAL_FOLDER) + TEXTE_ORIGINAL_FOLDER.length
|
|
32
|
+
)
|
|
33
|
+
const transformedTexteDir = path.join(transformedTextesDir, texteDirFromOriginal)
|
|
34
|
+
fs.ensureDirSync(transformedTexteDir)
|
|
35
|
+
|
|
36
|
+
if (!options.silent) {
|
|
37
|
+
console.log(`Parsing texte ${parsedFilePath.name}.xml…`)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const parsedTexte = await parseTexteFromFile(filePath)
|
|
41
|
+
|
|
42
|
+
const exposeDesMotifsFileName = `${parsedFilePath.name}-expose`
|
|
43
|
+
const exposeDesMotifsFilePath = path.join(parsedFilePath.dir, `${exposeDesMotifsFileName}.html`)
|
|
44
|
+
if (parsedTexte && fs.existsSync(exposeDesMotifsFilePath)) {
|
|
45
|
+
if (!options.silent) {
|
|
46
|
+
console.log(`Parsing exposé des motifs ${exposeDesMotifsFileName}.html…`)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
parsedTexte.exposeDesMotifs = await parseExposeDesMotifsFromFile(exposeDesMotifsFilePath)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
fs.writeJSONSync(
|
|
53
|
+
path.join(transformedTexteDir, `${parsedFilePath.name}.json`),
|
|
54
|
+
parsedTexte,
|
|
55
|
+
{ spaces: 2 }
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
main()
|
|
61
|
+
.then(() => process.exit(0))
|
|
62
|
+
.catch((error) => {
|
|
63
|
+
console.log(error)
|
|
64
|
+
process.exit(1)
|
|
65
|
+
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|