codex 1.7.3a0__py3-none-any.whl → 1.7.3a1__py3-none-any.whl

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.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (421) hide show
  1. codex/choices.py +0 -6
  2. codex/librarian/janitor/janitor.py +0 -7
  3. codex/librarian/janitor/status.py +0 -1
  4. codex/librarian/janitor/tasks.py +0 -5
  5. codex/librarian/librariand.py +0 -5
  6. codex/logger/loggerd.py +40 -17
  7. codex/settings/settings.py +0 -1
  8. codex/static_root/assets/{VCheckbox-pHjSEgdV.176f3c1f4191.js → VCheckbox-BV02IXFk.7b1ac0cc0c68.js} +1 -1
  9. codex/static_root/assets/VCheckbox-BV02IXFk.7b1ac0cc0c68.js.br +0 -0
  10. codex/static_root/assets/VCheckbox-BV02IXFk.7b1ac0cc0c68.js.gz +0 -0
  11. codex/static_root/assets/{VCheckbox-pHjSEgdV.js → VCheckbox-BV02IXFk.js} +1 -1
  12. codex/static_root/assets/VCheckbox-BV02IXFk.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-BV02IXFk.js.gz +0 -0
  14. codex/static_root/assets/{VCheckboxBtn-DBKqrZGq.467e75859b62.js → VCheckboxBtn-DRCMElDO.e3bc3b165786.js} +1 -1
  15. codex/static_root/assets/VCheckboxBtn-DRCMElDO.e3bc3b165786.js.br +0 -0
  16. codex/static_root/assets/VCheckboxBtn-DRCMElDO.e3bc3b165786.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-DBKqrZGq.js → VCheckboxBtn-DRCMElDO.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-DRCMElDO.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-DRCMElDO.js.gz +0 -0
  20. codex/static_root/assets/{VCombobox-Bg7uOTbF.2fc6073b789f.js → VCombobox-BUzWpAvZ.ec97d55d18d6.js} +1 -1
  21. codex/static_root/assets/VCombobox-BUzWpAvZ.ec97d55d18d6.js.br +0 -0
  22. codex/static_root/assets/VCombobox-BUzWpAvZ.ec97d55d18d6.js.gz +0 -0
  23. codex/static_root/assets/{VCombobox-Bg7uOTbF.js → VCombobox-BUzWpAvZ.js} +1 -1
  24. codex/static_root/assets/VCombobox-BUzWpAvZ.js.br +0 -0
  25. codex/static_root/assets/VCombobox-BUzWpAvZ.js.gz +0 -0
  26. codex/static_root/assets/{VDialog-IrbBYFLM.91a058d572c4.js → VDialog-CvyPs47z.06bd89160727.js} +1 -1
  27. codex/static_root/assets/VDialog-CvyPs47z.06bd89160727.js.br +0 -0
  28. codex/static_root/assets/VDialog-CvyPs47z.06bd89160727.js.gz +0 -0
  29. codex/static_root/assets/{VDialog-IrbBYFLM.js → VDialog-CvyPs47z.js} +1 -1
  30. codex/static_root/assets/VDialog-CvyPs47z.js.br +0 -0
  31. codex/static_root/assets/VDialog-CvyPs47z.js.gz +0 -0
  32. codex/static_root/assets/{VDivider-CuRohbVQ.3c12b040aed7.js → VDivider-DxA4gr8D.a62a378b1691.js} +1 -1
  33. codex/static_root/assets/VDivider-DxA4gr8D.a62a378b1691.js.br +0 -0
  34. codex/static_root/assets/VDivider-DxA4gr8D.a62a378b1691.js.gz +0 -0
  35. codex/static_root/assets/{VDivider-CuRohbVQ.js → VDivider-DxA4gr8D.js} +1 -1
  36. codex/static_root/assets/VDivider-DxA4gr8D.js.br +0 -0
  37. codex/static_root/assets/VDivider-DxA4gr8D.js.gz +0 -0
  38. codex/static_root/assets/{VExpansionPanels-b0xWLH75.bff6ea8b4055.js → VExpansionPanels-_Hd_Icpj.4670cf36fda0.js} +1 -1
  39. codex/static_root/assets/VExpansionPanels-_Hd_Icpj.4670cf36fda0.js.br +0 -0
  40. codex/static_root/assets/VExpansionPanels-_Hd_Icpj.4670cf36fda0.js.gz +0 -0
  41. codex/static_root/assets/{VExpansionPanels-b0xWLH75.js → VExpansionPanels-_Hd_Icpj.js} +1 -1
  42. codex/static_root/assets/VExpansionPanels-_Hd_Icpj.js.br +0 -0
  43. codex/static_root/assets/VExpansionPanels-_Hd_Icpj.js.gz +0 -0
  44. codex/static_root/assets/{VForm-B4hkqnS8.afbd5cf0908a.js → VForm-B4doHkrL.1f48583f2de6.js} +1 -1
  45. codex/static_root/assets/VForm-B4doHkrL.1f48583f2de6.js.br +0 -0
  46. codex/static_root/assets/VForm-B4doHkrL.1f48583f2de6.js.gz +0 -0
  47. codex/static_root/assets/{VForm-B4hkqnS8.js → VForm-B4doHkrL.js} +1 -1
  48. codex/static_root/assets/VForm-B4doHkrL.js.br +0 -0
  49. codex/static_root/assets/VForm-B4doHkrL.js.gz +0 -0
  50. codex/static_root/assets/{VRadioGroup-Cbayik6d.034f0f275265.js → VRadioGroup-DT7JWkoW.28cd429e5a15.js} +1 -1
  51. codex/static_root/assets/VRadioGroup-DT7JWkoW.28cd429e5a15.js.br +0 -0
  52. codex/static_root/assets/VRadioGroup-DT7JWkoW.28cd429e5a15.js.gz +0 -0
  53. codex/static_root/assets/{VRadioGroup-Cbayik6d.js → VRadioGroup-DT7JWkoW.js} +1 -1
  54. codex/static_root/assets/VRadioGroup-DT7JWkoW.js.br +0 -0
  55. codex/static_root/assets/VRadioGroup-DT7JWkoW.js.gz +0 -0
  56. codex/static_root/assets/{VSelect-BsuB-2P1.abe187c8b53f.js → VSelect-DtYhH7Mk.67eae5723992.js} +1 -1
  57. codex/static_root/assets/VSelect-DtYhH7Mk.67eae5723992.js.br +0 -0
  58. codex/static_root/assets/VSelect-DtYhH7Mk.67eae5723992.js.gz +0 -0
  59. codex/static_root/assets/{VSelect-BsuB-2P1.js → VSelect-DtYhH7Mk.js} +1 -1
  60. codex/static_root/assets/VSelect-DtYhH7Mk.js.br +0 -0
  61. codex/static_root/assets/VSelect-DtYhH7Mk.js.gz +0 -0
  62. codex/static_root/assets/{VSelectionControl-L41n5bnX.f4674bb62425.js → VSelectionControl-BJm6ORIw.efe501dcf742.js} +1 -1
  63. codex/static_root/assets/VSelectionControl-BJm6ORIw.efe501dcf742.js.br +0 -0
  64. codex/static_root/assets/VSelectionControl-BJm6ORIw.efe501dcf742.js.gz +0 -0
  65. codex/static_root/assets/{VSelectionControl-L41n5bnX.js → VSelectionControl-BJm6ORIw.js} +1 -1
  66. codex/static_root/assets/VSelectionControl-BJm6ORIw.js.br +0 -0
  67. codex/static_root/assets/VSelectionControl-BJm6ORIw.js.gz +0 -0
  68. codex/static_root/assets/{VTable-CYv4gUUt.76e4658abeb3.js → VTable-Bpr_wGHh.65e8b5288ad7.js} +1 -1
  69. codex/static_root/assets/VTable-Bpr_wGHh.65e8b5288ad7.js.br +0 -0
  70. codex/static_root/assets/VTable-Bpr_wGHh.65e8b5288ad7.js.gz +0 -0
  71. codex/static_root/assets/{VTable-CYv4gUUt.js → VTable-Bpr_wGHh.js} +1 -1
  72. codex/static_root/assets/VTable-Bpr_wGHh.js.br +0 -0
  73. codex/static_root/assets/VTable-Bpr_wGHh.js.gz +0 -0
  74. codex/static_root/assets/{VWindowItem-f8UkxXa_.1d3e9e78fc9b.js → VWindowItem-C1nqmRqv.aa75e27fc15e.js} +1 -1
  75. codex/static_root/assets/VWindowItem-C1nqmRqv.aa75e27fc15e.js.br +0 -0
  76. codex/static_root/assets/VWindowItem-C1nqmRqv.aa75e27fc15e.js.gz +0 -0
  77. codex/static_root/assets/{VWindowItem-f8UkxXa_.js → VWindowItem-C1nqmRqv.js} +1 -1
  78. codex/static_root/assets/VWindowItem-C1nqmRqv.js.br +0 -0
  79. codex/static_root/assets/VWindowItem-C1nqmRqv.js.gz +0 -0
  80. codex/static_root/assets/{admin-Izb24SXM.504ea9d9515c.js → admin-BYCwfr2h.581e490b1ec8.js} +1 -1
  81. codex/static_root/assets/admin-BYCwfr2h.581e490b1ec8.js.br +0 -0
  82. codex/static_root/assets/admin-BYCwfr2h.581e490b1ec8.js.gz +0 -0
  83. codex/static_root/assets/{admin-Izb24SXM.js → admin-BYCwfr2h.js} +1 -1
  84. codex/static_root/assets/admin-BYCwfr2h.js.br +0 -0
  85. codex/static_root/assets/admin-BYCwfr2h.js.gz +0 -0
  86. codex/static_root/assets/{admin-BmuWJcAB.b0b253aefd88.js → admin-Do4UwPej.6beffbe88dd0.js} +1 -1
  87. codex/static_root/assets/admin-Do4UwPej.6beffbe88dd0.js.br +0 -0
  88. codex/static_root/assets/admin-Do4UwPej.6beffbe88dd0.js.gz +0 -0
  89. codex/static_root/assets/{admin-BmuWJcAB.js → admin-Do4UwPej.js} +1 -1
  90. codex/static_root/assets/admin-Do4UwPej.js.br +0 -0
  91. codex/static_root/assets/admin-Do4UwPej.js.gz +0 -0
  92. codex/static_root/assets/admin-VRLEt4I5.06cb213f624d.css +1 -0
  93. codex/static_root/assets/admin-VRLEt4I5.06cb213f624d.css.br +0 -0
  94. codex/static_root/assets/admin-VRLEt4I5.06cb213f624d.css.gz +0 -0
  95. codex/static_root/assets/admin-VRLEt4I5.css +1 -0
  96. codex/static_root/assets/admin-VRLEt4I5.css.br +0 -0
  97. codex/static_root/assets/admin-VRLEt4I5.css.gz +0 -0
  98. codex/static_root/assets/admin-menu-DyaS3ZkH.34c055460f79.js +1 -0
  99. codex/static_root/assets/admin-menu-DyaS3ZkH.34c055460f79.js.br +0 -0
  100. codex/static_root/assets/admin-menu-DyaS3ZkH.34c055460f79.js.gz +0 -0
  101. codex/static_root/assets/admin-menu-DyaS3ZkH.js +1 -0
  102. codex/static_root/assets/admin-menu-DyaS3ZkH.js.br +0 -0
  103. codex/static_root/assets/admin-menu-DyaS3ZkH.js.gz +0 -0
  104. codex/static_root/assets/{admin-settings-button-progress-Clv9yQ7G.2536580dece1.js → admin-settings-button-progress-BKp0yruZ.550d96596ce5.js} +1 -1
  105. codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.550d96596ce5.js.br +0 -0
  106. codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.550d96596ce5.js.gz +0 -0
  107. codex/static_root/assets/{admin-settings-button-progress-Clv9yQ7G.js → admin-settings-button-progress-BKp0yruZ.js} +1 -1
  108. codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.js.br +0 -0
  109. codex/static_root/assets/admin-settings-button-progress-BKp0yruZ.js.gz +0 -0
  110. codex/static_root/assets/{browser-DiAN9Ipo.js → browser-BcXpHHP5.ef6076284520.js} +1 -1
  111. codex/static_root/assets/browser-BcXpHHP5.ef6076284520.js.br +0 -0
  112. codex/static_root/assets/browser-BcXpHHP5.ef6076284520.js.gz +0 -0
  113. codex/static_root/assets/{browser-DiAN9Ipo.a5b62a3cbe1d.js → browser-BcXpHHP5.js} +1 -1
  114. codex/static_root/assets/browser-BcXpHHP5.js.br +0 -0
  115. codex/static_root/assets/browser-BcXpHHP5.js.gz +0 -0
  116. codex/static_root/assets/{change-password-dialog-BZPmAOML.73fdc23e13a4.js → change-password-dialog-DB0tGBYA.8712454eb2b5.js} +1 -1
  117. codex/static_root/assets/change-password-dialog-DB0tGBYA.8712454eb2b5.js.br +0 -0
  118. codex/static_root/assets/change-password-dialog-DB0tGBYA.8712454eb2b5.js.gz +0 -0
  119. codex/static_root/assets/{change-password-dialog-BZPmAOML.js → change-password-dialog-DB0tGBYA.js} +1 -1
  120. codex/static_root/assets/change-password-dialog-DB0tGBYA.js.br +0 -0
  121. codex/static_root/assets/change-password-dialog-DB0tGBYA.js.gz +0 -0
  122. codex/static_root/assets/{confirm-dialog-CBLQOik_.f53acd0c622a.js → confirm-dialog-CUfR1UVh.d59ed57fbf3c.js} +1 -1
  123. codex/static_root/assets/confirm-dialog-CUfR1UVh.d59ed57fbf3c.js.br +0 -0
  124. codex/static_root/assets/confirm-dialog-CUfR1UVh.d59ed57fbf3c.js.gz +0 -0
  125. codex/static_root/assets/{confirm-dialog-CBLQOik_.js → confirm-dialog-CUfR1UVh.js} +1 -1
  126. codex/static_root/assets/confirm-dialog-CUfR1UVh.js.br +0 -0
  127. codex/static_root/assets/confirm-dialog-CUfR1UVh.js.gz +0 -0
  128. codex/static_root/assets/{datetime-column-CU19rCbi.9edc0d2da736.js → datetime-column-DWwCltHX.be3a30e165e2.js} +1 -1
  129. codex/static_root/assets/datetime-column-DWwCltHX.be3a30e165e2.js.br +2 -0
  130. codex/static_root/assets/datetime-column-DWwCltHX.be3a30e165e2.js.gz +0 -0
  131. codex/static_root/assets/{datetime-column-CU19rCbi.js → datetime-column-DWwCltHX.js} +1 -1
  132. codex/static_root/assets/datetime-column-DWwCltHX.js.br +2 -0
  133. codex/static_root/assets/datetime-column-DWwCltHX.js.gz +0 -0
  134. codex/static_root/assets/{filter-CZ7kkBLq.171b4fcba146.js → filter-DUzmOcWQ.62e2578018fc.js} +1 -1
  135. codex/static_root/assets/filter-DUzmOcWQ.62e2578018fc.js.br +0 -0
  136. codex/static_root/assets/filter-DUzmOcWQ.62e2578018fc.js.gz +0 -0
  137. codex/static_root/assets/{filter-CZ7kkBLq.js → filter-DUzmOcWQ.js} +1 -1
  138. codex/static_root/assets/filter-DUzmOcWQ.js.br +0 -0
  139. codex/static_root/assets/filter-DUzmOcWQ.js.gz +0 -0
  140. codex/static_root/assets/{flag-tab-kcBN36xe.631c48ab75fd.js → flag-tab-DI0mJlXh.35d270069e4f.js} +1 -1
  141. codex/static_root/assets/flag-tab-DI0mJlXh.35d270069e4f.js.br +0 -0
  142. codex/static_root/assets/flag-tab-DI0mJlXh.35d270069e4f.js.gz +0 -0
  143. codex/static_root/assets/{flag-tab-kcBN36xe.js → flag-tab-DI0mJlXh.js} +1 -1
  144. codex/static_root/assets/flag-tab-DI0mJlXh.js.br +0 -0
  145. codex/static_root/assets/flag-tab-DI0mJlXh.js.gz +0 -0
  146. codex/static_root/assets/{forwardRefs-DNAemYUk.06a315272ed9.js → forwardRefs-hLICxMEm.fd43ec456950.js} +1 -1
  147. codex/static_root/assets/forwardRefs-hLICxMEm.fd43ec456950.js.br +0 -0
  148. codex/static_root/assets/forwardRefs-hLICxMEm.fd43ec456950.js.gz +0 -0
  149. codex/static_root/assets/{forwardRefs-DNAemYUk.js → forwardRefs-hLICxMEm.js} +1 -1
  150. codex/static_root/assets/forwardRefs-hLICxMEm.js.br +0 -0
  151. codex/static_root/assets/forwardRefs-hLICxMEm.js.gz +0 -0
  152. codex/static_root/assets/{group-tab-D9gwAdJc.60fb0ffa734c.js → group-tab-Ch6sd19Y.15f92ebc959d.js} +1 -1
  153. codex/static_root/assets/group-tab-Ch6sd19Y.15f92ebc959d.js.br +0 -0
  154. codex/static_root/assets/group-tab-Ch6sd19Y.15f92ebc959d.js.gz +0 -0
  155. codex/static_root/assets/{group-tab-D9gwAdJc.js → group-tab-Ch6sd19Y.js} +1 -1
  156. codex/static_root/assets/group-tab-Ch6sd19Y.js.br +0 -0
  157. codex/static_root/assets/group-tab-Ch6sd19Y.js.gz +0 -0
  158. codex/static_root/assets/{http-error-DmFqD2Xz.593d626b5f1b.js → http-error-BQoj78jv.fc5280352b17.js} +1 -1
  159. codex/static_root/assets/http-error-BQoj78jv.fc5280352b17.js.br +0 -0
  160. codex/static_root/assets/http-error-BQoj78jv.fc5280352b17.js.gz +0 -0
  161. codex/static_root/assets/{http-error-DmFqD2Xz.js → http-error-BQoj78jv.js} +1 -1
  162. codex/static_root/assets/http-error-BQoj78jv.js.br +0 -0
  163. codex/static_root/assets/http-error-BQoj78jv.js.gz +0 -0
  164. codex/static_root/assets/{index-hvGLIBbY.30ce8cca0c6d.js → index-DtVx0ej4.9ca3e3d32eb8.js} +1 -1
  165. codex/static_root/assets/index-DtVx0ej4.9ca3e3d32eb8.js.br +0 -0
  166. codex/static_root/assets/index-DtVx0ej4.9ca3e3d32eb8.js.gz +0 -0
  167. codex/static_root/assets/{index-hvGLIBbY.js → index-DtVx0ej4.js} +1 -1
  168. codex/static_root/assets/index-DtVx0ej4.js.br +0 -0
  169. codex/static_root/assets/index-DtVx0ej4.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-CF-RAEgP.a0ad816fb994.js → library-tab-DEvrF6PF.c7a68c22664c.js} +1 -1
  171. codex/static_root/assets/library-tab-DEvrF6PF.c7a68c22664c.js.br +0 -0
  172. codex/static_root/assets/library-tab-DEvrF6PF.c7a68c22664c.js.gz +0 -0
  173. codex/static_root/assets/{library-tab-CF-RAEgP.js → library-tab-DEvrF6PF.js} +1 -1
  174. codex/static_root/assets/library-tab-DEvrF6PF.js.br +0 -0
  175. codex/static_root/assets/library-tab-DEvrF6PF.js.gz +0 -0
  176. codex/static_root/assets/{main-Dv8e0bMI.bd74f1ba1627.js → main-DTplblFl.b8e4b708287f.js} +10 -10
  177. codex/static_root/assets/main-DTplblFl.b8e4b708287f.js.br +0 -0
  178. codex/static_root/assets/main-DTplblFl.b8e4b708287f.js.gz +0 -0
  179. codex/static_root/assets/{main-Dv8e0bMI.js → main-DTplblFl.js} +10 -10
  180. codex/static_root/assets/main-DTplblFl.js.br +0 -0
  181. codex/static_root/assets/main-DTplblFl.js.gz +0 -0
  182. codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js +1 -0
  183. codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js.br +0 -0
  184. codex/static_root/assets/pager-full-pdf-JIU1UvrN.627b621aa583.js.gz +0 -0
  185. codex/static_root/assets/pager-full-pdf-JIU1UvrN.js +1 -0
  186. codex/static_root/assets/pager-full-pdf-JIU1UvrN.js.br +0 -0
  187. codex/static_root/assets/pager-full-pdf-JIU1UvrN.js.gz +0 -0
  188. codex/static_root/assets/{pagination-toolbar-D_whea1o.9bbd927058f1.js → pagination-toolbar-DHVJWGeE.c70de5ca6915.js} +1 -1
  189. codex/static_root/assets/pagination-toolbar-DHVJWGeE.c70de5ca6915.js.br +0 -0
  190. codex/static_root/assets/pagination-toolbar-DHVJWGeE.c70de5ca6915.js.gz +0 -0
  191. codex/static_root/assets/{pagination-toolbar-D_whea1o.js → pagination-toolbar-DHVJWGeE.js} +1 -1
  192. codex/static_root/assets/pagination-toolbar-DHVJWGeE.js.br +0 -0
  193. codex/static_root/assets/pagination-toolbar-DHVJWGeE.js.gz +0 -0
  194. codex/static_root/assets/{pdf-doc-dnr5fHbU.fa1d7ed9255b.js → pdf-doc-DjtoQWxA.2c9fd3017300.js} +1 -1
  195. codex/static_root/assets/pdf-doc-DjtoQWxA.2c9fd3017300.js.br +0 -0
  196. codex/static_root/assets/pdf-doc-DjtoQWxA.2c9fd3017300.js.gz +0 -0
  197. codex/static_root/assets/{pdf-doc-dnr5fHbU.js → pdf-doc-DjtoQWxA.js} +1 -1
  198. codex/static_root/assets/pdf-doc-DjtoQWxA.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-DjtoQWxA.js.gz +0 -0
  200. codex/static_root/assets/{reader-Cn-ra_Dv.f38c0b419dec.js → reader-DIjUh67D.061a8b501e35.js} +2 -2
  201. codex/static_root/assets/reader-DIjUh67D.061a8b501e35.js.br +0 -0
  202. codex/static_root/assets/reader-DIjUh67D.061a8b501e35.js.gz +0 -0
  203. codex/static_root/assets/{reader-Cn-ra_Dv.js → reader-DIjUh67D.js} +2 -2
  204. codex/static_root/assets/reader-DIjUh67D.js.br +0 -0
  205. codex/static_root/assets/reader-DIjUh67D.js.gz +0 -0
  206. codex/static_root/assets/{relation-chips-fOPxWAMU.js → relation-chips-ByFsclaN.2b9dc61299f6.js} +1 -1
  207. codex/static_root/assets/relation-chips-ByFsclaN.2b9dc61299f6.js.br +0 -0
  208. codex/static_root/assets/relation-chips-ByFsclaN.2b9dc61299f6.js.gz +0 -0
  209. codex/static_root/assets/{relation-chips-fOPxWAMU.78e5fe70c014.js → relation-chips-ByFsclaN.js} +1 -1
  210. codex/static_root/assets/relation-chips-ByFsclaN.js.br +0 -0
  211. codex/static_root/assets/relation-chips-ByFsclaN.js.gz +0 -0
  212. codex/static_root/assets/{settings-drawer-1UEq8JY1.d95cee9aefb5.js → settings-drawer-DWa5PBWW.dee5ebeb24fe.js} +2 -2
  213. codex/static_root/assets/settings-drawer-DWa5PBWW.dee5ebeb24fe.js.br +0 -0
  214. codex/static_root/assets/settings-drawer-DWa5PBWW.dee5ebeb24fe.js.gz +0 -0
  215. codex/static_root/assets/{settings-drawer-1UEq8JY1.js → settings-drawer-DWa5PBWW.js} +2 -2
  216. codex/static_root/assets/settings-drawer-DWa5PBWW.js.br +0 -0
  217. codex/static_root/assets/settings-drawer-DWa5PBWW.js.gz +0 -0
  218. codex/static_root/assets/{stats-tab-0ptRCeKw.5514d3508e37.js → stats-tab-B_i6PH1G.f11e0562b20d.js} +1 -1
  219. codex/static_root/assets/stats-tab-B_i6PH1G.f11e0562b20d.js.br +0 -0
  220. codex/static_root/assets/stats-tab-B_i6PH1G.f11e0562b20d.js.gz +0 -0
  221. codex/static_root/assets/{stats-tab-0ptRCeKw.js → stats-tab-B_i6PH1G.js} +1 -1
  222. codex/static_root/assets/stats-tab-B_i6PH1G.js.br +0 -0
  223. codex/static_root/assets/stats-tab-B_i6PH1G.js.gz +0 -0
  224. codex/static_root/assets/{task-tab-CG9_bi6Z.ad9f647f8e5f.js → task-tab-DOEbnSf2.fe4907da1530.js} +1 -1
  225. codex/static_root/assets/task-tab-DOEbnSf2.fe4907da1530.js.br +0 -0
  226. codex/static_root/assets/task-tab-DOEbnSf2.fe4907da1530.js.gz +0 -0
  227. codex/static_root/assets/{task-tab-CG9_bi6Z.js → task-tab-DOEbnSf2.js} +1 -1
  228. codex/static_root/assets/task-tab-DOEbnSf2.js.br +0 -0
  229. codex/static_root/assets/task-tab-DOEbnSf2.js.gz +0 -0
  230. codex/static_root/assets/{unauthorized-vG1Lh0m_.0c4bae81ee09.js → unauthorized-Cblht_KD.e0c38cb1a24c.js} +1 -1
  231. codex/static_root/assets/unauthorized-Cblht_KD.e0c38cb1a24c.js.br +0 -0
  232. codex/static_root/assets/unauthorized-Cblht_KD.e0c38cb1a24c.js.gz +0 -0
  233. codex/static_root/assets/{unauthorized-vG1Lh0m_.js → unauthorized-Cblht_KD.js} +1 -1
  234. codex/static_root/assets/unauthorized-Cblht_KD.js.br +0 -0
  235. codex/static_root/assets/unauthorized-Cblht_KD.js.gz +0 -0
  236. codex/static_root/assets/{user-tab-BOxWlpY7.1a94280a799b.js → user-tab-CdvLJrTe.e52c18781b89.js} +1 -1
  237. codex/static_root/assets/user-tab-CdvLJrTe.e52c18781b89.js.br +0 -0
  238. codex/static_root/assets/user-tab-CdvLJrTe.e52c18781b89.js.gz +0 -0
  239. codex/static_root/assets/{user-tab-BOxWlpY7.js → user-tab-CdvLJrTe.js} +1 -1
  240. codex/static_root/assets/user-tab-CdvLJrTe.js.br +0 -0
  241. codex/static_root/assets/user-tab-CdvLJrTe.js.gz +0 -0
  242. codex/static_root/{manifest.9b3479a6a4a6.json → manifest.e3e070ebb908.json} +252 -252
  243. codex/static_root/manifest.e3e070ebb908.json.br +0 -0
  244. codex/static_root/manifest.e3e070ebb908.json.gz +0 -0
  245. codex/static_root/manifest.json +252 -252
  246. codex/static_root/manifest.json.br +0 -0
  247. codex/static_root/manifest.json.gz +0 -0
  248. codex/static_root/staticfiles.json +1 -1
  249. codex/threads.py +0 -5
  250. codex/urls/api/admin.py +3 -3
  251. codex/views/admin/tasks.py +0 -2
  252. {codex-1.7.3a0.dist-info → codex-1.7.3a1.dist-info}/METADATA +1 -2
  253. {codex-1.7.3a0.dist-info → codex-1.7.3a1.dist-info}/RECORD +256 -257
  254. codex/librarian/janitor/log_compress.py +0 -77
  255. codex/static_root/assets/VCheckbox-pHjSEgdV.176f3c1f4191.js.br +0 -0
  256. codex/static_root/assets/VCheckbox-pHjSEgdV.176f3c1f4191.js.gz +0 -0
  257. codex/static_root/assets/VCheckbox-pHjSEgdV.js.br +0 -0
  258. codex/static_root/assets/VCheckbox-pHjSEgdV.js.gz +0 -0
  259. codex/static_root/assets/VCheckboxBtn-DBKqrZGq.467e75859b62.js.br +0 -0
  260. codex/static_root/assets/VCheckboxBtn-DBKqrZGq.467e75859b62.js.gz +0 -0
  261. codex/static_root/assets/VCheckboxBtn-DBKqrZGq.js.br +0 -0
  262. codex/static_root/assets/VCheckboxBtn-DBKqrZGq.js.gz +0 -0
  263. codex/static_root/assets/VCombobox-Bg7uOTbF.2fc6073b789f.js.br +0 -0
  264. codex/static_root/assets/VCombobox-Bg7uOTbF.2fc6073b789f.js.gz +0 -0
  265. codex/static_root/assets/VCombobox-Bg7uOTbF.js.br +0 -0
  266. codex/static_root/assets/VCombobox-Bg7uOTbF.js.gz +0 -0
  267. codex/static_root/assets/VDialog-IrbBYFLM.91a058d572c4.js.br +0 -0
  268. codex/static_root/assets/VDialog-IrbBYFLM.91a058d572c4.js.gz +0 -0
  269. codex/static_root/assets/VDialog-IrbBYFLM.js.br +0 -0
  270. codex/static_root/assets/VDialog-IrbBYFLM.js.gz +0 -0
  271. codex/static_root/assets/VDivider-CuRohbVQ.3c12b040aed7.js.br +0 -0
  272. codex/static_root/assets/VDivider-CuRohbVQ.3c12b040aed7.js.gz +0 -0
  273. codex/static_root/assets/VDivider-CuRohbVQ.js.br +0 -0
  274. codex/static_root/assets/VDivider-CuRohbVQ.js.gz +0 -0
  275. codex/static_root/assets/VExpansionPanels-b0xWLH75.bff6ea8b4055.js.br +0 -0
  276. codex/static_root/assets/VExpansionPanels-b0xWLH75.bff6ea8b4055.js.gz +0 -0
  277. codex/static_root/assets/VExpansionPanels-b0xWLH75.js.br +0 -0
  278. codex/static_root/assets/VExpansionPanels-b0xWLH75.js.gz +0 -0
  279. codex/static_root/assets/VForm-B4hkqnS8.afbd5cf0908a.js.br +0 -0
  280. codex/static_root/assets/VForm-B4hkqnS8.afbd5cf0908a.js.gz +0 -0
  281. codex/static_root/assets/VForm-B4hkqnS8.js.br +0 -0
  282. codex/static_root/assets/VForm-B4hkqnS8.js.gz +0 -0
  283. codex/static_root/assets/VRadioGroup-Cbayik6d.034f0f275265.js.br +0 -0
  284. codex/static_root/assets/VRadioGroup-Cbayik6d.034f0f275265.js.gz +0 -0
  285. codex/static_root/assets/VRadioGroup-Cbayik6d.js.br +0 -0
  286. codex/static_root/assets/VRadioGroup-Cbayik6d.js.gz +0 -0
  287. codex/static_root/assets/VSelect-BsuB-2P1.abe187c8b53f.js.br +0 -0
  288. codex/static_root/assets/VSelect-BsuB-2P1.abe187c8b53f.js.gz +0 -0
  289. codex/static_root/assets/VSelect-BsuB-2P1.js.br +0 -0
  290. codex/static_root/assets/VSelect-BsuB-2P1.js.gz +0 -0
  291. codex/static_root/assets/VSelectionControl-L41n5bnX.f4674bb62425.js.br +0 -0
  292. codex/static_root/assets/VSelectionControl-L41n5bnX.f4674bb62425.js.gz +0 -0
  293. codex/static_root/assets/VSelectionControl-L41n5bnX.js.br +0 -0
  294. codex/static_root/assets/VSelectionControl-L41n5bnX.js.gz +0 -0
  295. codex/static_root/assets/VTable-CYv4gUUt.76e4658abeb3.js.br +0 -0
  296. codex/static_root/assets/VTable-CYv4gUUt.76e4658abeb3.js.gz +0 -0
  297. codex/static_root/assets/VTable-CYv4gUUt.js.br +0 -0
  298. codex/static_root/assets/VTable-CYv4gUUt.js.gz +0 -0
  299. codex/static_root/assets/VWindowItem-f8UkxXa_.1d3e9e78fc9b.js.br +0 -0
  300. codex/static_root/assets/VWindowItem-f8UkxXa_.1d3e9e78fc9b.js.gz +0 -0
  301. codex/static_root/assets/VWindowItem-f8UkxXa_.js.br +0 -0
  302. codex/static_root/assets/VWindowItem-f8UkxXa_.js.gz +0 -0
  303. codex/static_root/assets/admin-BmuWJcAB.b0b253aefd88.js.br +0 -0
  304. codex/static_root/assets/admin-BmuWJcAB.b0b253aefd88.js.gz +0 -0
  305. codex/static_root/assets/admin-BmuWJcAB.js.br +0 -0
  306. codex/static_root/assets/admin-BmuWJcAB.js.gz +0 -0
  307. codex/static_root/assets/admin-Izb24SXM.504ea9d9515c.js.br +0 -0
  308. codex/static_root/assets/admin-Izb24SXM.504ea9d9515c.js.gz +0 -0
  309. codex/static_root/assets/admin-Izb24SXM.js.br +0 -0
  310. codex/static_root/assets/admin-Izb24SXM.js.gz +0 -0
  311. codex/static_root/assets/admin-dm3bSP7O.ae1234cc0beb.css +0 -1
  312. codex/static_root/assets/admin-dm3bSP7O.ae1234cc0beb.css.br +0 -0
  313. codex/static_root/assets/admin-dm3bSP7O.ae1234cc0beb.css.gz +0 -0
  314. codex/static_root/assets/admin-dm3bSP7O.css +0 -1
  315. codex/static_root/assets/admin-dm3bSP7O.css.br +0 -0
  316. codex/static_root/assets/admin-dm3bSP7O.css.gz +0 -0
  317. codex/static_root/assets/admin-menu-C712OV-9.ecd1f2af4cf4.js +0 -1
  318. codex/static_root/assets/admin-menu-C712OV-9.ecd1f2af4cf4.js.br +0 -0
  319. codex/static_root/assets/admin-menu-C712OV-9.ecd1f2af4cf4.js.gz +0 -0
  320. codex/static_root/assets/admin-menu-C712OV-9.js +0 -1
  321. codex/static_root/assets/admin-menu-C712OV-9.js.br +0 -0
  322. codex/static_root/assets/admin-menu-C712OV-9.js.gz +0 -0
  323. codex/static_root/assets/admin-settings-button-progress-Clv9yQ7G.2536580dece1.js.br +0 -0
  324. codex/static_root/assets/admin-settings-button-progress-Clv9yQ7G.2536580dece1.js.gz +0 -0
  325. codex/static_root/assets/admin-settings-button-progress-Clv9yQ7G.js.br +0 -0
  326. codex/static_root/assets/admin-settings-button-progress-Clv9yQ7G.js.gz +0 -0
  327. codex/static_root/assets/browser-DiAN9Ipo.a5b62a3cbe1d.js.br +0 -0
  328. codex/static_root/assets/browser-DiAN9Ipo.a5b62a3cbe1d.js.gz +0 -0
  329. codex/static_root/assets/browser-DiAN9Ipo.js.br +0 -0
  330. codex/static_root/assets/browser-DiAN9Ipo.js.gz +0 -0
  331. codex/static_root/assets/change-password-dialog-BZPmAOML.73fdc23e13a4.js.br +0 -0
  332. codex/static_root/assets/change-password-dialog-BZPmAOML.73fdc23e13a4.js.gz +0 -0
  333. codex/static_root/assets/change-password-dialog-BZPmAOML.js.br +0 -0
  334. codex/static_root/assets/change-password-dialog-BZPmAOML.js.gz +0 -0
  335. codex/static_root/assets/confirm-dialog-CBLQOik_.f53acd0c622a.js.br +0 -0
  336. codex/static_root/assets/confirm-dialog-CBLQOik_.f53acd0c622a.js.gz +0 -0
  337. codex/static_root/assets/confirm-dialog-CBLQOik_.js.br +0 -0
  338. codex/static_root/assets/confirm-dialog-CBLQOik_.js.gz +0 -0
  339. codex/static_root/assets/datetime-column-CU19rCbi.9edc0d2da736.js.br +0 -1
  340. codex/static_root/assets/datetime-column-CU19rCbi.9edc0d2da736.js.gz +0 -0
  341. codex/static_root/assets/datetime-column-CU19rCbi.js.br +0 -1
  342. codex/static_root/assets/datetime-column-CU19rCbi.js.gz +0 -0
  343. codex/static_root/assets/filter-CZ7kkBLq.171b4fcba146.js.br +0 -0
  344. codex/static_root/assets/filter-CZ7kkBLq.171b4fcba146.js.gz +0 -0
  345. codex/static_root/assets/filter-CZ7kkBLq.js.br +0 -0
  346. codex/static_root/assets/filter-CZ7kkBLq.js.gz +0 -0
  347. codex/static_root/assets/flag-tab-kcBN36xe.631c48ab75fd.js.br +0 -0
  348. codex/static_root/assets/flag-tab-kcBN36xe.631c48ab75fd.js.gz +0 -0
  349. codex/static_root/assets/flag-tab-kcBN36xe.js.br +0 -0
  350. codex/static_root/assets/flag-tab-kcBN36xe.js.gz +0 -0
  351. codex/static_root/assets/forwardRefs-DNAemYUk.06a315272ed9.js.br +0 -0
  352. codex/static_root/assets/forwardRefs-DNAemYUk.06a315272ed9.js.gz +0 -0
  353. codex/static_root/assets/forwardRefs-DNAemYUk.js.br +0 -0
  354. codex/static_root/assets/forwardRefs-DNAemYUk.js.gz +0 -0
  355. codex/static_root/assets/group-tab-D9gwAdJc.60fb0ffa734c.js.br +0 -0
  356. codex/static_root/assets/group-tab-D9gwAdJc.60fb0ffa734c.js.gz +0 -0
  357. codex/static_root/assets/group-tab-D9gwAdJc.js.br +0 -0
  358. codex/static_root/assets/group-tab-D9gwAdJc.js.gz +0 -0
  359. codex/static_root/assets/http-error-DmFqD2Xz.593d626b5f1b.js.br +0 -0
  360. codex/static_root/assets/http-error-DmFqD2Xz.593d626b5f1b.js.gz +0 -0
  361. codex/static_root/assets/http-error-DmFqD2Xz.js.br +0 -0
  362. codex/static_root/assets/http-error-DmFqD2Xz.js.gz +0 -0
  363. codex/static_root/assets/index-hvGLIBbY.30ce8cca0c6d.js.br +0 -0
  364. codex/static_root/assets/index-hvGLIBbY.30ce8cca0c6d.js.gz +0 -0
  365. codex/static_root/assets/index-hvGLIBbY.js.br +0 -0
  366. codex/static_root/assets/index-hvGLIBbY.js.gz +0 -0
  367. codex/static_root/assets/library-tab-CF-RAEgP.a0ad816fb994.js.br +0 -0
  368. codex/static_root/assets/library-tab-CF-RAEgP.a0ad816fb994.js.gz +0 -0
  369. codex/static_root/assets/library-tab-CF-RAEgP.js.br +0 -0
  370. codex/static_root/assets/library-tab-CF-RAEgP.js.gz +0 -0
  371. codex/static_root/assets/main-Dv8e0bMI.bd74f1ba1627.js.br +0 -0
  372. codex/static_root/assets/main-Dv8e0bMI.bd74f1ba1627.js.gz +0 -0
  373. codex/static_root/assets/main-Dv8e0bMI.js.br +0 -0
  374. codex/static_root/assets/main-Dv8e0bMI.js.gz +0 -0
  375. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.04a4f5c451b4.js +0 -1
  376. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.04a4f5c451b4.js.br +0 -0
  377. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.04a4f5c451b4.js.gz +0 -0
  378. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.js +0 -1
  379. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.js.br +0 -0
  380. codex/static_root/assets/pager-full-pdf-BXd9Y5oQ.js.gz +0 -0
  381. codex/static_root/assets/pagination-toolbar-D_whea1o.9bbd927058f1.js.br +0 -0
  382. codex/static_root/assets/pagination-toolbar-D_whea1o.9bbd927058f1.js.gz +0 -0
  383. codex/static_root/assets/pagination-toolbar-D_whea1o.js.br +0 -0
  384. codex/static_root/assets/pagination-toolbar-D_whea1o.js.gz +0 -0
  385. codex/static_root/assets/pdf-doc-dnr5fHbU.fa1d7ed9255b.js.br +0 -0
  386. codex/static_root/assets/pdf-doc-dnr5fHbU.fa1d7ed9255b.js.gz +0 -0
  387. codex/static_root/assets/pdf-doc-dnr5fHbU.js.br +0 -0
  388. codex/static_root/assets/pdf-doc-dnr5fHbU.js.gz +0 -0
  389. codex/static_root/assets/reader-Cn-ra_Dv.f38c0b419dec.js.br +0 -0
  390. codex/static_root/assets/reader-Cn-ra_Dv.f38c0b419dec.js.gz +0 -0
  391. codex/static_root/assets/reader-Cn-ra_Dv.js.br +0 -0
  392. codex/static_root/assets/reader-Cn-ra_Dv.js.gz +0 -0
  393. codex/static_root/assets/relation-chips-fOPxWAMU.78e5fe70c014.js.br +0 -0
  394. codex/static_root/assets/relation-chips-fOPxWAMU.78e5fe70c014.js.gz +0 -0
  395. codex/static_root/assets/relation-chips-fOPxWAMU.js.br +0 -0
  396. codex/static_root/assets/relation-chips-fOPxWAMU.js.gz +0 -0
  397. codex/static_root/assets/settings-drawer-1UEq8JY1.d95cee9aefb5.js.br +0 -0
  398. codex/static_root/assets/settings-drawer-1UEq8JY1.d95cee9aefb5.js.gz +0 -0
  399. codex/static_root/assets/settings-drawer-1UEq8JY1.js.br +0 -0
  400. codex/static_root/assets/settings-drawer-1UEq8JY1.js.gz +0 -0
  401. codex/static_root/assets/stats-tab-0ptRCeKw.5514d3508e37.js.br +0 -0
  402. codex/static_root/assets/stats-tab-0ptRCeKw.5514d3508e37.js.gz +0 -0
  403. codex/static_root/assets/stats-tab-0ptRCeKw.js.br +0 -0
  404. codex/static_root/assets/stats-tab-0ptRCeKw.js.gz +0 -0
  405. codex/static_root/assets/task-tab-CG9_bi6Z.ad9f647f8e5f.js.br +0 -0
  406. codex/static_root/assets/task-tab-CG9_bi6Z.ad9f647f8e5f.js.gz +0 -0
  407. codex/static_root/assets/task-tab-CG9_bi6Z.js.br +0 -0
  408. codex/static_root/assets/task-tab-CG9_bi6Z.js.gz +0 -0
  409. codex/static_root/assets/unauthorized-vG1Lh0m_.0c4bae81ee09.js.br +0 -0
  410. codex/static_root/assets/unauthorized-vG1Lh0m_.0c4bae81ee09.js.gz +0 -0
  411. codex/static_root/assets/unauthorized-vG1Lh0m_.js.br +0 -0
  412. codex/static_root/assets/unauthorized-vG1Lh0m_.js.gz +0 -0
  413. codex/static_root/assets/user-tab-BOxWlpY7.1a94280a799b.js.br +0 -0
  414. codex/static_root/assets/user-tab-BOxWlpY7.1a94280a799b.js.gz +0 -0
  415. codex/static_root/assets/user-tab-BOxWlpY7.js.br +0 -0
  416. codex/static_root/assets/user-tab-BOxWlpY7.js.gz +0 -0
  417. codex/static_root/manifest.9b3479a6a4a6.json.br +0 -0
  418. codex/static_root/manifest.9b3479a6a4a6.json.gz +0 -0
  419. {codex-1.7.3a0.dist-info → codex-1.7.3a1.dist-info}/LICENSE +0 -0
  420. {codex-1.7.3a0.dist-info → codex-1.7.3a1.dist-info}/WHEEL +0 -0
  421. {codex-1.7.3a0.dist-info → codex-1.7.3a1.dist-info}/entry_points.txt +0 -0
