@tricoteuses/senat 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/lib/src/loaders.d.ts +3 -3
  2. package/lib/src/loaders.js +1 -1
  3. package/lib/src/model/agenda.d.ts +1 -1
  4. package/lib/src/model/commission.d.ts +2 -2
  5. package/lib/src/model/seance.d.ts +1 -1
  6. package/lib/src/types/ameli.d.ts +4 -1761
  7. package/lib/src/types/ameli.js +1 -1074
  8. package/lib/src/types/debats.d.ts +2 -380
  9. package/lib/src/types/debats.js +1 -266
  10. package/lib/src/types/dosleg.d.ts +69 -2953
  11. package/lib/src/types/dosleg.js +1 -2005
  12. package/lib/src/types/questions.d.ts +2 -699
  13. package/lib/src/types/questions.js +1 -493
  14. package/lib/src/types/sens.d.ts +7 -7842
  15. package/lib/src/types/sens.js +1 -4691
  16. package/lib/src/utils/nvs-parsing.d.ts +1 -1
  17. package/lib/src/utils/nvs-parsing.js +9 -1
  18. package/lib/src/videos/pipeline.d.ts +3 -3
  19. package/lib/src/videos/pipeline.js +2 -2
  20. package/package.json +1 -1
  21. package/lib/add-js-extensions-v2.d.ts +0 -1
  22. package/lib/add-js-extensions-v2.js +0 -23
  23. package/lib/add-js-extensions.d.ts +0 -1
  24. package/lib/add-js-extensions.js +0 -17
  25. package/lib/aggregates.d.ts +0 -52
  26. package/lib/aggregates.js +0 -930
  27. package/lib/aggregates.mjs +0 -713
  28. package/lib/aggregates.ts +0 -833
  29. package/lib/config.d.ts +0 -10
  30. package/lib/config.js +0 -16
  31. package/lib/config.mjs +0 -16
  32. package/lib/config.ts +0 -26
  33. package/lib/databases.d.ts +0 -2
  34. package/lib/databases.js +0 -26
  35. package/lib/databases.mjs +0 -57
  36. package/lib/databases.ts +0 -71
  37. package/lib/datasets.d.ts +0 -34
  38. package/lib/datasets.js +0 -233
  39. package/lib/datasets.mjs +0 -78
  40. package/lib/datasets.ts +0 -118
  41. package/lib/fields.d.ts +0 -10
  42. package/lib/fields.js +0 -68
  43. package/lib/fields.mjs +0 -22
  44. package/lib/fields.ts +0 -29
  45. package/lib/git.d.ts +0 -26
  46. package/lib/git.js +0 -167
  47. package/lib/index.d.ts +0 -13
  48. package/lib/index.js +0 -1
  49. package/lib/index.mjs +0 -7
  50. package/lib/index.ts +0 -64
  51. package/lib/inserters.d.ts +0 -98
  52. package/lib/inserters.js +0 -500
  53. package/lib/inserters.mjs +0 -360
  54. package/lib/inserters.ts +0 -521
  55. package/lib/legislatures.json +0 -38
  56. package/lib/loaders.d.ts +0 -58
  57. package/lib/loaders.js +0 -286
  58. package/lib/loaders.mjs +0 -158
  59. package/lib/loaders.ts +0 -271
  60. package/lib/model/agenda.d.ts +0 -6
  61. package/lib/model/agenda.js +0 -148
  62. package/lib/model/ameli.d.ts +0 -51
  63. package/lib/model/ameli.js +0 -149
  64. package/lib/model/ameli.mjs +0 -84
  65. package/lib/model/ameli.ts +0 -100
  66. package/lib/model/commission.d.ts +0 -18
  67. package/lib/model/commission.js +0 -269
  68. package/lib/model/debats.d.ts +0 -67
  69. package/lib/model/debats.js +0 -95
  70. package/lib/model/debats.mjs +0 -43
  71. package/lib/model/debats.ts +0 -68
  72. package/lib/model/documents.d.ts +0 -12
  73. package/lib/model/documents.js +0 -151
  74. package/lib/model/dosleg.d.ts +0 -7
  75. package/lib/model/dosleg.js +0 -326
  76. package/lib/model/dosleg.mjs +0 -196
  77. package/lib/model/dosleg.ts +0 -240
  78. package/lib/model/index.d.ts +0 -7
  79. package/lib/model/index.js +0 -7
  80. package/lib/model/index.mjs +0 -5
  81. package/lib/model/index.ts +0 -15
  82. package/lib/model/questions.d.ts +0 -45
  83. package/lib/model/questions.js +0 -89
  84. package/lib/model/questions.mjs +0 -71
  85. package/lib/model/questions.ts +0 -93
  86. package/lib/model/scrutins.d.ts +0 -13
  87. package/lib/model/scrutins.js +0 -114
  88. package/lib/model/seance.d.ts +0 -3
  89. package/lib/model/seance.js +0 -267
  90. package/lib/model/sens.d.ts +0 -146
  91. package/lib/model/sens.js +0 -454
  92. package/lib/model/sens.mjs +0 -415
  93. package/lib/model/sens.ts +0 -516
  94. package/lib/model/texte.d.ts +0 -7
  95. package/lib/model/texte.js +0 -256
  96. package/lib/model/texte.mjs +0 -208
  97. package/lib/model/texte.ts +0 -229
  98. package/lib/model/util.d.ts +0 -9
  99. package/lib/model/util.js +0 -38
  100. package/lib/model/util.mjs +0 -19
  101. package/lib/model/util.ts +0 -32
  102. package/lib/parsers/texte.d.ts +0 -7
  103. package/lib/parsers/texte.js +0 -228
  104. package/lib/raw_types/ameli.d.ts +0 -914
  105. package/lib/raw_types/ameli.js +0 -5
  106. package/lib/raw_types/ameli.mjs +0 -163
  107. package/lib/raw_types/debats.d.ts +0 -207
  108. package/lib/raw_types/debats.js +0 -5
  109. package/lib/raw_types/debats.mjs +0 -58
  110. package/lib/raw_types/dosleg.d.ts +0 -1619
  111. package/lib/raw_types/dosleg.js +0 -5
  112. package/lib/raw_types/dosleg.mjs +0 -438
  113. package/lib/raw_types/questions.d.ts +0 -419
  114. package/lib/raw_types/questions.js +0 -5
  115. package/lib/raw_types/questions.mjs +0 -11
  116. package/lib/raw_types/senat.d.ts +0 -11368
  117. package/lib/raw_types/senat.js +0 -5
  118. package/lib/raw_types/sens.d.ts +0 -8248
  119. package/lib/raw_types/sens.js +0 -5
  120. package/lib/raw_types/sens.mjs +0 -508
  121. package/lib/raw_types_kysely/ameli.d.ts +0 -915
  122. package/lib/raw_types_kysely/ameli.js +0 -7
  123. package/lib/raw_types_kysely/ameli.mjs +0 -5
  124. package/lib/raw_types_kysely/ameli.ts +0 -951
  125. package/lib/raw_types_kysely/debats.d.ts +0 -207
  126. package/lib/raw_types_kysely/debats.js +0 -7
  127. package/lib/raw_types_kysely/debats.mjs +0 -5
  128. package/lib/raw_types_kysely/debats.ts +0 -222
  129. package/lib/raw_types_kysely/dosleg.d.ts +0 -3532
  130. package/lib/raw_types_kysely/dosleg.js +0 -7
  131. package/lib/raw_types_kysely/dosleg.mjs +0 -5
  132. package/lib/raw_types_kysely/dosleg.ts +0 -3621
  133. package/lib/raw_types_kysely/questions.d.ts +0 -414
  134. package/lib/raw_types_kysely/questions.js +0 -7
  135. package/lib/raw_types_kysely/questions.mjs +0 -5
  136. package/lib/raw_types_kysely/questions.ts +0 -426
  137. package/lib/raw_types_kysely/sens.d.ts +0 -4394
  138. package/lib/raw_types_kysely/sens.js +0 -7
  139. package/lib/raw_types_kysely/sens.mjs +0 -5
  140. package/lib/raw_types_kysely/sens.ts +0 -4499
  141. package/lib/raw_types_schemats/ameli.d.ts +0 -539
  142. package/lib/raw_types_schemats/ameli.js +0 -2
  143. package/lib/raw_types_schemats/ameli.mjs +0 -2
  144. package/lib/raw_types_schemats/ameli.ts +0 -601
  145. package/lib/raw_types_schemats/debats.d.ts +0 -127
  146. package/lib/raw_types_schemats/debats.js +0 -2
  147. package/lib/raw_types_schemats/debats.mjs +0 -2
  148. package/lib/raw_types_schemats/debats.ts +0 -145
  149. package/lib/raw_types_schemats/dosleg.d.ts +0 -977
  150. package/lib/raw_types_schemats/dosleg.js +0 -2
  151. package/lib/raw_types_schemats/dosleg.mjs +0 -2
  152. package/lib/raw_types_schemats/dosleg.ts +0 -2193
  153. package/lib/raw_types_schemats/questions.d.ts +0 -235
  154. package/lib/raw_types_schemats/questions.js +0 -2
  155. package/lib/raw_types_schemats/questions.mjs +0 -2
  156. package/lib/raw_types_schemats/questions.ts +0 -249
  157. package/lib/raw_types_schemats/sens.d.ts +0 -6915
  158. package/lib/raw_types_schemats/sens.js +0 -2
  159. package/lib/raw_types_schemats/sens.mjs +0 -2
  160. package/lib/raw_types_schemats/sens.ts +0 -2907
  161. package/lib/scripts/convert_data.d.ts +0 -1
  162. package/lib/scripts/convert_data.js +0 -354
  163. package/lib/scripts/convert_data.mjs +0 -181
  164. package/lib/scripts/convert_data.ts +0 -243
  165. package/lib/scripts/data-download.d.ts +0 -1
  166. package/lib/scripts/data-download.js +0 -12
  167. package/lib/scripts/datautil.d.ts +0 -8
  168. package/lib/scripts/datautil.js +0 -34
  169. package/lib/scripts/datautil.mjs +0 -16
  170. package/lib/scripts/datautil.ts +0 -19
  171. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  172. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  173. package/lib/scripts/parse_textes.d.ts +0 -1
  174. package/lib/scripts/parse_textes.js +0 -44
  175. package/lib/scripts/parse_textes.mjs +0 -46
  176. package/lib/scripts/parse_textes.ts +0 -65
  177. package/lib/scripts/retrieve_agenda.d.ts +0 -1
  178. package/lib/scripts/retrieve_agenda.js +0 -132
  179. package/lib/scripts/retrieve_cr_commission.d.ts +0 -1
  180. package/lib/scripts/retrieve_cr_commission.js +0 -364
  181. package/lib/scripts/retrieve_cr_seance.d.ts +0 -6
  182. package/lib/scripts/retrieve_cr_seance.js +0 -347
  183. package/lib/scripts/retrieve_documents.d.ts +0 -3
  184. package/lib/scripts/retrieve_documents.js +0 -219
  185. package/lib/scripts/retrieve_documents.mjs +0 -249
  186. package/lib/scripts/retrieve_documents.ts +0 -298
  187. package/lib/scripts/retrieve_open_data.d.ts +0 -1
  188. package/lib/scripts/retrieve_open_data.js +0 -315
  189. package/lib/scripts/retrieve_open_data.mjs +0 -217
  190. package/lib/scripts/retrieve_open_data.ts +0 -268
  191. package/lib/scripts/retrieve_senateurs_photos.d.ts +0 -1
  192. package/lib/scripts/retrieve_senateurs_photos.js +0 -147
  193. package/lib/scripts/retrieve_senateurs_photos.mjs +0 -147
  194. package/lib/scripts/retrieve_senateurs_photos.ts +0 -177
  195. package/lib/scripts/retrieve_videos.d.ts +0 -1
  196. package/lib/scripts/retrieve_videos.js +0 -461
  197. package/lib/scripts/shared/cli_helpers.d.ts +0 -95
  198. package/lib/scripts/shared/cli_helpers.js +0 -91
  199. package/lib/scripts/shared/cli_helpers.ts +0 -36
  200. package/lib/scripts/shared/util.d.ts +0 -4
  201. package/lib/scripts/shared/util.js +0 -35
  202. package/lib/scripts/shared/util.ts +0 -33
  203. package/lib/scripts/test_iter_load.d.ts +0 -1
  204. package/lib/scripts/test_iter_load.js +0 -12
  205. package/lib/src/ameli.d.ts +0 -66
  206. package/lib/src/ameli.js +0 -1
  207. package/lib/src/databases.d.ts +0 -3
  208. package/lib/src/databases.js +0 -26
  209. package/lib/src/db_types/ameli.d.ts +0 -1762
  210. package/lib/src/db_types/ameli.js +0 -1074
  211. package/lib/src/db_types/debats.d.ts +0 -380
  212. package/lib/src/db_types/debats.js +0 -266
  213. package/lib/src/db_types/dosleg.d.ts +0 -2954
  214. package/lib/src/db_types/dosleg.js +0 -2005
  215. package/lib/src/db_types/questions.d.ts +0 -699
  216. package/lib/src/db_types/questions.js +0 -493
  217. package/lib/src/db_types/sens.d.ts +0 -7843
  218. package/lib/src/db_types/sens.js +0 -4691
  219. package/lib/src/debats.d.ts +0 -38
  220. package/lib/src/debats.js +0 -1
  221. package/lib/src/dosleg.d.ts +0 -142
  222. package/lib/src/dosleg.js +0 -193
  223. package/lib/src/model/ameli_postgres.d.ts +0 -67
  224. package/lib/src/model/ameli_postgres.js +0 -150
  225. package/lib/src/other_types/questions.d.ts +0 -2
  226. package/lib/src/other_types/questions.js +0 -1
  227. package/lib/src/questions.d.ts +0 -53
  228. package/lib/src/questions.js +0 -1
  229. package/lib/src/raw_types/senat.d.ts +0 -11372
  230. package/lib/src/raw_types/senat.js +0 -5
  231. package/lib/src/rich_types/agenda.d.ts +0 -45
  232. package/lib/src/rich_types/agenda.js +0 -1
  233. package/lib/src/rich_types/compte_rendu.d.ts +0 -83
  234. package/lib/src/rich_types/compte_rendu.js +0 -1
  235. package/lib/src/rich_types/sessions.d.ts +0 -6
  236. package/lib/src/rich_types/sessions.js +0 -19
  237. package/lib/src/rich_types/texte.d.ts +0 -72
  238. package/lib/src/rich_types/texte.js +0 -15
  239. package/lib/src/scripts/test_iter_load.d.ts +0 -1
  240. package/lib/src/scripts/test_iter_load.js +0 -12
  241. package/lib/src/sens.d.ts +0 -104
  242. package/lib/src/sens.js +0 -1
  243. package/lib/strings.d.ts +0 -1
  244. package/lib/strings.js +0 -18
  245. package/lib/strings.mjs +0 -18
  246. package/lib/strings.ts +0 -26
  247. package/lib/tsconfig.tsbuildinfo +0 -1
  248. package/lib/types/agenda.d.ts +0 -44
  249. package/lib/types/agenda.js +0 -1
  250. package/lib/types/ameli.d.ts +0 -5
  251. package/lib/types/ameli.js +0 -1
  252. package/lib/types/ameli.mjs +0 -13
  253. package/lib/types/ameli.ts +0 -21
  254. package/lib/types/compte_rendu.d.ts +0 -83
  255. package/lib/types/compte_rendu.js +0 -1
  256. package/lib/types/debats.d.ts +0 -2
  257. package/lib/types/debats.js +0 -1
  258. package/lib/types/debats.mjs +0 -2
  259. package/lib/types/debats.ts +0 -6
  260. package/lib/types/dosleg.d.ts +0 -70
  261. package/lib/types/dosleg.js +0 -1
  262. package/lib/types/dosleg.mjs +0 -151
  263. package/lib/types/dosleg.ts +0 -284
  264. package/lib/types/questions.d.ts +0 -2
  265. package/lib/types/questions.js +0 -1
  266. package/lib/types/questions.mjs +0 -1
  267. package/lib/types/questions.ts +0 -3
  268. package/lib/types/sens.d.ts +0 -10
  269. package/lib/types/sens.js +0 -1
  270. package/lib/types/sens.mjs +0 -1
  271. package/lib/types/sens.ts +0 -12
  272. package/lib/types/sessions.d.ts +0 -5
  273. package/lib/types/sessions.js +0 -84
  274. package/lib/types/sessions.mjs +0 -43
  275. package/lib/types/sessions.ts +0 -42
  276. package/lib/types/texte.d.ts +0 -74
  277. package/lib/types/texte.js +0 -16
  278. package/lib/types/texte.mjs +0 -16
  279. package/lib/types/texte.ts +0 -76
  280. package/lib/typings/windows-1252.d.js +0 -2
  281. package/lib/typings/windows-1252.d.mjs +0 -2
  282. package/lib/typings/windows-1252.d.ts +0 -11
  283. package/lib/utils/cr_spliting.d.ts +0 -28
  284. package/lib/utils/cr_spliting.js +0 -265
  285. package/lib/utils/date.d.ts +0 -10
  286. package/lib/utils/date.js +0 -100
  287. package/lib/utils/nvs-timecode.d.ts +0 -7
  288. package/lib/utils/nvs-timecode.js +0 -79
  289. package/lib/utils/reunion_grouping.d.ts +0 -9
  290. package/lib/utils/reunion_grouping.js +0 -361
  291. package/lib/utils/reunion_odj_building.d.ts +0 -5
  292. package/lib/utils/reunion_odj_building.js +0 -154
  293. package/lib/utils/reunion_parsing.d.ts +0 -23
  294. package/lib/utils/reunion_parsing.js +0 -209
  295. package/lib/utils/scoring.d.ts +0 -14
  296. package/lib/utils/scoring.js +0 -147
  297. package/lib/utils/string_cleaning.d.ts +0 -7
  298. package/lib/utils/string_cleaning.js +0 -57
  299. package/lib/validators/config.d.ts +0 -9
  300. package/lib/validators/config.js +0 -10
  301. package/lib/validators/config.mjs +0 -54
  302. package/lib/validators/config.ts +0 -79
  303. package/lib/validators/senat.d.ts +0 -0
  304. package/lib/validators/senat.js +0 -28
  305. package/lib/validators/senat.mjs +0 -24
  306. package/lib/validators/senat.ts +0 -26