@@ -1,77 +0,0 @@
1
- """Rotate logs."""
2
-
3
- from dataclasses import dataclass
4
- from lzma import LZMAFile
5
- from pathlib import Path
6
-
7
- from humanize import naturalsize
8
-
9
- from codex.librarian.janitor.status import JanitorStatusTypes
10
- from codex.settings.settings import LOG_DIR
11
- from codex.status import Status
12
- from codex.worker_base import WorkerBaseMixin
13
-
14
- _LOG_GLOB = "codex.log.*"
15
-
16
-
17
- @dataclass
18
- class LogStats:
19
- """Collect stats for compressed logs."""
20
-
21
- count = 0
22
- old_size = 0
23
- new_size = 0
24
-
25
-
26
- class LogCompressMixin(WorkerBaseMixin):
27
- """Rotate logs with janitor."""
28
-
29
- @staticmethod
30
- def _get_old_log_paths():
31
- """Get old log paths to compress and sort them by reverse age."""
32
- old_log_paths = {}
33
- for path_str in LOG_DIR.glob(_LOG_GLOB):
34
- old_path = Path(path_str)
35
- try:
36
- log_number = int(old_path.suffix[1:])
37
- if log_number == 1:
38
- continue
39
- except ValueError:
40
- continue
41
- old_log_paths[log_number] = old_path
42
- return dict(sorted(old_log_paths.items(), reverse=True)).values()
43
-
44
- @staticmethod
45
- def _rotate_log(old_path, stats):
46
- """Rotate one log file."""
47
- new_path = Path(str(old_path) + ".xz")
48
- if new_path.exists():
49
- return
50
- with (
51
- LZMAFile(new_path, mode="w", preset=9) as log_archive,
52
- old_path.open("r") as log_file,
53
- ):
54
- data = log_file.read()
55
- log_archive.write(data.encode())
56
- stats.count += 1
57
- stats.old_size += old_path.stat().st_size
58
- stats.new_size += new_path.stat().st_size
59
- if new_path.exists():
60
- old_path.unlink(missing_ok=True)
61
-
62
- def log_compress(self):
63
- """Compress old log files and report on savings."""
64
- status = Status(JanitorStatusTypes.COMPRESS_LOGS)
65
- try:
66
- self.status_controller.start(status)
67
- old_log_paths = self._get_old_log_paths()
68
- stats = LogStats()
69
- for old_path in old_log_paths:
70
- self._rotate_log(old_path, stats)
71
- if stats.count:
72
- saved = naturalsize(stats.old_size - stats.new_size)
73
- self.log.info(f"Compressed logs. Saved {saved}.")
74
- else:
75
- self.log.debug("No logs compressed.")
76
- finally:
77
- self.status_controller.finish(status)
@@ -1 +0,0 @@
1
- #adminHeader[data-v-88c542d5]{position:fixed;top:0;padding-top:env(safe-area-inset-top);z-index:10;display:block;width:100%}.drawerMargin[data-v-88c542d5]{width:calc(100% - 256px)!important}.invisible[data-v-88c542d5]{visibility:hidden}#buttonSpacer[data-v-88c542d5]{width:48px}#titleBar[data-v-88c542d5]{padding-left:env(safe-area-inset-left);padding-right:0}.adminSettingsButton[data-v-88c542d5]{margin:0!important}.adminTabs[data-v-88c542d5]{margin-top:46px;display:block!important;background-color:rgb(var(--v-theme-surface))}[data-v-88c542d5] .tabHeader{padding:10px}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}.tabItems[data-v-a3adef35]{margin-top:116px}.tabItemsBanner[data-v-a3adef35]{margin-top:136px}.tabItemContainer[data-v-a3adef35]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-a3adef35]{text-align:center;padding:1em}[data-v-a3adef35] .tabHeader{margin-bottom:20px}
@@ -1 +0,0 @@
1
- #adminHeader[data-v-88c542d5]{position:fixed;top:0;padding-top:env(safe-area-inset-top);z-index:10;display:block;width:100%}.drawerMargin[data-v-88c542d5]{width:calc(100% - 256px)!important}.invisible[data-v-88c542d5]{visibility:hidden}#buttonSpacer[data-v-88c542d5]{width:48px}#titleBar[data-v-88c542d5]{padding-left:env(safe-area-inset-left);padding-right:0}.adminSettingsButton[data-v-88c542d5]{margin:0!important}.adminTabs[data-v-88c542d5]{margin-top:46px;display:block!important;background-color:rgb(var(--v-theme-surface))}[data-v-88c542d5] .tabHeader{padding:10px}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}.tabItems[data-v-a3adef35]{margin-top:116px}.tabItemsBanner[data-v-a3adef35]{margin-top:136px}.tabItemContainer[data-v-a3adef35]{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}#noLibraries[data-v-a3adef35]{text-align:center;padding:1em}[data-v-a3adef35] .tabHeader{margin-bottom:20px}
@@ -1 +0,0 @@
1
- import{a1 as F,E as v,A as _,ag as L,_ as b,k as S,l as o,n as a,v as m,H as i,a as r,w as d,q as p,F as h,y as J,s as k,z as C,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-Dv8e0bMI.js";import{C as R}from"./change-password-dialog-BZPmAOML.js";import{useAdminStore as I}from"./admin-Izb24SXM.js";import{d as D}from"./VSelectionControl-L41n5bnX.js";import{a as f}from"./VDivider-CuRohbVQ.js";import{n as U}from"./forwardRefs-DNAemYUk.js";import{v as w,a as P,C as V}from"./VDialog-IrbBYFLM.js";import{T as N}from"./index-hvGLIBbY.js";import"./VForm-B4hkqnS8.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",Ce="Cleanup Orphan Bookmarks",me="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Compress Logs",Le="Search Index Create",Je="Search Index Remove Stale Records",ge="Search Index Optimize",Be="Search Index Update",Me="Search Index Clear",ye="Poll Library",Ae={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:Ce,JCD:me,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,JCL:Fe,SIC:Le,SID:Je,SIO:ge,SIU:Be,SIX:Me,WPO:ye},Oe={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return Ae[e.statusType]},nf(e){return Number.isInteger(e)?L.format(e):"?"}}},xe={key:0},Re={nav:"",class:"statusItem"},Ue={class:"statusItemTitle"},we={key:0,class:"statusItemSubtitle"},Pe={key:1,class:"statusItemSubtitle"},Ve={key:0};function Ne(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),m(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",xe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,J(e.librarianStatuses,s=>(o(),m(D,{key:s.statusType},{default:d(()=>[p("div",Re,[p("div",Ue,[k(C(t.title(s))+" ",1),s.subtitle?(o(),a("div",we,C(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",Pe,[t.showComplete(s)?(o(),a("span",Ve,C(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+C(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),m(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ee=b(Oe,[["render",Ne],["__scopeId","data-v-0b2eebdc"]]),Qe={name:"AdminMenu",components:{AdminStatusList:Ee,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},ze={key:0};function Ge(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",ze,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),m(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const et=b(Qe,[["render",Ge]]);export{et as default};
@@ -1 +0,0 @@
1
- import{a1 as F,E as v,A as _,ag as L,_ as b,k as S,l as o,n as a,v as m,H as i,a as r,w as d,q as p,F as h,y as J,s as k,z as C,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-Dv8e0bMI.js";import{C as R}from"./change-password-dialog-BZPmAOML.js";import{useAdminStore as I}from"./admin-Izb24SXM.js";import{d as D}from"./VSelectionControl-L41n5bnX.js";import{a as f}from"./VDivider-CuRohbVQ.js";import{n as U}from"./forwardRefs-DNAemYUk.js";import{v as w,a as P,C as V}from"./VDialog-IrbBYFLM.js";import{T as N}from"./index-hvGLIBbY.js";import"./VForm-B4hkqnS8.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",Ce="Cleanup Orphan Bookmarks",me="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Compress Logs",Le="Search Index Create",Je="Search Index Remove Stale Records",ge="Search Index Optimize",Be="Search Index Update",Me="Search Index Clear",ye="Poll Library",Ae={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:Ce,JCD:me,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,JCL:Fe,SIC:Le,SID:Je,SIO:ge,SIU:Be,SIX:Me,WPO:ye},Oe={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return Ae[e.statusType]},nf(e){return Number.isInteger(e)?L.format(e):"?"}}},xe={key:0},Re={nav:"",class:"statusItem"},Ue={class:"statusItemTitle"},we={key:0,class:"statusItemSubtitle"},Pe={key:1,class:"statusItemSubtitle"},Ve={key:0};function Ne(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),m(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",xe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,J(e.librarianStatuses,s=>(o(),m(D,{key:s.statusType},{default:d(()=>[p("div",Re,[p("div",Ue,[k(C(t.title(s))+" ",1),s.subtitle?(o(),a("div",we,C(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",Pe,[t.showComplete(s)?(o(),a("span",Ve,C(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+C(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),m(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ee=b(Oe,[["render",Ne],["__scopeId","data-v-0b2eebdc"]]),Qe={name:"AdminMenu",components:{AdminStatusList:Ee,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},ze={key:0};function Ge(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",ze,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),m(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const et=b(Qe,[["render",Ge]]);export{et as default};
@@ -1 +0,0 @@
1
- �`����er�$]_��"nހ��PR��Υk��`C�Q�eQt��W��!Ct�x�b������g+>Z|�\�X����k.�u� -�8� �c��B� F�!�?���J����Ay$�-�9˹ִ�=�JFE�W!t�u�(t�T#tFL�e T��1�n�d�϶� }`@�ȥ�$2�Ѓ���h5v���X�[�}w u}�!;1@$ GpcJf>��h��8�=+9w�S4z _��74H\�q}5��֕�#4���!�T ��§�0�v�s��BK��y��rtx�$W� i��e�oqF���������d�@js^c��!������bč.Ʒ�s�$�Q“��p(��3=s?��3����xN��m�+al�{2v
@@ -1 +0,0 @@
1
- �`����er�$]_��"nހ��PR��Υk��`C�Q�eQt��W��!Ct�x�b������g+>Z|�\�X����k.�u� -�8� �c��B� F�!�?���J����Ay$�-�9˹ִ�=�JFE�W!t�u�(t�T#tFL�e T��1�n�d�϶� }`@�ȥ�$2�Ѓ���h5v���X�[�}w u}�!;1@$ GpcJf>��h��8�=+9w�S4z _��74H\�q}5��֕�#4���!�T ��§�0�v�s��BK��y��rtx�$W� i��e�oqF���������d�@js^c��!������bč.Ʒ�s�$�Q“��p(��3=s?��3����xN��m�+al�{2v
@@ -1 +0,0 @@
1
- import{_ as c,E as i,am as s,aG as l,k as e,l as u,n as _,a as o,w as d}from"./main-Dv8e0bMI.js";import{P as g,S as k}from"./reader-Cn-ra_Dv.js";import P from"./pdf-doc-dnr5fHbU.js";import"./forwardRefs-DNAemYUk.js";import"./settings-drawer-1UEq8JY1.js";import"./unauthorized-vG1Lh0m_.js";import"./VDialog-IrbBYFLM.js";import"./change-password-dialog-BZPmAOML.js";import"./VForm-B4hkqnS8.js";import"./VSelectionControl-L41n5bnX.js";import"./admin-Izb24SXM.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-CuRohbVQ.js";import"./VWindowItem-f8UkxXa_.js";import"./VSelect-BsuB-2P1.js";import"./VCheckboxBtn-DBKqrZGq.js";import"./pagination-toolbar-D_whea1o.js";import"./confirm-dialog-CBLQOik_.js";import"./VExpansionPanels-b0xWLH75.js";import"./VRadioGroup-Cbayik6d.js";import"./VCheckbox-pHjSEgdV.js";import"./index-hvGLIBbY.js";const f={name:"PagerFullPDF",components:{PageChangeLink:g,PDFDoc:P,ScaleForScroll:k},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...i(s,{page:r=>r.page||0}),src(){return l(this.book)}}};function F(r,S,a,D,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),m=e("ScaleForScroll");return u(),_("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(m,null,{default:d(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const J=c(f,[["render",F]]);export{J as default};
@@ -1 +0,0 @@
1
- import{_ as c,E as i,am as s,aG as l,k as e,l as u,n as _,a as o,w as d}from"./main-Dv8e0bMI.js";import{P as g,S as k}from"./reader-Cn-ra_Dv.js";import P from"./pdf-doc-dnr5fHbU.js";import"./forwardRefs-DNAemYUk.js";import"./settings-drawer-1UEq8JY1.js";import"./unauthorized-vG1Lh0m_.js";import"./VDialog-IrbBYFLM.js";import"./change-password-dialog-BZPmAOML.js";import"./VForm-B4hkqnS8.js";import"./VSelectionControl-L41n5bnX.js";import"./admin-Izb24SXM.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDivider-CuRohbVQ.js";import"./VWindowItem-f8UkxXa_.js";import"./VSelect-BsuB-2P1.js";import"./VCheckboxBtn-DBKqrZGq.js";import"./pagination-toolbar-D_whea1o.js";import"./confirm-dialog-CBLQOik_.js";import"./VExpansionPanels-b0xWLH75.js";import"./VRadioGroup-Cbayik6d.js";import"./VCheckbox-pHjSEgdV.js";import"./index-hvGLIBbY.js";const f={name:"PagerFullPDF",components:{PageChangeLink:g,PDFDoc:P,ScaleForScroll:k},props:{book:{type:Object,required:!0}},emits:["load","error","unauthorized"],computed:{...i(s,{page:r=>r.page||0}),src(){return l(this.book)}}};function F(r,S,a,D,h,p){const t=e("PageChangeLink"),n=e("PDFDoc"),m=e("ScaleForScroll");return u(),_("span",null,[o(t,{direction:"prev"}),o(t,{direction:"next"}),o(m,null,{default:d(()=>[o(n,{book:a.book,page:r.page,src:p.src},null,8,["book","page","src"])]),_:1})])}const J=c(f,[["render",F]]);export{J as default};