@@ -1,43 +0,0 @@
1
- export var Session;
2
- (function (Session) {
3
- Session[Session["2012-2013"] = 2012] = "2012-2013";
4
- Session[Session["2013-2014"] = 2013] = "2013-2014";
5
- Session[Session["2014-2015"] = 2014] = "2014-2015";
6
- Session[Session["2015-2016"] = 2015] = "2015-2016";
7
- Session[Session["2016-2017"] = 2016] = "2016-2017";
8
- Session[Session["2017-2018"] = 2017] = "2017-2018";
9
- Session[Session["2018-2019"] = 2018] = "2018-2019";
10
- Session[Session["2019-2020"] = 2019] = "2019-2020";
11
- Session[Session["2020-2021"] = 2020] = "2020-2021";
12
- Session[Session["2021-2022"] = 2021] = "2021-2022";
13
- Session[Session["2022-2023"] = 2022] = "2022-2023";
14
- Session[Session["2023-2024"] = 2023] = "2023-2024";
15
- Session[Session["2024-2025"] = 2024] = "2024-2025";
16
- Session[Session["2025-2026"] = 2025] = "2025-2026";
17
- Session[Session["2026-2027"] = 2026] = "2026-2027";
18
- Session[Session["2027-2028"] = 2027] = "2027-2028";
19
- Session[Session["2028-2029"] = 2028] = "2028-2029";
20
- Session[Session["2029-2030"] = 2029] = "2029-2030";
21
- Session[Session["2030-2031"] = 2030] = "2030-2031";
22
- Session[Session["2031-2032"] = 2031] = "2031-2032";
23
- Session[Session["2032-2033"] = 2032] = "2032-2033";
24
- Session[Session["2033-2034"] = 2033] = "2033-2034";
25
- Session[Session["2034-2035"] = 2034] = "2034-2035";
26
- Session[Session["2035-2036"] = 2035] = "2035-2036";
27
- Session[Session["2036-2037"] = 2036] = "2036-2037";
28
- Session[Session["2037-2038"] = 2037] = "2037-2038";
29
- Session[Session["2038-2039"] = 2038] = "2038-2039";
30
- Session[Session["2039-2040"] = 2039] = "2039-2040";
31
- Session[Session["2040-2041"] = 2040] = "2040-2041";
32
- Session[Session["2041-2042"] = 2041] = "2041-2042";
33
- Session[Session["2042-2043"] = 2042] = "2042-2043";
34
- Session[Session["2043-2044"] = 2043] = "2043-2044";
35
- Session[Session["2044-2045"] = 2044] = "2044-2045";
36
- Session[Session["2045-2046"] = 2045] = "2045-2046";
37
- Session[Session["2046-2047"] = 2046] = "2046-2047";
38
- Session[Session["2047-2048"] = 2047] = "2047-2048";
39
- Session[Session["2048-2049"] = 2048] = "2048-2049";
40
- Session[Session["2049-2050"] = 2049] = "2049-2050";
41
- Session[Session["2050-2051"] = 2050] = "2050-2051";
42
- Session[Session["All"] = 0] = "All";
43
- })(Session || (Session = {}));
@@ -1,42 +0,0 @@
1
- export enum Session {
2
- "2012-2013" = 2012,
3
- "2013-2014",
4
- "2014-2015",
5
- "2015-2016",
6
- "2016-2017",
7
- "2017-2018",
8
- "2018-2019",
9
- "2019-2020",
10
- "2020-2021",
11
- "2021-2022",
12
- "2022-2023",
13
- "2023-2024",
14
- "2024-2025",
15
- "2025-2026",
16
- "2026-2027",
17
- "2027-2028",
18
- "2028-2029",
19
- "2029-2030",
20
- "2030-2031",
21
- "2031-2032",
22
- "2032-2033",
23
- "2033-2034",
24
- "2034-2035",
25
- "2035-2036",
26
- "2036-2037",
27
- "2037-2038",
28
- "2038-2039",
29
- "2039-2040",
30
- "2040-2041",
31
- "2041-2042",
32
- "2042-2043",
33
- "2043-2044",
34
- "2044-2045",
35
- "2045-2046",
36
- "2046-2047",
37
- "2047-2048",
38
- "2048-2049",
39
- "2049-2050",
40
- "2050-2051",
41
- "All" = 0
42
- }
@@ -1,74 +0,0 @@
1
- export declare enum DivisionType {
2
- tome = 1,
3
- part = 2,
4
- book = 3,
5
- title = 4,
6
- subtitle = 5,
7
- chapter = 6,
8
- section = 7,
9
- subsection = 8,
10
- paragraph = 9,
11
- article = 10,
12
- alinea = 11,
13
- division = 12
14
- }
15
- export type DivisionTag = keyof typeof DivisionType;
16
- export interface DocumentMetadata {
17
- name: string;
18
- session: number | null | undefined;
19
- date?: string | null;
20
- url_expose_des_motifs?: URL;
21
- url_xml?: URL;
22
- url_html: URL;
23
- url_pdf: URL;
24
- }
25
- export interface FlatTexte {
26
- titre: string | null;
27
- titreCourt: string | null;
28
- signetDossier: string | null;
29
- urlDossierSenat: string | null;
30
- urlDossierAssemblee: string | null;
31
- type: string | null;
32
- session: string | null;
33
- numero: number | null;
34
- datePresentation: Date | null;
35
- dateDepot: Date | null;
36
- datePublicationXml: Date | null;
37
- version: Version | null;
38
- workflow: Step[];
39
- divisions: Division[];
40
- exposeDesMotifs?: ExposeDesMotifs | null;
41
- }
42
- export type Version = "RECT" | "RECT_BIS" | "RECT_TER" | "RECT_QUATER" | "RECT_QUINQUIES";
43
- export interface Step {
44
- eId: string;
45
- date: Date | null;
46
- type: string | null;
47
- session: string | null;
48
- numero: string | null;
49
- version: Version | null;
50
- outcome: string | null;
51
- }
52
- export interface Division {
53
- index: number;
54
- eId: string;
55
- tag: DivisionTag;
56
- level: number;
57
- headings: DivisionContent[];
58
- }
59
- export interface Article extends Division {
60
- alineas: Alinea[];
61
- }
62
- export interface DivisionContent {
63
- text: string | null;
64
- html?: string | null;
65
- }
66
- export interface Alinea extends DivisionContent {
67
- eId: string;
68
- heading: DivisionContent;
69
- pastille: string | null;
70
- }
71
- export interface ExposeDesMotifs {
72
- text: string | null;
73
- html: string | null;
74
- }
@@ -1,16 +0,0 @@
1
- /* eslint no-use-before-define: 0 */
2
- export var DivisionType;
3
- (function (DivisionType) {
4
- DivisionType[DivisionType["tome"] = 1] = "tome";
5
- DivisionType[DivisionType["part"] = 2] = "part";
6
- DivisionType[DivisionType["book"] = 3] = "book";
7
- DivisionType[DivisionType["title"] = 4] = "title";
8
- DivisionType[DivisionType["subtitle"] = 5] = "subtitle";
9
- DivisionType[DivisionType["chapter"] = 6] = "chapter";
10
- DivisionType[DivisionType["section"] = 7] = "section";
11
- DivisionType[DivisionType["subsection"] = 8] = "subsection";
12
- DivisionType[DivisionType["paragraph"] = 9] = "paragraph";
13
- DivisionType[DivisionType["article"] = 10] = "article";
14
- DivisionType[DivisionType["alinea"] = 11] = "alinea";
15
- DivisionType[DivisionType["division"] = 12] = "division";
16
- })(DivisionType || (DivisionType = {}));
@@ -1,16 +0,0 @@
1
- /* eslint no-use-before-define: 0 */
2
- export var DivisionType;
3
- (function (DivisionType) {
4
- DivisionType[DivisionType["tome"] = 1] = "tome";
5
- DivisionType[DivisionType["part"] = 2] = "part";
6
- DivisionType[DivisionType["book"] = 3] = "book";
7
- DivisionType[DivisionType["title"] = 4] = "title";
8
- DivisionType[DivisionType["subtitle"] = 5] = "subtitle";
9
- DivisionType[DivisionType["chapter"] = 6] = "chapter";
10
- DivisionType[DivisionType["section"] = 7] = "section";
11
- DivisionType[DivisionType["subsection"] = 8] = "subsection";
12
- DivisionType[DivisionType["paragraph"] = 9] = "paragraph";
13
- DivisionType[DivisionType["article"] = 10] = "article";
14
- DivisionType[DivisionType["alinea"] = 11] = "alinea";
15
- DivisionType[DivisionType["division"] = 12] = "division"; // TODO annexe
16
- })(DivisionType || (DivisionType = {}));
@@ -1,76 +0,0 @@
1
- /* eslint no-use-before-define: 0 */
2
-
3
- export enum DivisionType {
4
- tome = 1,
5
- part,
6
- book,
7
- title,
8
- subtitle,
9
- chapter,
10
- section,
11
- subsection,
12
- paragraph,
13
- article,
14
- alinea,
15
- division // TODO annexe
16
- }
17
-
18
- export type DivisionTag = keyof typeof DivisionType;
19
-
20
- export interface FlatTexte {
21
- titre: string | null
22
- titreCourt: string | null
23
- signetDossier: string | null
24
- urlDossierSenat: string | null
25
- urlDossierAssemblee: string | null
26
- type: string | null
27
- session: string | null
28
- numero: number | null
29
- datePresentation: Date | null,
30
- dateDepot: Date | null,
31
- datePublicationXml: Date | null,
32
- version: Version | null
33
- workflow: Step[]
34
- divisions: Division[]
35
- exposeDesMotifs?: ExposeDesMotifs | null
36
- }
37
-
38
- export type Version = "RECT" | "RECT_BIS" | "RECT_TER" | "RECT_QUATER" | "RECT_QUINQUIES"
39
-
40
- export interface Step {
41
- eId: string
42
- date: Date | null
43
- type: string | null
44
- session: string | null
45
- numero: string | null
46
- version: Version | null
47
- outcome: string | null
48
- }
49
-
50
- export interface Division {
51
- index: number
52
- eId: string
53
- tag: DivisionTag
54
- level: number
55
- headings: DivisionContent[]
56
- }
57
-
58
- export interface Article extends Division {
59
- alineas: Alinea[]
60
- }
61
-
62
- export interface DivisionContent {
63
- text: string | null
64
- html?: string | null
65
- }
66
-
67
- export interface Alinea extends DivisionContent {
68
- eId: string
69
- heading: DivisionContent
70
- pastille: string | null
71
- }
72
-
73
- export interface ExposeDesMotifs {
74
- text: string | null
75
- html: string | null
76
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGluZ3Mvd2luZG93cy0xMjUyLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBtb2R1bGUgXCJ3aW5kb3dzLTEyNTJcIiB7XG4gIC8qKiBEZWNsYXJhdGlvbiBmaWxlIGdlbmVyYXRlZCBieSBkdHMtZ2VuICovXG5cbiAgZXhwb3J0IGNvbnN0IGxhYmVsczogc3RyaW5nW11cblxuICBleHBvcnQgY29uc3QgdmVyc2lvbjogc3RyaW5nXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGluZ3Mvd2luZG93cy0xMjUyLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBtb2R1bGUgXCJ3aW5kb3dzLTEyNTJcIiB7XG4gIC8qKiBEZWNsYXJhdGlvbiBmaWxlIGdlbmVyYXRlZCBieSBkdHMtZ2VuICovXG5cbiAgZXhwb3J0IGNvbnN0IGxhYmVsczogc3RyaW5nW11cblxuICBleHBvcnQgY29uc3QgdmVyc2lvbjogc3RyaW5nXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,11 +0,0 @@
1
- declare module "windows-1252" {
2
- /** Declaration file generated by dts-gen */
3
-
4
- export const labels: string[]
5
-
6
- export const version: string
7
-
8
- export function decode(input: any, options?: any): any
9
-
10
- export function encode(input: any, options?: any): any
11
- }
@@ -1,28 +0,0 @@
1
- import { Reunion } from "../types/agenda";
2
- export declare function parseCommissionMetadataFromHtml(html: string, sourceFileName?: string): {
3
- sourceFile: string | null;
4
- organeTitleRaw: string | null;
5
- organeDetected: string | null;
6
- organeCode: string | null;
7
- weekStart: string | null;
8
- days: {
9
- date: string;
10
- openTime?: string;
11
- h2Index: number;
12
- }[];
13
- };
14
- export declare function loadAgendaForDate(dataDir: string, yyyymmdd: string, session: number): Promise<Reunion[]>;
15
- export declare function linkCRtoCommissionGroup(opts: {
16
- dataDir: string;
17
- dateISO: string;
18
- organeDetected: string | null;
19
- hourShort: string | null;
20
- crUid: string;
21
- titreGuess?: string | null;
22
- groupUid?: string | null;
23
- }): Promise<{
24
- uid: string;
25
- filePath: string;
26
- created: boolean;
27
- updated: boolean;
28
- }>;
@@ -1,265 +0,0 @@
1
- import path from "path";
2
- import * as cheerio from "cheerio";
3
- import { AGENDA_FOLDER, DATA_TRANSFORMED_FOLDER } from "../loaders";
4
- import fs from "fs-extra";
5
- import { sessionStartYearFromDate } from "../model/seance";
6
- import { frDateToISO, hourShortToStartTime } from "./date";
7
- import { normalizeSpaces } from "./string_cleaning";
8
- // Convert "quinze heures trente", "15 heures 30", "dix-sept heures moins le quart", etc. en "HHMM"
9
- function parseFrenchClockToHHMM(input) {
10
- const s = (input || "")
11
- .toLowerCase()
12
- .normalize("NFKD")
13
- .replace(/[\u0300-\u036f]/g, "")
14
- .trim();
15
- if (!s)
16
- return undefined;
17
- const digitMatch = s.match(/(\d{1,2})\s*heures?(?:\s*(\d{1,2}))?/);
18
- if (digitMatch) {
19
- const h = Math.min(24, Math.max(0, parseInt(digitMatch[1], 10)));
20
- const m = digitMatch[2] ? Math.min(59, Math.max(0, parseInt(digitMatch[2], 10))) : 0;
21
- return `${String(h).padStart(2, "0")}${String(m).padStart(2, "0")}`;
22
- }
23
- const NUM = new Map([
24
- ["zero", 0],
25
- ["une", 1],
26
- ["un", 1],
27
- ["deux", 2],
28
- ["trois", 3],
29
- ["quatre", 4],
30
- ["cinq", 5],
31
- ["six", 6],
32
- ["sept", 7],
33
- ["huit", 8],
34
- ["neuf", 9],
35
- ["dix", 10],
36
- ["onze", 11],
37
- ["douze", 12],
38
- ["treize", 13],
39
- ["quatorze", 14],
40
- ["quinze", 15],
41
- ["seize", 16],
42
- ["dix-sept", 17],
43
- ["dix sept", 17],
44
- ["dix-huit", 18],
45
- ["dix huit", 18],
46
- ["dix-neuf", 19],
47
- ["dix neuf", 19],
48
- ["vingt", 20],
49
- ["vingt et une", 21],
50
- ["vingt-et-une", 21],
51
- ["vingt et un", 21],
52
- ["vingt-et-un", 21],
53
- ["vingt-deux", 22],
54
- ["vingt deux", 22],
55
- ["vingt-trois", 23],
56
- ["vingt trois", 23],
57
- ["vingt-quatre", 24],
58
- ["vingt quatre", 24],
59
- ]);
60
- const hourWordMatch = s.match(/([a-z\- ]+?)\s*heures?/);
61
- if (!hourWordMatch)
62
- return undefined;
63
- const hourWord = hourWordMatch[1].trim();
64
- let hour = NUM.get(hourWord);
65
- if (hour == null) {
66
- const cleaned = hourWord.replace(/\s+/g, " ");
67
- hour = NUM.get(cleaned);
68
- }
69
- if (hour == null)
70
- return undefined;
71
- let minutes = 0;
72
- if (/\bet (demie|demi)\b/.test(s))
73
- minutes = 30;
74
- else if (/\bet quart\b/.test(s))
75
- minutes = 15;
76
- else if (/\bmoins le quart\b/.test(s)) {
77
- hour = (hour + 23) % 24;
78
- minutes = 45;
79
- }
80
- else {
81
- const MIN = new Map([
82
- ["cinq", 5],
83
- ["dix", 10],
84
- ["quinze", 15],
85
- ["vingt", 20],
86
- ["vingt-cinq", 25],
87
- ["vingt cinq", 25],
88
- ["trente", 30],
89
- ["trente-cinq", 35],
90
- ["trente cinq", 35],
91
- ["quarante", 40],
92
- ["quarante-cinq", 45],
93
- ["quarante cinq", 45],
94
- ["cinquante", 50],
95
- ["cinquante-cinq", 55],
96
- ["cinquante cinq", 55],
97
- ]);
98
- const minWordMatch = s.match(/heures?\s+([a-z\- ]+?)(?:[).,;]|$)/);
99
- if (minWordMatch) {
100
- const mw = minWordMatch[1].trim();
101
- const m1 = MIN.get(mw);
102
- if (m1 != null)
103
- minutes = m1;
104
- }
105
- }
106
- return `${String(hour).padStart(2, "0")}${String(minutes).padStart(2, "0")}`;
107
- }
108
- function extractWeekStartFromHead($) {
109
- const og = $('meta[property="og:title"]').attr("content") || $("title").text();
110
- const m = (og ?? "").toLowerCase().match(/semaine du\s+(\d{1,2}\s+\w+\s+\d{4})/i);
111
- if (m)
112
- return frDateToISO(m[1]);
113
- return undefined;
114
- }
115
- function detectOrganeFromTitle(s) {
116
- const t = (s ?? "").trim();
117
- if (!t)
118
- return { organeTitleRaw: undefined, organeDetected: undefined };
119
- const lower = t.toLowerCase();
120
- const m = lower.match(/commission(?:\s+des|\s+de|)\s+([^:]+)$/i);
121
- let organeDetected;
122
- if (m && m[1]) {
123
- organeDetected = ("Commission " + m[1])
124
- .replace(/\s+/g, " ")
125
- .replace(/\s+:? comptes? rendus?$/i, "")
126
- .trim();
127
- organeDetected = organeDetected[0].toUpperCase() + organeDetected.slice(1);
128
- }
129
- return { organeTitleRaw: t, organeDetected };
130
- }
131
- function extractDaysAndOpenings($) {
132
- const days = [];
133
- const h2s = $("h2").toArray();
134
- for (let i = 0; i < h2s.length; i++) {
135
- const h = h2s[i];
136
- const txt = normalizeSpaces($(h).text());
137
- const m = txt.match(/^(?:Lundi|Mardi|Mercredi|Jeudi|Vendredi|Samedi|Dimanche)\s+(.+?)$/i);
138
- if (!m)
139
- continue;
140
- const iso = frDateToISO(m[1]);
141
- if (!iso)
142
- continue;
143
- let openTime;
144
- let cur = $(h).next();
145
- while (cur.length && cur[0].tagName !== "h2") {
146
- const t = normalizeSpaces(cur.text());
147
- const mt = t.match(/La réunion est ouverte à\s+(\d{1,2})\s*h(?:\s*(\d{2}))?/i);
148
- if (mt) {
149
- openTime = `${mt[1].padStart(2, "0")}:${(mt[2] ?? "00").padStart(2, "0")}`;
150
- break;
151
- }
152
- cur = cur.next();
153
- }
154
- days.push({ date: iso, openTime, h2Index: i });
155
- }
156
- return days;
157
- }
158
- function extractOrganeCode($) {
159
- const names = $("a[name]")
160
- .toArray()
161
- .map((a) => ($(a).attr("name") || "").trim());
162
- return names.find((n) => /^[A-Z]{3,6}$/.test(n));
163
- }
164
- export function parseCommissionMetadataFromHtml(html, sourceFileName) {
165
- const $ = cheerio.load(html);
166
- const h1 = $("h1.page-title").first().text().trim() || undefined;
167
- const headTitle = $('meta[property="og:title"]').attr("content") || $("title").text() || undefined;
168
- const { organeTitleRaw, organeDetected } = detectOrganeFromTitle(h1 || headTitle);
169
- let weekStart = extractWeekStartFromHead($);
170
- const days = extractDaysAndOpenings($);
171
- if (!weekStart && days.length > 0)
172
- weekStart = days[0].date;
173
- const organeCode = extractOrganeCode($);
174
- return {
175
- sourceFile: sourceFileName ?? null,
176
- organeTitleRaw: organeTitleRaw ?? null,
177
- organeDetected: organeDetected ?? null,
178
- organeCode: organeCode ?? null,
179
- weekStart: weekStart ?? null,
180
- days, // [{date, openTime?, h2Index}]
181
- };
182
- }
183
- function isGroupedReunion(o) {
184
- return o && typeof o === "object" && typeof o.uid === "string" && typeof o.date === "string";
185
- }
186
- export async function loadAgendaForDate(dataDir, yyyymmdd, session) {
187
- const baseDir = path.join(dataDir, AGENDA_FOLDER, DATA_TRANSFORMED_FOLDER, String(session));
188
- if (!(await fs.pathExists(baseDir)))
189
- return [];
190
- const files = (await fs.readdir(baseDir)).filter((f) => f.startsWith(`RUSN${yyyymmdd}IDC`) && f.toLowerCase().endsWith(".json"));
191
- const out = [];
192
- for (const f of files) {
193
- const p = path.join(baseDir, f);
194
- try {
195
- const raw = await fs.readFile(p, "utf8");
196
- const obj = JSON.parse(raw);
197
- if (!isGroupedReunion(obj)) {
198
- continue;
199
- }
200
- if (!obj.uid.startsWith(`RUSN${yyyymmdd}IDC`)) {
201
- continue;
202
- }
203
- out.push(obj);
204
- }
205
- catch {
206
- // ignore
207
- }
208
- }
209
- return out;
210
- }
211
- export async function linkCRtoCommissionGroup(opts) {
212
- const { dataDir, dateISO, organeDetected, hourShort, crUid, titreGuess, groupUid } = opts;
213
- const computedUid = crUid.replace(/^CRC/, "RU");
214
- const uid = groupUid ?? computedUid;
215
- const session = sessionStartYearFromDate(new Date(dateISO));
216
- const groupedDir = path.join(dataDir, AGENDA_FOLDER, DATA_TRANSFORMED_FOLDER, String(session));
217
- await fs.ensureDir(groupedDir);
218
- const filePath = path.join(groupedDir, `${uid}.json`);
219
- let group = null;
220
- let created = false;
221
- let updated = false;
222
- try {
223
- if (await fs.pathExists(filePath)) {
224
- group = await fs.readJSON(filePath);
225
- }
226
- }
227
- catch (e) {
228
- console.warn(`[AGENDA][COM] Unreadable JSON → ${filePath} (${e?.message}) → will recreate`);
229
- }
230
- if (!group) {
231
- group = {
232
- uid,
233
- chambre: "SN",
234
- date: dateISO,
235
- type: "Commission",
236
- startTime: hourShortToStartTime(hourShort),
237
- endTime: null,
238
- captationVideo: false,
239
- titre: titreGuess ?? "",
240
- organe: organeDetected ?? "Commission",
241
- objet: titreGuess ?? "",
242
- events: [],
243
- compteRenduRefUid: crUid,
244
- };
245
- created = true;
246
- console.log(`[AGENDA][COM] Created new group uid=${uid} for CR uid=${crUid}`);
247
- }
248
- else {
249
- group.compteRenduRefUid = crUid;
250
- updated = true;
251
- console.log(`[AGENDA][COM] Updated group uid=${uid} for CR uid=${crUid}`);
252
- }
253
- // Lien CR
254
- // Enrichir depuis CR si vide
255
- // const sommaire = cr?.metadonnees?.sommaire as Sommaire | undefined;
256
- // if (sommaire) {
257
- // const { titre: dTitre, objet: dObjet } = deriveTitreObjetFromSommaire(sommaire, undefined);
258
- // if (!group.titre && dTitre) group.titre = dTitre;
259
- // if ((!group.objet || !group.objet.trim()) && dObjet) group.objet = dObjet;
260
- // } else if (!group.titre && titreGuess) {
261
- // group.titre = titreGuess;
262
- // }
263
- await fs.writeJSON(filePath, group, { spaces: 2 });
264
- return { uid, filePath, created, updated };
265
- }
@@ -1,10 +0,0 @@
1
- export declare function yyyymmddFromPath(xmlFilePath: string): string;
2
- export declare function parseYYYYMMDD(yyyymmdd: string): Date | null;
3
- export declare function frDateToISO(s?: string): string | undefined;
4
- export declare function hourShortToStartTime(hourShort: string | null): string | null;
5
- export declare function epochToParisDateTime(epochSec: number): {
6
- date: string;
7
- startTime: string;
8
- } | null;
9
- export declare function toTargetEpoch(time: string | null, date?: string | null): number | null;
10
- export declare function toFRDate(dateYYYYMMDD: string): string;