codex 1.7.7__py3-none-any.whl → 1.7.8a0__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 (492) hide show
  1. codex/librarian/importer/create_comics.py +4 -4
  2. codex/librarian/importer/importerd.py +1 -2
  3. codex/librarian/importer/init.py +1 -2
  4. codex/librarian/importer/link_comics.py +13 -4
  5. codex/librarian/importer/link_covers.py +2 -2
  6. codex/librarian/importer/query_covers.py +2 -1
  7. codex/librarian/search/update.py +14 -6
  8. codex/migrations/0032_alter_librarianstatus_preactive.py +19 -0
  9. codex/models/admin.py +2 -2
  10. codex/serializers/models/admin.py +1 -1
  11. codex/static_root/assets/VCheckbox-DGbay7Dg.be332abf3775.js +1 -0
  12. codex/static_root/assets/VCheckbox-DGbay7Dg.be332abf3775.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-DGbay7Dg.be332abf3775.js.gz +0 -0
  14. codex/static_root/assets/VCheckbox-DGbay7Dg.js +1 -0
  15. codex/static_root/assets/VCheckbox-DGbay7Dg.js.br +0 -0
  16. codex/static_root/assets/VCheckbox-DGbay7Dg.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-DUIOks3V.c14c841b2965.js → VCheckboxBtn-CiZezo9p.04f2c9e393a7.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-CiZezo9p.04f2c9e393a7.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-CiZezo9p.04f2c9e393a7.js.gz +0 -0
  20. codex/static_root/assets/{VCheckboxBtn-DUIOks3V.js → VCheckboxBtn-CiZezo9p.js} +1 -1
  21. codex/static_root/assets/VCheckboxBtn-CiZezo9p.js.br +0 -0
  22. codex/static_root/assets/VCheckboxBtn-CiZezo9p.js.gz +0 -0
  23. codex/static_root/assets/{VCombobox-Gz9N06nz.668b85a54990.js → VCombobox-cpDyxKKW.febd6895f28f.js} +1 -1
  24. codex/static_root/assets/VCombobox-cpDyxKKW.febd6895f28f.js.br +0 -0
  25. codex/static_root/assets/VCombobox-cpDyxKKW.febd6895f28f.js.gz +0 -0
  26. codex/static_root/assets/{VCombobox-Gz9N06nz.js → VCombobox-cpDyxKKW.js} +1 -1
  27. codex/static_root/assets/VCombobox-cpDyxKKW.js.br +0 -0
  28. codex/static_root/assets/VCombobox-cpDyxKKW.js.gz +0 -0
  29. codex/static_root/assets/{VDialog-JYjcWZ0u.91bd96a0d870.js → VDialog-CQKOIVor.11b912ef84c6.js} +1 -1
  30. codex/static_root/assets/VDialog-CQKOIVor.11b912ef84c6.js.br +0 -0
  31. codex/static_root/assets/VDialog-CQKOIVor.11b912ef84c6.js.gz +0 -0
  32. codex/static_root/assets/{VDialog-JYjcWZ0u.js → VDialog-CQKOIVor.js} +1 -1
  33. codex/static_root/assets/VDialog-CQKOIVor.js.br +0 -0
  34. codex/static_root/assets/VDialog-CQKOIVor.js.gz +0 -0
  35. codex/static_root/assets/{VDivider-Coot1SE9.c585b1971696.js → VDivider-DJzm6-Pa.40efc38696bd.js} +1 -1
  36. codex/static_root/assets/VDivider-DJzm6-Pa.40efc38696bd.js.br +0 -0
  37. codex/static_root/assets/VDivider-DJzm6-Pa.40efc38696bd.js.gz +0 -0
  38. codex/static_root/assets/{VDivider-Coot1SE9.js → VDivider-DJzm6-Pa.js} +1 -1
  39. codex/static_root/assets/VDivider-DJzm6-Pa.js.br +0 -0
  40. codex/static_root/assets/VDivider-DJzm6-Pa.js.gz +0 -0
  41. codex/static_root/assets/{VExpansionPanels-DSaZZJ_i.c5bf69cefe7c.js → VExpansionPanels-BusWHS6E.14de20c795ff.js} +1 -1
  42. codex/static_root/assets/VExpansionPanels-BusWHS6E.14de20c795ff.js.br +0 -0
  43. codex/static_root/assets/VExpansionPanels-BusWHS6E.14de20c795ff.js.gz +0 -0
  44. codex/static_root/assets/{VExpansionPanels-DSaZZJ_i.js → VExpansionPanels-BusWHS6E.js} +1 -1
  45. codex/static_root/assets/VExpansionPanels-BusWHS6E.js.br +0 -0
  46. codex/static_root/assets/VExpansionPanels-BusWHS6E.js.gz +0 -0
  47. codex/static_root/assets/{VForm-CsURMe0X.e8dbbd6714c7.js → VForm-VCo3xp86.cd6595dd439d.js} +1 -1
  48. codex/static_root/assets/VForm-VCo3xp86.cd6595dd439d.js.br +0 -0
  49. codex/static_root/assets/VForm-VCo3xp86.cd6595dd439d.js.gz +0 -0
  50. codex/static_root/assets/{VForm-CsURMe0X.js → VForm-VCo3xp86.js} +1 -1
  51. codex/static_root/assets/VForm-VCo3xp86.js.br +0 -0
  52. codex/static_root/assets/VForm-VCo3xp86.js.gz +0 -0
  53. codex/static_root/assets/{VRadioGroup-BfMW9v1C.b6c552d3ebd9.js → VRadioGroup-CKryZ4cH.b79cc7321683.js} +1 -1
  54. codex/static_root/assets/VRadioGroup-CKryZ4cH.b79cc7321683.js.br +0 -0
  55. codex/static_root/assets/VRadioGroup-CKryZ4cH.b79cc7321683.js.gz +0 -0
  56. codex/static_root/assets/{VRadioGroup-BfMW9v1C.js → VRadioGroup-CKryZ4cH.js} +1 -1
  57. codex/static_root/assets/VRadioGroup-CKryZ4cH.js.br +0 -0
  58. codex/static_root/assets/VRadioGroup-CKryZ4cH.js.gz +0 -0
  59. codex/static_root/assets/VSelect-Bj1BfE6R.8dd6123beb01.js +1 -0
  60. codex/static_root/assets/VSelect-Bj1BfE6R.8dd6123beb01.js.br +0 -0
  61. codex/static_root/assets/VSelect-Bj1BfE6R.8dd6123beb01.js.gz +0 -0
  62. codex/static_root/assets/VSelect-Bj1BfE6R.js +1 -0
  63. codex/static_root/assets/VSelect-Bj1BfE6R.js.br +0 -0
  64. codex/static_root/assets/VSelect-Bj1BfE6R.js.gz +0 -0
  65. codex/static_root/assets/{VSelectionControl-C-U8aPN3.js → VSelectionControl-SEnNnq0h.fd48ce3fa657.js} +1 -1
  66. codex/static_root/assets/VSelectionControl-SEnNnq0h.fd48ce3fa657.js.br +0 -0
  67. codex/static_root/assets/VSelectionControl-SEnNnq0h.fd48ce3fa657.js.gz +0 -0
  68. codex/static_root/assets/{VSelectionControl-C-U8aPN3.ee2ff0451f30.js → VSelectionControl-SEnNnq0h.js} +1 -1
  69. codex/static_root/assets/VSelectionControl-SEnNnq0h.js.br +0 -0
  70. codex/static_root/assets/VSelectionControl-SEnNnq0h.js.gz +0 -0
  71. codex/static_root/assets/{VTable-CApWgl_Z.73e5dc6daac2.js → VTable-tnm_9NHg.1bd7702649d3.js} +1 -1
  72. codex/static_root/assets/VTable-tnm_9NHg.1bd7702649d3.js.br +0 -0
  73. codex/static_root/assets/VTable-tnm_9NHg.1bd7702649d3.js.gz +0 -0
  74. codex/static_root/assets/{VTable-CApWgl_Z.js → VTable-tnm_9NHg.js} +1 -1
  75. codex/static_root/assets/VTable-tnm_9NHg.js.br +0 -0
  76. codex/static_root/assets/VTable-tnm_9NHg.js.gz +0 -0
  77. codex/static_root/assets/{VWindowItem-BkKshOEy.a5227da9ba5b.js → VWindowItem-WssrFZ4t.97faaa9c7a3d.js} +1 -1
  78. codex/static_root/assets/VWindowItem-WssrFZ4t.97faaa9c7a3d.js.br +0 -0
  79. codex/static_root/assets/VWindowItem-WssrFZ4t.97faaa9c7a3d.js.gz +0 -0
  80. codex/static_root/assets/{VWindowItem-BkKshOEy.js → VWindowItem-WssrFZ4t.js} +1 -1
  81. codex/static_root/assets/VWindowItem-WssrFZ4t.js.br +0 -0
  82. codex/static_root/assets/VWindowItem-WssrFZ4t.js.gz +0 -0
  83. codex/static_root/assets/{admin-kog1vr1-.68109a677a58.js → admin-3-4V_lRf.b008ad41b8c0.js} +1 -1
  84. codex/static_root/assets/admin-3-4V_lRf.b008ad41b8c0.js.br +0 -0
  85. codex/static_root/assets/admin-3-4V_lRf.b008ad41b8c0.js.gz +0 -0
  86. codex/static_root/assets/{admin-kog1vr1-.js → admin-3-4V_lRf.js} +1 -1
  87. codex/static_root/assets/admin-3-4V_lRf.js.br +0 -0
  88. codex/static_root/assets/admin-3-4V_lRf.js.gz +0 -0
  89. codex/static_root/assets/{admin-Dl90w4xx.a9772c680e4a.js → admin-DskepmCJ.0b93de4320e9.js} +1 -1
  90. codex/static_root/assets/admin-DskepmCJ.0b93de4320e9.js.br +0 -0
  91. codex/static_root/assets/admin-DskepmCJ.0b93de4320e9.js.gz +0 -0
  92. codex/static_root/assets/{admin-Dl90w4xx.js → admin-DskepmCJ.js} +1 -1
  93. codex/static_root/assets/admin-DskepmCJ.js.br +0 -0
  94. codex/static_root/assets/admin-DskepmCJ.js.gz +0 -0
  95. codex/static_root/assets/admin-menu-0EFHJvUr.524a507e99bc.js +1 -0
  96. codex/static_root/assets/admin-menu-0EFHJvUr.524a507e99bc.js.br +0 -0
  97. codex/static_root/assets/admin-menu-0EFHJvUr.524a507e99bc.js.gz +0 -0
  98. codex/static_root/assets/admin-menu-0EFHJvUr.js +1 -0
  99. codex/static_root/assets/admin-menu-0EFHJvUr.js.br +0 -0
  100. codex/static_root/assets/admin-menu-0EFHJvUr.js.gz +0 -0
  101. codex/static_root/assets/admin-menu-Ckn8EPgo.1c771db2f5c9.css +1 -0
  102. codex/static_root/assets/admin-menu-Ckn8EPgo.1c771db2f5c9.css.br +0 -0
  103. codex/static_root/assets/admin-menu-Ckn8EPgo.1c771db2f5c9.css.gz +0 -0
  104. codex/static_root/assets/admin-menu-Ckn8EPgo.css +1 -0
  105. codex/static_root/assets/admin-menu-Ckn8EPgo.css.br +0 -0
  106. codex/static_root/assets/admin-menu-Ckn8EPgo.css.gz +0 -0
  107. codex/static_root/assets/{admin-settings-button-progress-Dflyj3Tj.ee985c7f4955.js → admin-settings-button-progress-D-S2GiEZ.a025664fa9d6.js} +1 -1
  108. codex/static_root/assets/admin-settings-button-progress-D-S2GiEZ.a025664fa9d6.js.br +0 -0
  109. codex/static_root/assets/admin-settings-button-progress-D-S2GiEZ.a025664fa9d6.js.gz +0 -0
  110. codex/static_root/assets/{admin-settings-button-progress-Dflyj3Tj.js → admin-settings-button-progress-D-S2GiEZ.js} +1 -1
  111. codex/static_root/assets/admin-settings-button-progress-D-S2GiEZ.js.br +0 -0
  112. codex/static_root/assets/admin-settings-button-progress-D-S2GiEZ.js.gz +0 -0
  113. codex/static_root/assets/{browser-gQKq4cjC.3225a1a29760.css → browser-CF2ux89S.46282055c4e8.css} +1 -1
  114. codex/static_root/assets/browser-CF2ux89S.46282055c4e8.css.br +0 -0
  115. codex/static_root/assets/browser-CF2ux89S.46282055c4e8.css.gz +0 -0
  116. codex/static_root/assets/{browser-gQKq4cjC.css → browser-CF2ux89S.css} +1 -1
  117. codex/static_root/assets/browser-CF2ux89S.css.br +0 -0
  118. codex/static_root/assets/browser-CF2ux89S.css.gz +0 -0
  119. codex/static_root/assets/browser-DNaZRWr-.a3f217e9d58f.js +1 -0
  120. codex/static_root/assets/browser-DNaZRWr-.a3f217e9d58f.js.br +0 -0
  121. codex/static_root/assets/browser-DNaZRWr-.a3f217e9d58f.js.gz +0 -0
  122. codex/static_root/assets/browser-DNaZRWr-.js +1 -0
  123. codex/static_root/assets/browser-DNaZRWr-.js.br +0 -0
  124. codex/static_root/assets/browser-DNaZRWr-.js.gz +0 -0
  125. codex/static_root/assets/change-password-dialog-CcMn1MaD.134ae5e4565a.js +1 -0
  126. codex/static_root/assets/change-password-dialog-CcMn1MaD.134ae5e4565a.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-CcMn1MaD.134ae5e4565a.js.gz +0 -0
  128. codex/static_root/assets/change-password-dialog-CcMn1MaD.js +1 -0
  129. codex/static_root/assets/change-password-dialog-CcMn1MaD.js.br +0 -0
  130. codex/static_root/assets/change-password-dialog-CcMn1MaD.js.gz +0 -0
  131. codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css +1 -0
  132. codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css.br +0 -0
  133. codex/static_root/assets/confirm-dialog-BI5kQLy_.css +1 -0
  134. codex/static_root/assets/confirm-dialog-BI5kQLy_.css.br +0 -0
  135. codex/static_root/assets/confirm-dialog-Dtbc1qfx.fe257af110b2.js +1 -0
  136. codex/static_root/assets/confirm-dialog-Dtbc1qfx.fe257af110b2.js.br +0 -0
  137. codex/static_root/assets/confirm-dialog-Dtbc1qfx.fe257af110b2.js.gz +0 -0
  138. codex/static_root/assets/confirm-dialog-Dtbc1qfx.js +1 -0
  139. codex/static_root/assets/confirm-dialog-Dtbc1qfx.js.br +0 -0
  140. codex/static_root/assets/confirm-dialog-Dtbc1qfx.js.gz +0 -0
  141. codex/static_root/assets/{datetime-column-BLY3DVgs.eb4c74d7d40b.js → datetime-column-C-z0-lJf.f25a2a5d89a0.js} +1 -1
  142. codex/static_root/assets/datetime-column-C-z0-lJf.f25a2a5d89a0.js.br +1 -0
  143. codex/static_root/assets/datetime-column-C-z0-lJf.f25a2a5d89a0.js.gz +0 -0
  144. codex/static_root/assets/{datetime-column-BLY3DVgs.js → datetime-column-C-z0-lJf.js} +1 -1
  145. codex/static_root/assets/datetime-column-C-z0-lJf.js.br +1 -0
  146. codex/static_root/assets/datetime-column-C-z0-lJf.js.gz +0 -0
  147. codex/static_root/assets/filter-BGJd_v7h.2b43bf308fc1.js +1 -0
  148. codex/static_root/assets/filter-BGJd_v7h.2b43bf308fc1.js.br +0 -0
  149. codex/static_root/assets/filter-BGJd_v7h.2b43bf308fc1.js.gz +0 -0
  150. codex/static_root/assets/filter-BGJd_v7h.js +1 -0
  151. codex/static_root/assets/filter-BGJd_v7h.js.br +0 -0
  152. codex/static_root/assets/filter-BGJd_v7h.js.gz +0 -0
  153. codex/static_root/assets/{flag-tab-D-QmPLuT.44070d940376.js → flag-tab-XGch8ZZg.5e39ef26c11c.js} +1 -1
  154. codex/static_root/assets/flag-tab-XGch8ZZg.5e39ef26c11c.js.br +0 -0
  155. codex/static_root/assets/flag-tab-XGch8ZZg.5e39ef26c11c.js.gz +0 -0
  156. codex/static_root/assets/{flag-tab-D-QmPLuT.js → flag-tab-XGch8ZZg.js} +1 -1
  157. codex/static_root/assets/flag-tab-XGch8ZZg.js.br +0 -0
  158. codex/static_root/assets/flag-tab-XGch8ZZg.js.gz +0 -0
  159. codex/static_root/assets/{forwardRefs-Dab8mCr8.7b7432c76353.js → forwardRefs-DVzXgre5.545b36aeb819.js} +1 -1
  160. codex/static_root/assets/forwardRefs-DVzXgre5.545b36aeb819.js.br +0 -0
  161. codex/static_root/assets/forwardRefs-DVzXgre5.545b36aeb819.js.gz +0 -0
  162. codex/static_root/assets/{forwardRefs-Dab8mCr8.js → forwardRefs-DVzXgre5.js} +1 -1
  163. codex/static_root/assets/forwardRefs-DVzXgre5.js.br +0 -0
  164. codex/static_root/assets/forwardRefs-DVzXgre5.js.gz +0 -0
  165. codex/static_root/assets/{group-tab-CIU-U5vV.1b0046144f3d.js → group-tab-66ps2Jc5.98cf791e5f89.js} +1 -1
  166. codex/static_root/assets/group-tab-66ps2Jc5.98cf791e5f89.js.br +0 -0
  167. codex/static_root/assets/group-tab-66ps2Jc5.98cf791e5f89.js.gz +0 -0
  168. codex/static_root/assets/{group-tab-CIU-U5vV.js → group-tab-66ps2Jc5.js} +1 -1
  169. codex/static_root/assets/group-tab-66ps2Jc5.js.br +0 -0
  170. codex/static_root/assets/group-tab-66ps2Jc5.js.gz +0 -0
  171. codex/static_root/assets/{http-error-DC-8e3vW.7b7ee0f57ed8.js → http-error-Bz3Ui2ZJ.ee182b88e46d.js} +1 -1
  172. codex/static_root/assets/http-error-Bz3Ui2ZJ.ee182b88e46d.js.br +0 -0
  173. codex/static_root/assets/http-error-Bz3Ui2ZJ.ee182b88e46d.js.gz +0 -0
  174. codex/static_root/assets/{http-error-DC-8e3vW.js → http-error-Bz3Ui2ZJ.js} +1 -1
  175. codex/static_root/assets/http-error-Bz3Ui2ZJ.js.br +0 -0
  176. codex/static_root/assets/http-error-Bz3Ui2ZJ.js.gz +0 -0
  177. codex/static_root/assets/{index-GAPixOVo.228bbe0a7550.js → index-DnlAJAT4.3a2c4f2ec71d.js} +1 -1
  178. codex/static_root/assets/index-DnlAJAT4.3a2c4f2ec71d.js.br +0 -0
  179. codex/static_root/assets/index-DnlAJAT4.3a2c4f2ec71d.js.gz +0 -0
  180. codex/static_root/assets/{index-GAPixOVo.js → index-DnlAJAT4.js} +1 -1
  181. codex/static_root/assets/index-DnlAJAT4.js.br +0 -0
  182. codex/static_root/assets/index-DnlAJAT4.js.gz +0 -0
  183. codex/static_root/assets/{library-tab-CgsXOX_r.75baedb7e976.css → library-tab-CKLOCRhi.15b31fb6ec89.css} +1 -1
  184. codex/static_root/assets/{library-tab-CgsXOX_r.75baedb7e976.css.br → library-tab-CKLOCRhi.15b31fb6ec89.css.br} +0 -0
  185. codex/static_root/assets/library-tab-CKLOCRhi.15b31fb6ec89.css.gz +0 -0
  186. codex/static_root/assets/{library-tab-CgsXOX_r.css → library-tab-CKLOCRhi.css} +1 -1
  187. codex/static_root/assets/{library-tab-CgsXOX_r.css.br → library-tab-CKLOCRhi.css.br} +0 -0
  188. codex/static_root/assets/library-tab-CKLOCRhi.css.gz +0 -0
  189. codex/static_root/assets/library-tab-Cb_QR9JZ.5e9de3d5030a.js +1 -0
  190. codex/static_root/assets/library-tab-Cb_QR9JZ.5e9de3d5030a.js.br +0 -0
  191. codex/static_root/assets/library-tab-Cb_QR9JZ.5e9de3d5030a.js.gz +0 -0
  192. codex/static_root/assets/library-tab-Cb_QR9JZ.js +1 -0
  193. codex/static_root/assets/library-tab-Cb_QR9JZ.js.br +0 -0
  194. codex/static_root/assets/library-tab-Cb_QR9JZ.js.gz +0 -0
  195. codex/static_root/assets/{main-CqJrEeXs.1f4589cf31cf.js → main-qGJk_R-K.10ecc6b579fc.js} +14 -14
  196. codex/static_root/assets/main-qGJk_R-K.10ecc6b579fc.js.br +0 -0
  197. codex/static_root/assets/main-qGJk_R-K.10ecc6b579fc.js.gz +0 -0
  198. codex/static_root/assets/{main-CqJrEeXs.js → main-qGJk_R-K.js} +14 -14
  199. codex/static_root/assets/main-qGJk_R-K.js.br +0 -0
  200. codex/static_root/assets/main-qGJk_R-K.js.gz +0 -0
  201. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.a3f17ccf0454.js +1 -0
  202. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.a3f17ccf0454.js.br +0 -0
  203. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.a3f17ccf0454.js.gz +0 -0
  204. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.js +1 -0
  205. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.js.br +0 -0
  206. codex/static_root/assets/pager-full-pdf-CPTeKpeQ.js.gz +0 -0
  207. codex/static_root/assets/pagination-toolbar-DHjDvjvk.8a7af1942458.js +1 -0
  208. codex/static_root/assets/pagination-toolbar-DHjDvjvk.8a7af1942458.js.br +0 -0
  209. codex/static_root/assets/pagination-toolbar-DHjDvjvk.8a7af1942458.js.gz +0 -0
  210. codex/static_root/assets/pagination-toolbar-DHjDvjvk.js +1 -0
  211. codex/static_root/assets/pagination-toolbar-DHjDvjvk.js.br +0 -0
  212. codex/static_root/assets/pagination-toolbar-DHjDvjvk.js.gz +0 -0
  213. codex/static_root/assets/pagination-toolbar-gtPhNnFU.css +1 -0
  214. codex/static_root/assets/pagination-toolbar-gtPhNnFU.css.br +0 -0
  215. codex/static_root/assets/pagination-toolbar-gtPhNnFU.css.gz +0 -0
  216. codex/static_root/assets/pagination-toolbar-gtPhNnFU.dd54eb04dc97.css +1 -0
  217. codex/static_root/assets/pagination-toolbar-gtPhNnFU.dd54eb04dc97.css.br +0 -0
  218. codex/static_root/assets/pagination-toolbar-gtPhNnFU.dd54eb04dc97.css.gz +0 -0
  219. codex/static_root/assets/{pdf-doc-oUfOBdSn.75136d8eed5f.js → pdf-doc-BuRKIJT4.82cb3f3d848f.js} +14 -14
  220. codex/static_root/assets/pdf-doc-BuRKIJT4.82cb3f3d848f.js.br +0 -0
  221. codex/static_root/assets/pdf-doc-BuRKIJT4.82cb3f3d848f.js.gz +0 -0
  222. codex/static_root/assets/{pdf-doc-oUfOBdSn.js → pdf-doc-BuRKIJT4.js} +14 -14
  223. codex/static_root/assets/pdf-doc-BuRKIJT4.js.br +0 -0
  224. codex/static_root/assets/pdf-doc-BuRKIJT4.js.gz +0 -0
  225. codex/static_root/assets/reader-lMiwTovB.2a59ced46db4.js +2 -0
  226. codex/static_root/assets/reader-lMiwTovB.2a59ced46db4.js.br +0 -0
  227. codex/static_root/assets/reader-lMiwTovB.2a59ced46db4.js.gz +0 -0
  228. codex/static_root/assets/reader-lMiwTovB.js +2 -0
  229. codex/static_root/assets/reader-lMiwTovB.js.br +0 -0
  230. codex/static_root/assets/reader-lMiwTovB.js.gz +0 -0
  231. codex/static_root/assets/{relation-chips-Cy6kOLs0.ba209da98775.js → relation-chips-Cw_1-0Np.cab31bccb6c1.js} +1 -1
  232. codex/static_root/assets/relation-chips-Cw_1-0Np.cab31bccb6c1.js.br +0 -0
  233. codex/static_root/assets/relation-chips-Cw_1-0Np.cab31bccb6c1.js.gz +0 -0
  234. codex/static_root/assets/{relation-chips-Cy6kOLs0.js → relation-chips-Cw_1-0Np.js} +1 -1
  235. codex/static_root/assets/relation-chips-Cw_1-0Np.js.br +0 -0
  236. codex/static_root/assets/relation-chips-Cw_1-0Np.js.gz +0 -0
  237. codex/static_root/assets/{settings-drawer-Dg9ZpGZH.js → settings-drawer-D7kCHHFp.65bf07790297.js} +2 -2
  238. codex/static_root/assets/settings-drawer-D7kCHHFp.65bf07790297.js.br +0 -0
  239. codex/static_root/assets/settings-drawer-D7kCHHFp.65bf07790297.js.gz +0 -0
  240. codex/static_root/assets/{settings-drawer-Dg9ZpGZH.87f4c8788dc7.js → settings-drawer-D7kCHHFp.js} +2 -2
  241. codex/static_root/assets/settings-drawer-D7kCHHFp.js.br +0 -0
  242. codex/static_root/assets/settings-drawer-D7kCHHFp.js.gz +0 -0
  243. codex/static_root/assets/{ssrBoot-F-kio-Y3.250480c1569f.js → ssrBoot-D7G69-Ew.1e43ea423231.js} +1 -1
  244. codex/static_root/assets/ssrBoot-D7G69-Ew.1e43ea423231.js.br +0 -0
  245. codex/static_root/assets/ssrBoot-D7G69-Ew.1e43ea423231.js.gz +0 -0
  246. codex/static_root/assets/{ssrBoot-F-kio-Y3.js → ssrBoot-D7G69-Ew.js} +1 -1
  247. codex/static_root/assets/ssrBoot-D7G69-Ew.js.br +0 -0
  248. codex/static_root/assets/ssrBoot-D7G69-Ew.js.gz +0 -0
  249. codex/static_root/assets/{stats-tab-BAV89h6B.ea756cc7c5df.js → stats-tab-BLqBTEbD.64cbfa73c074.js} +1 -1
  250. codex/static_root/assets/stats-tab-BLqBTEbD.64cbfa73c074.js.br +0 -0
  251. codex/static_root/assets/stats-tab-BLqBTEbD.64cbfa73c074.js.gz +0 -0
  252. codex/static_root/assets/{stats-tab-BAV89h6B.js → stats-tab-BLqBTEbD.js} +1 -1
  253. codex/static_root/assets/stats-tab-BLqBTEbD.js.br +0 -0
  254. codex/static_root/assets/stats-tab-BLqBTEbD.js.gz +0 -0
  255. codex/static_root/assets/{task-tab-DDb-IDw3.c646eb5b169c.js → task-tab-BAC3SiG5.18a2d0cd3940.js} +1 -1
  256. codex/static_root/assets/task-tab-BAC3SiG5.18a2d0cd3940.js.br +0 -0
  257. codex/static_root/assets/task-tab-BAC3SiG5.18a2d0cd3940.js.gz +0 -0
  258. codex/static_root/assets/{task-tab-DDb-IDw3.js → task-tab-BAC3SiG5.js} +1 -1
  259. codex/static_root/assets/task-tab-BAC3SiG5.js.br +0 -0
  260. codex/static_root/assets/task-tab-BAC3SiG5.js.gz +0 -0
  261. codex/static_root/assets/{unauthorized-D_ZoMvmO.2b6fe3730dd1.js → unauthorized-Bb4p1sVa.d63d3a8a125b.js} +1 -1
  262. codex/static_root/assets/unauthorized-Bb4p1sVa.d63d3a8a125b.js.br +0 -0
  263. codex/static_root/assets/unauthorized-Bb4p1sVa.d63d3a8a125b.js.gz +0 -0
  264. codex/static_root/assets/{unauthorized-D_ZoMvmO.js → unauthorized-Bb4p1sVa.js} +1 -1
  265. codex/static_root/assets/unauthorized-Bb4p1sVa.js.br +0 -0
  266. codex/static_root/assets/unauthorized-Bb4p1sVa.js.gz +0 -0
  267. codex/static_root/assets/{user-tab-C-_g4ZN2.b74c5c237a19.js → user-tab-z2rDBdBU.af99d7d6af36.js} +1 -1
  268. codex/static_root/assets/user-tab-z2rDBdBU.af99d7d6af36.js.br +0 -0
  269. codex/static_root/assets/user-tab-z2rDBdBU.af99d7d6af36.js.gz +0 -0
  270. codex/static_root/assets/{user-tab-C-_g4ZN2.js → user-tab-z2rDBdBU.js} +1 -1
  271. codex/static_root/assets/user-tab-z2rDBdBU.js.br +0 -0
  272. codex/static_root/assets/user-tab-z2rDBdBU.js.gz +0 -0
  273. codex/static_root/{manifest.a36b86d4fb81.json → manifest.9338997ea796.json} +277 -275
  274. codex/static_root/manifest.9338997ea796.json.br +0 -0
  275. codex/static_root/manifest.9338997ea796.json.gz +0 -0
  276. codex/static_root/manifest.json +277 -275
  277. codex/static_root/manifest.json.br +0 -0
  278. codex/static_root/manifest.json.gz +0 -0
  279. codex/static_root/staticfiles.json +1 -1
  280. codex/status_controller.py +27 -32
  281. codex/views/admin/tasks.py +4 -3
  282. codex/views/browser/filters/group.py +1 -1
  283. codex/views/browser/metadata/annotate.py +13 -14
  284. codex/views/browser/metadata/copy_intersections.py +9 -17
  285. codex/views/browser/metadata/query_intersections.py +0 -2
  286. {codex-1.7.7.dist-info → codex-1.7.8a0.dist-info}/METADATA +1 -1
  287. {codex-1.7.7.dist-info → codex-1.7.8a0.dist-info}/RECORD +290 -289
  288. codex/static_root/assets/VCheckbox-Dsd2BsZ5.7c41fb3e8ba4.js +0 -1
  289. codex/static_root/assets/VCheckbox-Dsd2BsZ5.7c41fb3e8ba4.js.br +0 -0
  290. codex/static_root/assets/VCheckbox-Dsd2BsZ5.7c41fb3e8ba4.js.gz +0 -0
  291. codex/static_root/assets/VCheckbox-Dsd2BsZ5.js +0 -1
  292. codex/static_root/assets/VCheckbox-Dsd2BsZ5.js.br +0 -0
  293. codex/static_root/assets/VCheckbox-Dsd2BsZ5.js.gz +0 -0
  294. codex/static_root/assets/VCheckboxBtn-DUIOks3V.c14c841b2965.js.br +0 -0
  295. codex/static_root/assets/VCheckboxBtn-DUIOks3V.c14c841b2965.js.gz +0 -0
  296. codex/static_root/assets/VCheckboxBtn-DUIOks3V.js.br +0 -0
  297. codex/static_root/assets/VCheckboxBtn-DUIOks3V.js.gz +0 -0
  298. codex/static_root/assets/VCombobox-Gz9N06nz.668b85a54990.js.br +0 -0
  299. codex/static_root/assets/VCombobox-Gz9N06nz.668b85a54990.js.gz +0 -0
  300. codex/static_root/assets/VCombobox-Gz9N06nz.js.br +0 -0
  301. codex/static_root/assets/VCombobox-Gz9N06nz.js.gz +0 -0
  302. codex/static_root/assets/VDialog-JYjcWZ0u.91bd96a0d870.js.br +0 -0
  303. codex/static_root/assets/VDialog-JYjcWZ0u.91bd96a0d870.js.gz +0 -0
  304. codex/static_root/assets/VDialog-JYjcWZ0u.js.br +0 -0
  305. codex/static_root/assets/VDialog-JYjcWZ0u.js.gz +0 -0
  306. codex/static_root/assets/VDivider-Coot1SE9.c585b1971696.js.br +0 -0
  307. codex/static_root/assets/VDivider-Coot1SE9.c585b1971696.js.gz +0 -0
  308. codex/static_root/assets/VDivider-Coot1SE9.js.br +0 -0
  309. codex/static_root/assets/VDivider-Coot1SE9.js.gz +0 -0
  310. codex/static_root/assets/VExpansionPanels-DSaZZJ_i.c5bf69cefe7c.js.br +0 -0
  311. codex/static_root/assets/VExpansionPanels-DSaZZJ_i.c5bf69cefe7c.js.gz +0 -0
  312. codex/static_root/assets/VExpansionPanels-DSaZZJ_i.js.br +0 -0
  313. codex/static_root/assets/VExpansionPanels-DSaZZJ_i.js.gz +0 -0
  314. codex/static_root/assets/VForm-CsURMe0X.e8dbbd6714c7.js.br +0 -0
  315. codex/static_root/assets/VForm-CsURMe0X.e8dbbd6714c7.js.gz +0 -0
  316. codex/static_root/assets/VForm-CsURMe0X.js.br +0 -0
  317. codex/static_root/assets/VForm-CsURMe0X.js.gz +0 -0
  318. codex/static_root/assets/VRadioGroup-BfMW9v1C.b6c552d3ebd9.js.br +0 -0
  319. codex/static_root/assets/VRadioGroup-BfMW9v1C.b6c552d3ebd9.js.gz +0 -0
  320. codex/static_root/assets/VRadioGroup-BfMW9v1C.js.br +0 -0
  321. codex/static_root/assets/VRadioGroup-BfMW9v1C.js.gz +0 -0
  322. codex/static_root/assets/VSelect-DF_7_wrq.50eb35ef8034.js +0 -1
  323. codex/static_root/assets/VSelect-DF_7_wrq.50eb35ef8034.js.br +0 -0
  324. codex/static_root/assets/VSelect-DF_7_wrq.50eb35ef8034.js.gz +0 -0
  325. codex/static_root/assets/VSelect-DF_7_wrq.js +0 -1
  326. codex/static_root/assets/VSelect-DF_7_wrq.js.br +0 -0
  327. codex/static_root/assets/VSelect-DF_7_wrq.js.gz +0 -0
  328. codex/static_root/assets/VSelectionControl-C-U8aPN3.ee2ff0451f30.js.br +0 -0
  329. codex/static_root/assets/VSelectionControl-C-U8aPN3.ee2ff0451f30.js.gz +0 -0
  330. codex/static_root/assets/VSelectionControl-C-U8aPN3.js.br +0 -0
  331. codex/static_root/assets/VSelectionControl-C-U8aPN3.js.gz +0 -0
  332. codex/static_root/assets/VTable-CApWgl_Z.73e5dc6daac2.js.br +0 -0
  333. codex/static_root/assets/VTable-CApWgl_Z.73e5dc6daac2.js.gz +0 -0
  334. codex/static_root/assets/VTable-CApWgl_Z.js.br +0 -0
  335. codex/static_root/assets/VTable-CApWgl_Z.js.gz +0 -0
  336. codex/static_root/assets/VWindowItem-BkKshOEy.a5227da9ba5b.js.br +0 -0
  337. codex/static_root/assets/VWindowItem-BkKshOEy.a5227da9ba5b.js.gz +0 -0
  338. codex/static_root/assets/VWindowItem-BkKshOEy.js.br +0 -0
  339. codex/static_root/assets/VWindowItem-BkKshOEy.js.gz +0 -0
  340. codex/static_root/assets/admin-Dl90w4xx.a9772c680e4a.js.br +0 -0
  341. codex/static_root/assets/admin-Dl90w4xx.a9772c680e4a.js.gz +0 -0
  342. codex/static_root/assets/admin-Dl90w4xx.js.br +0 -0
  343. codex/static_root/assets/admin-Dl90w4xx.js.gz +0 -0
  344. codex/static_root/assets/admin-kog1vr1-.68109a677a58.js.br +0 -0
  345. codex/static_root/assets/admin-kog1vr1-.68109a677a58.js.gz +0 -0
  346. codex/static_root/assets/admin-kog1vr1-.js.br +0 -0
  347. codex/static_root/assets/admin-kog1vr1-.js.gz +0 -0
  348. codex/static_root/assets/admin-menu-B3iXsOyy.c13b7df2ff57.css +0 -1
  349. codex/static_root/assets/admin-menu-B3iXsOyy.c13b7df2ff57.css.br +0 -0
  350. codex/static_root/assets/admin-menu-B3iXsOyy.c13b7df2ff57.css.gz +0 -0
  351. codex/static_root/assets/admin-menu-B3iXsOyy.css +0 -1
  352. codex/static_root/assets/admin-menu-B3iXsOyy.css.br +0 -0
  353. codex/static_root/assets/admin-menu-B3iXsOyy.css.gz +0 -0
  354. codex/static_root/assets/admin-menu-B5Tu5d7c.a958d8ce60e8.js +0 -1
  355. codex/static_root/assets/admin-menu-B5Tu5d7c.a958d8ce60e8.js.br +0 -0
  356. codex/static_root/assets/admin-menu-B5Tu5d7c.a958d8ce60e8.js.gz +0 -0
  357. codex/static_root/assets/admin-menu-B5Tu5d7c.js +0 -1
  358. codex/static_root/assets/admin-menu-B5Tu5d7c.js.br +0 -0
  359. codex/static_root/assets/admin-menu-B5Tu5d7c.js.gz +0 -0
  360. codex/static_root/assets/admin-settings-button-progress-Dflyj3Tj.ee985c7f4955.js.br +0 -0
  361. codex/static_root/assets/admin-settings-button-progress-Dflyj3Tj.ee985c7f4955.js.gz +0 -0
  362. codex/static_root/assets/admin-settings-button-progress-Dflyj3Tj.js.br +0 -0
  363. codex/static_root/assets/admin-settings-button-progress-Dflyj3Tj.js.gz +0 -0
  364. codex/static_root/assets/browser-Dn9VeG9o.41160f5f3581.js +0 -1
  365. codex/static_root/assets/browser-Dn9VeG9o.41160f5f3581.js.br +0 -0
  366. codex/static_root/assets/browser-Dn9VeG9o.41160f5f3581.js.gz +0 -0
  367. codex/static_root/assets/browser-Dn9VeG9o.js +0 -1
  368. codex/static_root/assets/browser-Dn9VeG9o.js.br +0 -0
  369. codex/static_root/assets/browser-Dn9VeG9o.js.gz +0 -0
  370. codex/static_root/assets/browser-gQKq4cjC.3225a1a29760.css.br +0 -0
  371. codex/static_root/assets/browser-gQKq4cjC.3225a1a29760.css.gz +0 -0
  372. codex/static_root/assets/browser-gQKq4cjC.css.br +0 -0
  373. codex/static_root/assets/browser-gQKq4cjC.css.gz +0 -0
  374. codex/static_root/assets/change-password-dialog-bLA6nGQc.19de45f2d34d.js +0 -1
  375. codex/static_root/assets/change-password-dialog-bLA6nGQc.19de45f2d34d.js.br +0 -0
  376. codex/static_root/assets/change-password-dialog-bLA6nGQc.19de45f2d34d.js.gz +0 -0
  377. codex/static_root/assets/change-password-dialog-bLA6nGQc.js +0 -1
  378. codex/static_root/assets/change-password-dialog-bLA6nGQc.js.br +0 -0
  379. codex/static_root/assets/change-password-dialog-bLA6nGQc.js.gz +0 -0
  380. codex/static_root/assets/confirm-dialog-B1ABbGMU.9b5915b112c0.css +0 -1
  381. codex/static_root/assets/confirm-dialog-B1ABbGMU.9b5915b112c0.css.br +0 -0
  382. codex/static_root/assets/confirm-dialog-B1ABbGMU.css +0 -1
  383. codex/static_root/assets/confirm-dialog-B1ABbGMU.css.br +0 -0
  384. codex/static_root/assets/confirm-dialog-DP3s37VG.bc0812da4a41.js +0 -1
  385. codex/static_root/assets/confirm-dialog-DP3s37VG.bc0812da4a41.js.br +0 -0
  386. codex/static_root/assets/confirm-dialog-DP3s37VG.bc0812da4a41.js.gz +0 -0
  387. codex/static_root/assets/confirm-dialog-DP3s37VG.js +0 -1
  388. codex/static_root/assets/confirm-dialog-DP3s37VG.js.br +0 -0
  389. codex/static_root/assets/confirm-dialog-DP3s37VG.js.gz +0 -0
  390. codex/static_root/assets/datetime-column-BLY3DVgs.eb4c74d7d40b.js.br +0 -0
  391. codex/static_root/assets/datetime-column-BLY3DVgs.eb4c74d7d40b.js.gz +0 -0
  392. codex/static_root/assets/datetime-column-BLY3DVgs.js.br +0 -0
  393. codex/static_root/assets/datetime-column-BLY3DVgs.js.gz +0 -0
  394. codex/static_root/assets/filter-D_J5NTMN.19d3621572c3.js +0 -1
  395. codex/static_root/assets/filter-D_J5NTMN.19d3621572c3.js.br +0 -0
  396. codex/static_root/assets/filter-D_J5NTMN.19d3621572c3.js.gz +0 -0
  397. codex/static_root/assets/filter-D_J5NTMN.js +0 -1
  398. codex/static_root/assets/filter-D_J5NTMN.js.br +0 -0
  399. codex/static_root/assets/filter-D_J5NTMN.js.gz +0 -0
  400. codex/static_root/assets/flag-tab-D-QmPLuT.44070d940376.js.br +0 -0
  401. codex/static_root/assets/flag-tab-D-QmPLuT.44070d940376.js.gz +0 -0
  402. codex/static_root/assets/flag-tab-D-QmPLuT.js.br +0 -0
  403. codex/static_root/assets/flag-tab-D-QmPLuT.js.gz +0 -0
  404. codex/static_root/assets/forwardRefs-Dab8mCr8.7b7432c76353.js.br +0 -0
  405. codex/static_root/assets/forwardRefs-Dab8mCr8.7b7432c76353.js.gz +0 -0
  406. codex/static_root/assets/forwardRefs-Dab8mCr8.js.br +0 -0
  407. codex/static_root/assets/forwardRefs-Dab8mCr8.js.gz +0 -0
  408. codex/static_root/assets/group-tab-CIU-U5vV.1b0046144f3d.js.br +0 -0
  409. codex/static_root/assets/group-tab-CIU-U5vV.1b0046144f3d.js.gz +0 -0
  410. codex/static_root/assets/group-tab-CIU-U5vV.js.br +0 -0
  411. codex/static_root/assets/group-tab-CIU-U5vV.js.gz +0 -0
  412. codex/static_root/assets/http-error-DC-8e3vW.7b7ee0f57ed8.js.br +0 -0
  413. codex/static_root/assets/http-error-DC-8e3vW.7b7ee0f57ed8.js.gz +0 -0
  414. codex/static_root/assets/http-error-DC-8e3vW.js.br +0 -0
  415. codex/static_root/assets/http-error-DC-8e3vW.js.gz +0 -0
  416. codex/static_root/assets/index-GAPixOVo.228bbe0a7550.js.br +0 -0
  417. codex/static_root/assets/index-GAPixOVo.228bbe0a7550.js.gz +0 -0
  418. codex/static_root/assets/index-GAPixOVo.js.br +0 -0
  419. codex/static_root/assets/index-GAPixOVo.js.gz +0 -0
  420. codex/static_root/assets/library-tab-CgsXOX_r.75baedb7e976.css.gz +0 -0
  421. codex/static_root/assets/library-tab-CgsXOX_r.css.gz +0 -0
  422. codex/static_root/assets/library-tab-DErITV3q.c6b99695a024.js +0 -1
  423. codex/static_root/assets/library-tab-DErITV3q.c6b99695a024.js.br +0 -0
  424. codex/static_root/assets/library-tab-DErITV3q.c6b99695a024.js.gz +0 -0
  425. codex/static_root/assets/library-tab-DErITV3q.js +0 -1
  426. codex/static_root/assets/library-tab-DErITV3q.js.br +0 -0
  427. codex/static_root/assets/library-tab-DErITV3q.js.gz +0 -0
  428. codex/static_root/assets/main-CqJrEeXs.1f4589cf31cf.js.br +0 -0
  429. codex/static_root/assets/main-CqJrEeXs.1f4589cf31cf.js.gz +0 -0
  430. codex/static_root/assets/main-CqJrEeXs.js.br +0 -0
  431. codex/static_root/assets/main-CqJrEeXs.js.gz +0 -0
  432. codex/static_root/assets/pager-full-pdf-Dp4zwooA.5bb892a48840.js +0 -1
  433. codex/static_root/assets/pager-full-pdf-Dp4zwooA.5bb892a48840.js.br +0 -0
  434. codex/static_root/assets/pager-full-pdf-Dp4zwooA.5bb892a48840.js.gz +0 -0
  435. codex/static_root/assets/pager-full-pdf-Dp4zwooA.js +0 -1
  436. codex/static_root/assets/pager-full-pdf-Dp4zwooA.js.br +0 -0
  437. codex/static_root/assets/pager-full-pdf-Dp4zwooA.js.gz +0 -0
  438. codex/static_root/assets/pagination-toolbar-CvX4XUda.css +0 -1
  439. codex/static_root/assets/pagination-toolbar-CvX4XUda.css.br +0 -0
  440. codex/static_root/assets/pagination-toolbar-CvX4XUda.css.gz +0 -0
  441. codex/static_root/assets/pagination-toolbar-CvX4XUda.ff9de32b532c.css +0 -1
  442. codex/static_root/assets/pagination-toolbar-CvX4XUda.ff9de32b532c.css.br +0 -0
  443. codex/static_root/assets/pagination-toolbar-CvX4XUda.ff9de32b532c.css.gz +0 -0
  444. codex/static_root/assets/pagination-toolbar-Duga1Fnw.73b0b8438281.js +0 -1
  445. codex/static_root/assets/pagination-toolbar-Duga1Fnw.73b0b8438281.js.br +0 -0
  446. codex/static_root/assets/pagination-toolbar-Duga1Fnw.73b0b8438281.js.gz +0 -0
  447. codex/static_root/assets/pagination-toolbar-Duga1Fnw.js +0 -1
  448. codex/static_root/assets/pagination-toolbar-Duga1Fnw.js.br +0 -0
  449. codex/static_root/assets/pagination-toolbar-Duga1Fnw.js.gz +0 -0
  450. codex/static_root/assets/pdf-doc-oUfOBdSn.75136d8eed5f.js.br +0 -0
  451. codex/static_root/assets/pdf-doc-oUfOBdSn.75136d8eed5f.js.gz +0 -0
  452. codex/static_root/assets/pdf-doc-oUfOBdSn.js.br +0 -0
  453. codex/static_root/assets/pdf-doc-oUfOBdSn.js.gz +0 -0
  454. codex/static_root/assets/reader-C2NlMEoN.5b153c060e98.js +0 -2
  455. codex/static_root/assets/reader-C2NlMEoN.5b153c060e98.js.br +0 -0
  456. codex/static_root/assets/reader-C2NlMEoN.5b153c060e98.js.gz +0 -0
  457. codex/static_root/assets/reader-C2NlMEoN.js +0 -2
  458. codex/static_root/assets/reader-C2NlMEoN.js.br +0 -0
  459. codex/static_root/assets/reader-C2NlMEoN.js.gz +0 -0
  460. codex/static_root/assets/relation-chips-Cy6kOLs0.ba209da98775.js.br +0 -0
  461. codex/static_root/assets/relation-chips-Cy6kOLs0.ba209da98775.js.gz +0 -0
  462. codex/static_root/assets/relation-chips-Cy6kOLs0.js.br +0 -0
  463. codex/static_root/assets/relation-chips-Cy6kOLs0.js.gz +0 -0
  464. codex/static_root/assets/settings-drawer-Dg9ZpGZH.87f4c8788dc7.js.br +0 -0
  465. codex/static_root/assets/settings-drawer-Dg9ZpGZH.87f4c8788dc7.js.gz +0 -0
  466. codex/static_root/assets/settings-drawer-Dg9ZpGZH.js.br +0 -0
  467. codex/static_root/assets/settings-drawer-Dg9ZpGZH.js.gz +0 -0
  468. codex/static_root/assets/ssrBoot-F-kio-Y3.250480c1569f.js.br +0 -0
  469. codex/static_root/assets/ssrBoot-F-kio-Y3.250480c1569f.js.gz +0 -0
  470. codex/static_root/assets/ssrBoot-F-kio-Y3.js.br +0 -0
  471. codex/static_root/assets/ssrBoot-F-kio-Y3.js.gz +0 -0
  472. codex/static_root/assets/stats-tab-BAV89h6B.ea756cc7c5df.js.br +0 -0
  473. codex/static_root/assets/stats-tab-BAV89h6B.ea756cc7c5df.js.gz +0 -0
  474. codex/static_root/assets/stats-tab-BAV89h6B.js.br +0 -0
  475. codex/static_root/assets/stats-tab-BAV89h6B.js.gz +0 -0
  476. codex/static_root/assets/task-tab-DDb-IDw3.c646eb5b169c.js.br +0 -0
  477. codex/static_root/assets/task-tab-DDb-IDw3.c646eb5b169c.js.gz +0 -0
  478. codex/static_root/assets/task-tab-DDb-IDw3.js.br +0 -0
  479. codex/static_root/assets/task-tab-DDb-IDw3.js.gz +0 -0
  480. codex/static_root/assets/unauthorized-D_ZoMvmO.2b6fe3730dd1.js.br +0 -0
  481. codex/static_root/assets/unauthorized-D_ZoMvmO.2b6fe3730dd1.js.gz +0 -0
  482. codex/static_root/assets/unauthorized-D_ZoMvmO.js.br +0 -0
  483. codex/static_root/assets/unauthorized-D_ZoMvmO.js.gz +0 -0
  484. codex/static_root/assets/user-tab-C-_g4ZN2.b74c5c237a19.js.br +0 -0
  485. codex/static_root/assets/user-tab-C-_g4ZN2.b74c5c237a19.js.gz +0 -0
  486. codex/static_root/assets/user-tab-C-_g4ZN2.js.br +0 -0
  487. codex/static_root/assets/user-tab-C-_g4ZN2.js.gz +0 -0
  488. codex/static_root/manifest.a36b86d4fb81.json.br +0 -0
  489. codex/static_root/manifest.a36b86d4fb81.json.gz +0 -0
  490. {codex-1.7.7.dist-info → codex-1.7.8a0.dist-info}/LICENSE +0 -0
  491. {codex-1.7.7.dist-info → codex-1.7.8a0.dist-info}/WHEEL +0 -0
  492. {codex-1.7.7.dist-info → codex-1.7.8a0.dist-info}/entry_points.txt +0 -0
Binary file
Binary file
@@ -1 +1 @@
1
- {"paths": {"rest_framework/docs/img/favicon.ico": "rest_framework/docs/img/favicon.5195b4d0f3eb.ico", "rest_framework/docs/img/grid.png": "rest_framework/docs/img/grid.a4b938cf382b.png", "rest_framework/docs/css/jquery.json-view.min.css": "rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css", "rest_framework/docs/css/highlight.css": "rest_framework/docs/css/highlight.e0e4d973c6d7.css", "rest_framework/docs/css/base.css": "rest_framework/docs/css/base.e630f8f4990e.css", "rest_framework/docs/js/highlight.pack.js": "rest_framework/docs/js/highlight.pack.479b5f21dcba.js", "rest_framework/docs/js/api.js": "rest_framework/docs/js/api.18a5ba8a1bd8.js", "rest_framework/docs/js/jquery.json-view.min.js": "rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js", "rest_framework/fonts/glyphicons-halflings-regular.svg": "rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg", "rest_framework/fonts/glyphicons-halflings-regular.woff": "rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff", "rest_framework/fonts/fontawesome-webfont.ttf": "rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf", "rest_framework/fonts/glyphicons-halflings-regular.eot": "rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot", "rest_framework/fonts/fontawesome-webfont.svg": "rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg", "rest_framework/fonts/glyphicons-halflings-regular.ttf": "rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf", "rest_framework/fonts/fontawesome-webfont.eot": "rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot", "rest_framework/fonts/fontawesome-webfont.woff": "rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff", "rest_framework/fonts/glyphicons-halflings-regular.woff2": "rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2", "rest_framework/img/glyphicons-halflings.png": "rest_framework/img/glyphicons-halflings.90233c9067e9.png", "rest_framework/img/glyphicons-halflings-white.png": "rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png", "rest_framework/img/grid.png": "rest_framework/img/grid.a4b938cf382b.png", "rest_framework/css/bootstrap.min.css": "rest_framework/css/bootstrap.min.f17d4516b026.css", "rest_framework/css/prettify.css": "rest_framework/css/prettify.a987f72342ee.css", "rest_framework/css/bootstrap-theme.min.css": "rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css", "rest_framework/css/font-awesome-4.0.3.css": "rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css", "rest_framework/css/bootstrap-tweaks.css": "rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css", "rest_framework/css/default.css": "rest_framework/css/default.789dfb5732d7.css", "rest_framework/css/bootstrap-theme.min.css.map": "rest_framework/css/bootstrap-theme.min.css.51806092cc05.map", "rest_framework/css/bootstrap.min.css.map": "rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map", "rest_framework/js/ajax-form.js": "rest_framework/js/ajax-form.4e1cdcb7acab.js", "rest_framework/js/prettify-min.js": "rest_framework/js/prettify-min.709bfcc456c6.js", "rest_framework/js/default.js": "rest_framework/js/default.5b08897dbdc3.js", "rest_framework/js/load-ajax-form.js": "rest_framework/js/load-ajax-form.8cdb3a9f3466.js", "rest_framework/js/coreapi-0.1.1.js": "rest_framework/js/coreapi-0.1.1.8851fb9336c9.js", "rest_framework/js/csrf.js": "rest_framework/js/csrf.455080a7b2ce.js", "rest_framework/js/jquery-3.7.1.min.js": "rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js", "rest_framework/js/bootstrap.min.js": "rest_framework/js/bootstrap.min.2f34b630ffe3.js", "img/story-arc.svg": "img/story-arc.ca10014355ef.svg", "img/logo-maskable.svg": "img/logo-maskable.8f7de7f1c6a8.svg", "img/folder.svg": "img/folder.f28936a3701d.svg", "img/missing-cover-165.webp": "img/missing-cover-165.0743171f2148.webp", "img/missing-cover.svg": "img/missing-cover.ddb038cc2c56.svg", "img/publisher.svg": "img/publisher.82d378fcd601.svg", "img/logo-32.webp": "img/logo-32.5688944495bf.webp", "img/imprint.svg": "img/imprint.7c2adebb76d6.svg", "img/logo.svg": "img/logo.0f5344a028ca.svg", "img/volume.svg": "img/volume.814e4c79461a.svg", "img/logo-maskable-180.webp": "img/logo-maskable-180.c58d966aa64e.webp", "img/series.svg": "img/series.ec8a889b8f95.svg", "pwa/offline.html": "pwa/offline.7bfaf9f94bf9.html", "assets/admin-C3iCIUnm.css": "assets/admin-C3iCIUnm.06cb213f624d.css", "assets/VRadioGroup-BfMW9v1C.js": "assets/VRadioGroup-BfMW9v1C.b6c552d3ebd9.js", "assets/relation-chips-DpbzrZxT.css": "assets/relation-chips-DpbzrZxT.01269a188e01.css", "assets/admin-Dl90w4xx.js": "assets/admin-Dl90w4xx.a9772c680e4a.js", "assets/datetime-column-BavtvLnf.css": "assets/datetime-column-BavtvLnf.1f3bf499e063.css", "assets/VCheckbox-Dsd2BsZ5.js": "assets/VCheckbox-Dsd2BsZ5.7c41fb3e8ba4.js", "assets/stats-tab-BAV89h6B.js": "assets/stats-tab-BAV89h6B.ea756cc7c5df.js", "assets/user-tab-C-_g4ZN2.js": "assets/user-tab-C-_g4ZN2.b74c5c237a19.js", "assets/admin-kog1vr1-.js": "assets/admin-kog1vr1-.68109a677a58.js", "assets/library-tab-CgsXOX_r.css": "assets/library-tab-CgsXOX_r.75baedb7e976.css", "assets/forwardRefs-Dab8mCr8.js": "assets/forwardRefs-Dab8mCr8.7b7432c76353.js", "assets/materialdesignicons-webfont-PXm3-2wK.woff": "assets/materialdesignicons-webfont-PXm3-2wK.026b7ac9c43c.woff", "assets/forwardRefs-Dyi06MPF.css": "assets/forwardRefs-Dyi06MPF.601ab1fd99b1.css", "assets/admin-menu-B5Tu5d7c.js": "assets/admin-menu-B5Tu5d7c.a958d8ce60e8.js", "assets/library-tab-DErITV3q.js": "assets/library-tab-DErITV3q.c6b99695a024.js", "assets/VSelect-DF_7_wrq.js": "assets/VSelect-DF_7_wrq.50eb35ef8034.js", "assets/confirm-dialog-B1ABbGMU.css": "assets/confirm-dialog-B1ABbGMU.9b5915b112c0.css", "assets/VCheckboxBtn-DUIOks3V.js": "assets/VCheckboxBtn-DUIOks3V.c14c841b2965.js", "assets/VWindowItem-CWBhiE_Y.css": "assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css", "assets/pdf-doc-oUfOBdSn.js": "assets/pdf-doc-oUfOBdSn.75136d8eed5f.js", "assets/flag-tab-D-QmPLuT.js": "assets/flag-tab-D-QmPLuT.44070d940376.js", "assets/group-tab-_vKWzoyd.css": "assets/group-tab-_vKWzoyd.948e907b1e6b.css", "assets/materialdesignicons-webfont-B7mPwVP_.ttf": "assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf", "assets/change-password-dialog-D0ymWcl_.css": "assets/change-password-dialog-D0ymWcl_.a30e68c6e303.css", "assets/confirm-dialog-DP3s37VG.js": "assets/confirm-dialog-DP3s37VG.bc0812da4a41.js", "assets/main-CqJrEeXs.js": "assets/main-CqJrEeXs.1f4589cf31cf.js", "assets/VForm-CsURMe0X.js": "assets/VForm-CsURMe0X.e8dbbd6714c7.js", "assets/settings-drawer-DMSsWF8c.css": "assets/settings-drawer-DMSsWF8c.75a6ea969e71.css", "assets/reader-C2NlMEoN.js": "assets/reader-C2NlMEoN.5b153c060e98.js", "assets/unauthorized-D_ZoMvmO.js": "assets/unauthorized-D_ZoMvmO.2b6fe3730dd1.js", "assets/VForm-DxBt30-N.css": "assets/VForm-DxBt30-N.138c0b89b6fc.css", "assets/pager-full-pdf-Dp4zwooA.js": "assets/pager-full-pdf-Dp4zwooA.5bb892a48840.js", "assets/reader-D_3ruSqa.css": "assets/reader-D_3ruSqa.2ed32f08e906.css", "assets/VCombobox-BQHELb_o.css": "assets/VCombobox-BQHELb_o.9f25a34994e2.css", "assets/group-tab-CIU-U5vV.js": "assets/group-tab-CIU-U5vV.1b0046144f3d.js", "assets/materialdesignicons-webfont-CSr8KVlo.eot": "assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot", "assets/unauthorized-CsSak07X.css": "assets/unauthorized-CsSak07X.c5536d9dae75.css", "assets/copy-to-clipboard-DoUvDJVx.js": "assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js", "assets/VSelectionControl-C-U8aPN3.js": "assets/VSelectionControl-C-U8aPN3.ee2ff0451f30.js", "assets/VExpansionPanels-DSaZZJ_i.js": "assets/VExpansionPanels-DSaZZJ_i.c5bf69cefe7c.js", "assets/main-K8cER0IH.css": "assets/main-K8cER0IH.d529e8b3f52a.css", "assets/VCombobox-Gz9N06nz.js": "assets/VCombobox-Gz9N06nz.668b85a54990.js", "assets/browser-gQKq4cjC.css": "assets/browser-gQKq4cjC.3225a1a29760.css", "assets/VSelect-CP_CVb8s.css": "assets/VSelect-CP_CVb8s.6309f7bf17bb.css", "assets/VRadioGroup-Cp9mZ7cb.css": "assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css", "assets/settings-drawer-Dg9ZpGZH.js": "assets/settings-drawer-Dg9ZpGZH.87f4c8788dc7.js", "assets/VTable-CApWgl_Z.js": "assets/VTable-CApWgl_Z.73e5dc6daac2.js", "assets/ssrBoot-F-kio-Y3.js": "assets/ssrBoot-F-kio-Y3.250480c1569f.js", "assets/VDivider-DU47sRrT.css": "assets/VDivider-DU47sRrT.3d2e17799e5c.css", "assets/index-GAPixOVo.js": "assets/index-GAPixOVo.228bbe0a7550.js", "assets/VSelectionControl-DPpfgCW2.css": "assets/VSelectionControl-DPpfgCW2.cc18de4e83f6.css", "assets/change-password-dialog-bLA6nGQc.js": "assets/change-password-dialog-bLA6nGQc.19de45f2d34d.js", "assets/admin-settings-button-progress-Dflyj3Tj.js": "assets/admin-settings-button-progress-Dflyj3Tj.ee985c7f4955.js", "assets/admin-menu-B3iXsOyy.css": "assets/admin-menu-B3iXsOyy.c13b7df2ff57.css", "assets/materialdesignicons-webfont-Dp5v-WZN.woff2": "assets/materialdesignicons-webfont-Dp5v-WZN.1d7bcee1b302.woff2", "assets/flag-tab-D2MYXCHk.css": "assets/flag-tab-D2MYXCHk.0f57e109c01b.css", "assets/VExpansionPanels-RsCANmDP.css": "assets/VExpansionPanels-RsCANmDP.5b17872981df.css", "assets/relation-chips-Cy6kOLs0.js": "assets/relation-chips-Cy6kOLs0.ba209da98775.js", "assets/filter-D_J5NTMN.js": "assets/filter-D_J5NTMN.19d3621572c3.js", "assets/VDialog-BDaX1tXA.css": "assets/VDialog-BDaX1tXA.c61bfde6cb2a.css", "assets/VCheckbox-CvH8ekHL.css": "assets/VCheckbox-CvH8ekHL.016ed8d222c4.css", "assets/VTable-BnxSZ_W5.css": "assets/VTable-BnxSZ_W5.c36f0a6a30cf.css", "assets/VDialog-JYjcWZ0u.js": "assets/VDialog-JYjcWZ0u.91bd96a0d870.js", "assets/http-error-DC-8e3vW.js": "assets/http-error-DC-8e3vW.7b7ee0f57ed8.js", "assets/stats-tab-WvF2acoZ.css": "assets/stats-tab-WvF2acoZ.9fdb0106124d.css", "assets/datetime-column-BLY3DVgs.js": "assets/datetime-column-BLY3DVgs.eb4c74d7d40b.js", "assets/admin-settings-button-progress-BGB22oTD.css": "assets/admin-settings-button-progress-BGB22oTD.2548c49a853e.css", "assets/task-tab-CW4DQ3KN.css": "assets/task-tab-CW4DQ3KN.81812f9208e5.css", "assets/index-BHXJTQ4V.css": "assets/index-BHXJTQ4V.523d7b3d350f.css", "assets/pagination-toolbar-CvX4XUda.css": "assets/pagination-toolbar-CvX4XUda.ff9de32b532c.css", "assets/http-error-CODU7jcH.css": "assets/http-error-CODU7jcH.8c13689ae574.css", "assets/task-tab-DDb-IDw3.js": "assets/task-tab-DDb-IDw3.c646eb5b169c.js", "assets/pagination-toolbar-Duga1Fnw.js": "assets/pagination-toolbar-Duga1Fnw.73b0b8438281.js", "assets/VWindowItem-BkKshOEy.js": "assets/VWindowItem-BkKshOEy.a5227da9ba5b.js", "assets/pdf-doc-B4cGW_Hl.css": "assets/pdf-doc-B4cGW_Hl.b94aac7e3313.css", "assets/browser-Dn9VeG9o.js": "assets/browser-Dn9VeG9o.41160f5f3581.js", "assets/VDivider-Coot1SE9.js": "assets/VDivider-Coot1SE9.c585b1971696.js", "robots.txt": "robots.b6216d61c03e.txt", "manifest.json": "manifest.a36b86d4fb81.json"}, "version": "1.1", "hash": "233f48b4cc82"}
1
+ {"paths": {"rest_framework/docs/img/favicon.ico": "rest_framework/docs/img/favicon.5195b4d0f3eb.ico", "rest_framework/docs/img/grid.png": "rest_framework/docs/img/grid.a4b938cf382b.png", "rest_framework/docs/css/jquery.json-view.min.css": "rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css", "rest_framework/docs/css/highlight.css": "rest_framework/docs/css/highlight.e0e4d973c6d7.css", "rest_framework/docs/css/base.css": "rest_framework/docs/css/base.e630f8f4990e.css", "rest_framework/docs/js/highlight.pack.js": "rest_framework/docs/js/highlight.pack.479b5f21dcba.js", "rest_framework/docs/js/api.js": "rest_framework/docs/js/api.18a5ba8a1bd8.js", "rest_framework/docs/js/jquery.json-view.min.js": "rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js", "rest_framework/fonts/glyphicons-halflings-regular.svg": "rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg", "rest_framework/fonts/glyphicons-halflings-regular.woff": "rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff", "rest_framework/fonts/fontawesome-webfont.ttf": "rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf", "rest_framework/fonts/glyphicons-halflings-regular.eot": "rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot", "rest_framework/fonts/fontawesome-webfont.svg": "rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg", "rest_framework/fonts/glyphicons-halflings-regular.ttf": "rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf", "rest_framework/fonts/fontawesome-webfont.eot": "rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot", "rest_framework/fonts/fontawesome-webfont.woff": "rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff", "rest_framework/fonts/glyphicons-halflings-regular.woff2": "rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2", "rest_framework/img/glyphicons-halflings.png": "rest_framework/img/glyphicons-halflings.90233c9067e9.png", "rest_framework/img/glyphicons-halflings-white.png": "rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png", "rest_framework/img/grid.png": "rest_framework/img/grid.a4b938cf382b.png", "rest_framework/css/bootstrap.min.css": "rest_framework/css/bootstrap.min.f17d4516b026.css", "rest_framework/css/prettify.css": "rest_framework/css/prettify.a987f72342ee.css", "rest_framework/css/bootstrap-theme.min.css": "rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css", "rest_framework/css/font-awesome-4.0.3.css": "rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css", "rest_framework/css/bootstrap-tweaks.css": "rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css", "rest_framework/css/default.css": "rest_framework/css/default.789dfb5732d7.css", "rest_framework/css/bootstrap-theme.min.css.map": "rest_framework/css/bootstrap-theme.min.css.51806092cc05.map", "rest_framework/css/bootstrap.min.css.map": "rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map", "rest_framework/js/ajax-form.js": "rest_framework/js/ajax-form.4e1cdcb7acab.js", "rest_framework/js/prettify-min.js": "rest_framework/js/prettify-min.709bfcc456c6.js", "rest_framework/js/default.js": "rest_framework/js/default.5b08897dbdc3.js", "rest_framework/js/load-ajax-form.js": "rest_framework/js/load-ajax-form.8cdb3a9f3466.js", "rest_framework/js/coreapi-0.1.1.js": "rest_framework/js/coreapi-0.1.1.8851fb9336c9.js", "rest_framework/js/csrf.js": "rest_framework/js/csrf.455080a7b2ce.js", "rest_framework/js/jquery-3.7.1.min.js": "rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js", "rest_framework/js/bootstrap.min.js": "rest_framework/js/bootstrap.min.2f34b630ffe3.js", "img/story-arc.svg": "img/story-arc.ca10014355ef.svg", "img/logo-maskable.svg": "img/logo-maskable.8f7de7f1c6a8.svg", "img/folder.svg": "img/folder.f28936a3701d.svg", "img/missing-cover-165.webp": "img/missing-cover-165.0743171f2148.webp", "img/missing-cover.svg": "img/missing-cover.ddb038cc2c56.svg", "img/publisher.svg": "img/publisher.82d378fcd601.svg", "img/logo-32.webp": "img/logo-32.5688944495bf.webp", "img/imprint.svg": "img/imprint.7c2adebb76d6.svg", "img/logo.svg": "img/logo.0f5344a028ca.svg", "img/volume.svg": "img/volume.814e4c79461a.svg", "img/logo-maskable-180.webp": "img/logo-maskable-180.c58d966aa64e.webp", "img/series.svg": "img/series.ec8a889b8f95.svg", "pwa/offline.html": "pwa/offline.7bfaf9f94bf9.html", "assets/admin-C3iCIUnm.css": "assets/admin-C3iCIUnm.06cb213f624d.css", "assets/VCombobox-cpDyxKKW.js": "assets/VCombobox-cpDyxKKW.febd6895f28f.js", "assets/group-tab-66ps2Jc5.js": "assets/group-tab-66ps2Jc5.98cf791e5f89.js", "assets/relation-chips-DpbzrZxT.css": "assets/relation-chips-DpbzrZxT.01269a188e01.css", "assets/library-tab-Cb_QR9JZ.js": "assets/library-tab-Cb_QR9JZ.5e9de3d5030a.js", "assets/datetime-column-BavtvLnf.css": "assets/datetime-column-BavtvLnf.1f3bf499e063.css", "assets/change-password-dialog-CcMn1MaD.js": "assets/change-password-dialog-CcMn1MaD.134ae5e4565a.js", "assets/VCheckboxBtn-CiZezo9p.js": "assets/VCheckboxBtn-CiZezo9p.04f2c9e393a7.js", "assets/admin-settings-button-progress-D-S2GiEZ.js": "assets/admin-settings-button-progress-D-S2GiEZ.a025664fa9d6.js", "assets/admin-3-4V_lRf.js": "assets/admin-3-4V_lRf.b008ad41b8c0.js", "assets/materialdesignicons-webfont-PXm3-2wK.woff": "assets/materialdesignicons-webfont-PXm3-2wK.026b7ac9c43c.woff", "assets/forwardRefs-Dyi06MPF.css": "assets/forwardRefs-Dyi06MPF.601ab1fd99b1.css", "assets/confirm-dialog-BI5kQLy_.css": "assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css", "assets/pdf-doc-BuRKIJT4.js": "assets/pdf-doc-BuRKIJT4.82cb3f3d848f.js", "assets/library-tab-CKLOCRhi.css": "assets/library-tab-CKLOCRhi.15b31fb6ec89.css", "assets/stats-tab-BLqBTEbD.js": "assets/stats-tab-BLqBTEbD.64cbfa73c074.js", "assets/confirm-dialog-Dtbc1qfx.js": "assets/confirm-dialog-Dtbc1qfx.fe257af110b2.js", "assets/unauthorized-Bb4p1sVa.js": "assets/unauthorized-Bb4p1sVa.d63d3a8a125b.js", "assets/VWindowItem-CWBhiE_Y.css": "assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css", "assets/index-DnlAJAT4.js": "assets/index-DnlAJAT4.3a2c4f2ec71d.js", "assets/group-tab-_vKWzoyd.css": "assets/group-tab-_vKWzoyd.948e907b1e6b.css", "assets/materialdesignicons-webfont-B7mPwVP_.ttf": "assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf", "assets/change-password-dialog-D0ymWcl_.css": "assets/change-password-dialog-D0ymWcl_.a30e68c6e303.css", "assets/pager-full-pdf-CPTeKpeQ.js": "assets/pager-full-pdf-CPTeKpeQ.a3f17ccf0454.js", "assets/admin-menu-0EFHJvUr.js": "assets/admin-menu-0EFHJvUr.524a507e99bc.js", "assets/VRadioGroup-CKryZ4cH.js": "assets/VRadioGroup-CKryZ4cH.b79cc7321683.js", "assets/VSelectionControl-SEnNnq0h.js": "assets/VSelectionControl-SEnNnq0h.fd48ce3fa657.js", "assets/ssrBoot-D7G69-Ew.js": "assets/ssrBoot-D7G69-Ew.1e43ea423231.js", "assets/settings-drawer-DMSsWF8c.css": "assets/settings-drawer-DMSsWF8c.75a6ea969e71.css", "assets/VForm-DxBt30-N.css": "assets/VForm-DxBt30-N.138c0b89b6fc.css", "assets/VExpansionPanels-BusWHS6E.js": "assets/VExpansionPanels-BusWHS6E.14de20c795ff.js", "assets/reader-D_3ruSqa.css": "assets/reader-D_3ruSqa.2ed32f08e906.css", "assets/browser-DNaZRWr-.js": "assets/browser-DNaZRWr-.a3f217e9d58f.js", "assets/VCombobox-BQHELb_o.css": "assets/VCombobox-BQHELb_o.9f25a34994e2.css", "assets/task-tab-BAC3SiG5.js": "assets/task-tab-BAC3SiG5.18a2d0cd3940.js", "assets/materialdesignicons-webfont-CSr8KVlo.eot": "assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot", "assets/unauthorized-CsSak07X.css": "assets/unauthorized-CsSak07X.c5536d9dae75.css", "assets/filter-BGJd_v7h.js": "assets/filter-BGJd_v7h.2b43bf308fc1.js", "assets/copy-to-clipboard-DoUvDJVx.js": "assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js", "assets/forwardRefs-DVzXgre5.js": "assets/forwardRefs-DVzXgre5.545b36aeb819.js", "assets/main-qGJk_R-K.js": "assets/main-qGJk_R-K.10ecc6b579fc.js", "assets/user-tab-z2rDBdBU.js": "assets/user-tab-z2rDBdBU.af99d7d6af36.js", "assets/reader-lMiwTovB.js": "assets/reader-lMiwTovB.2a59ced46db4.js", "assets/main-K8cER0IH.css": "assets/main-K8cER0IH.d529e8b3f52a.css", "assets/settings-drawer-D7kCHHFp.js": "assets/settings-drawer-D7kCHHFp.65bf07790297.js", "assets/VSelect-CP_CVb8s.css": "assets/VSelect-CP_CVb8s.6309f7bf17bb.css", "assets/admin-DskepmCJ.js": "assets/admin-DskepmCJ.0b93de4320e9.js", "assets/VRadioGroup-Cp9mZ7cb.css": "assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css", "assets/VDivider-DJzm6-Pa.js": "assets/VDivider-DJzm6-Pa.40efc38696bd.js", "assets/VDivider-DU47sRrT.css": "assets/VDivider-DU47sRrT.3d2e17799e5c.css", "assets/VSelectionControl-DPpfgCW2.css": "assets/VSelectionControl-DPpfgCW2.cc18de4e83f6.css", "assets/VCheckbox-DGbay7Dg.js": "assets/VCheckbox-DGbay7Dg.be332abf3775.js", "assets/materialdesignicons-webfont-Dp5v-WZN.woff2": "assets/materialdesignicons-webfont-Dp5v-WZN.1d7bcee1b302.woff2", "assets/flag-tab-D2MYXCHk.css": "assets/flag-tab-D2MYXCHk.0f57e109c01b.css", "assets/VExpansionPanels-RsCANmDP.css": "assets/VExpansionPanels-RsCANmDP.5b17872981df.css", "assets/VWindowItem-WssrFZ4t.js": "assets/VWindowItem-WssrFZ4t.97faaa9c7a3d.js", "assets/VDialog-BDaX1tXA.css": "assets/VDialog-BDaX1tXA.c61bfde6cb2a.css", "assets/VCheckbox-CvH8ekHL.css": "assets/VCheckbox-CvH8ekHL.016ed8d222c4.css", "assets/browser-CF2ux89S.css": "assets/browser-CF2ux89S.46282055c4e8.css", "assets/VTable-BnxSZ_W5.css": "assets/VTable-BnxSZ_W5.c36f0a6a30cf.css", "assets/relation-chips-Cw_1-0Np.js": "assets/relation-chips-Cw_1-0Np.cab31bccb6c1.js", "assets/stats-tab-WvF2acoZ.css": "assets/stats-tab-WvF2acoZ.9fdb0106124d.css", "assets/http-error-Bz3Ui2ZJ.js": "assets/http-error-Bz3Ui2ZJ.ee182b88e46d.js", "assets/datetime-column-C-z0-lJf.js": "assets/datetime-column-C-z0-lJf.f25a2a5d89a0.js", "assets/VTable-tnm_9NHg.js": "assets/VTable-tnm_9NHg.1bd7702649d3.js", "assets/admin-settings-button-progress-BGB22oTD.css": "assets/admin-settings-button-progress-BGB22oTD.2548c49a853e.css", "assets/task-tab-CW4DQ3KN.css": "assets/task-tab-CW4DQ3KN.81812f9208e5.css", "assets/pagination-toolbar-DHjDvjvk.js": "assets/pagination-toolbar-DHjDvjvk.8a7af1942458.js", "assets/index-BHXJTQ4V.css": "assets/index-BHXJTQ4V.523d7b3d350f.css", "assets/VForm-VCo3xp86.js": "assets/VForm-VCo3xp86.cd6595dd439d.js", "assets/admin-menu-Ckn8EPgo.css": "assets/admin-menu-Ckn8EPgo.1c771db2f5c9.css", "assets/pagination-toolbar-gtPhNnFU.css": "assets/pagination-toolbar-gtPhNnFU.dd54eb04dc97.css", "assets/flag-tab-XGch8ZZg.js": "assets/flag-tab-XGch8ZZg.5e39ef26c11c.js", "assets/http-error-CODU7jcH.css": "assets/http-error-CODU7jcH.8c13689ae574.css", "assets/VSelect-Bj1BfE6R.js": "assets/VSelect-Bj1BfE6R.8dd6123beb01.js", "assets/pdf-doc-B4cGW_Hl.css": "assets/pdf-doc-B4cGW_Hl.b94aac7e3313.css", "assets/VDialog-CQKOIVor.js": "assets/VDialog-CQKOIVor.11b912ef84c6.js", "robots.txt": "robots.b6216d61c03e.txt", "manifest.json": "manifest.9338997ea796.json"}, "version": "1.1", "hash": "61713e76a5cb"}
@@ -1,11 +1,11 @@
1
1
  """Librarian Status."""
2
2
 
3
3
  from enum import Enum
4
- from logging import DEBUG, INFO
4
+ from logging import DEBUG
5
5
  from time import time
6
6
 
7
7
  from django.db.models.functions.datetime import Now
8
- from django.utils.timezone import now, timedelta
8
+ from django.utils.timezone import datetime, now, timedelta
9
9
 
10
10
  from codex.choices.admin import ADMIN_STATUS_TITLES
11
11
  from codex.librarian.notifier.tasks import LIBRARIAN_STATUS_TASK
@@ -67,27 +67,29 @@ class StatusController(LoggerBaseMixin):
67
67
  status = status.value
68
68
  return status
69
69
 
70
- def start(
70
+ def _update(
71
71
  self,
72
72
  status,
73
- notify: bool = True, # noqa: FBT002
74
- preactive: bool = False, # noqa: FBT002
75
- active_pad_ms=0,
73
+ notify: bool,
74
+ active: datetime | None = None,
75
+ preactive: datetime | None = None,
76
76
  ):
77
77
  """Start a librarian status."""
78
78
  try:
79
79
  if not status.status_type:
80
80
  reason = f"Bad status type: {status.status_type}"
81
81
  raise ValueError(reason) # noqa: TRY301
82
- active = now() + timedelta(milliseconds=active_pad_ms)
83
82
  updates = {
84
- "preactive": preactive,
85
83
  "complete": status.complete,
86
84
  "total": status.total,
87
- "active": active,
88
- "subtitle": status.subtitle,
89
85
  "updated_at": Now(),
90
86
  }
87
+ if preactive is not None:
88
+ updates["preactive"] = preactive
89
+ if active:
90
+ updates["active"] = active
91
+ if status.subtitle:
92
+ updates["subtitle"] = status.subtitle
91
93
  LibrarianStatus.objects.filter(status_type=status.status_type).update(
92
94
  **updates
93
95
  )
@@ -96,14 +98,23 @@ class StatusController(LoggerBaseMixin):
96
98
  status.since = time()
97
99
  except Exception:
98
100
  title = ADMIN_STATUS_TITLES[status.status_type]
99
- self.log.exception(f"Start status: {title}")
101
+ self.log.exception(f"Update status: {title}")
102
+
103
+ def start(
104
+ self,
105
+ status,
106
+ notify: bool = True, # noqa: FBT002
107
+ preactive: datetime | None = None,
108
+ ):
109
+ """Start a librarian status."""
110
+ self._update(status, notify=notify, preactive=preactive, active=now())
100
111
 
101
112
  def start_many(self, status_iterable):
102
113
  """Start many librarian statuses."""
103
- for active_pad_ms, status in enumerate(status_iterable):
104
- self.start(
105
- status, notify=False, active_pad_ms=active_pad_ms, preactive=True
106
- )
114
+ for index, status in enumerate(status_iterable):
115
+ pad_ms = index * 100
116
+ preactive = now() + timedelta(milliseconds=pad_ms)
117
+ self._update(status, notify=False, preactive=preactive)
107
118
  self._enqueue_notifier_task(notify=True)
108
119
 
109
120
  def update(self, status, notify: bool = True): # noqa: FBT002
@@ -111,23 +122,7 @@ class StatusController(LoggerBaseMixin):
111
122
  if time() - status.since < self._UPDATE_DELTA:
112
123
  # noop unless time has expired.
113
124
  return
114
- updates = {
115
- "preactive": False,
116
- "complete": status.complete,
117
- "total": status.total,
118
- "updated_at": Now(),
119
- }
120
- try:
121
- LibrarianStatus.objects.filter(status_type=status.status_type).update(
122
- **updates
123
- )
124
- self._enqueue_notifier_task(notify)
125
- if notify:
126
- self._loggit(INFO, status)
127
- status.since = time()
128
- except Exception as exc:
129
- title = ADMIN_STATUS_TITLES[status.status_type]
130
- self.log.warning(f"Update status {title}: {exc}")
125
+ self._update(status, notify=notify)
131
126
 
132
127
  def finish_many(self, statii, notify: bool = True, until=0.0): # noqa: FBT002
133
128
  """Finish all librarian statuses."""
@@ -3,6 +3,7 @@
3
3
  from types import MappingProxyType
4
4
  from typing import TYPE_CHECKING
5
5
 
6
+ from django.db.models.query_utils import Q
6
7
  from drf_spectacular.utils import extend_schema
7
8
  from rest_framework.response import Response
8
9
 
@@ -117,9 +118,9 @@ _TASK_MAP = MappingProxyType(
117
118
  class AdminLibrarianStatusViewSet(AdminReadOnlyModelViewSet):
118
119
  """Librarian Task Statuses."""
119
120
 
120
- queryset = LibrarianStatus.objects.filter(active__isnull=False).order_by(
121
- "active", "pk"
122
- )
121
+ queryset = LibrarianStatus.objects.filter(
122
+ Q(preactive__isnull=False) | Q(active__isnull=False)
123
+ ).order_by("preactive", "active", "pk")
123
124
  serializer_class = LibrarianStatusSerializer
124
125
 
125
126
 
@@ -46,7 +46,7 @@ class GroupFilterView(BrowserParamsView):
46
46
  if pks and 0 not in pks:
47
47
  rel = self._get_rel_for_pks(group, page_mtime)
48
48
  group_filter_dict = {rel: pks}
49
- elif group == FOLDER_GROUP:
49
+ elif group == FOLDER_GROUP and self.TARGET != "choices":
50
50
  # Top folder search
51
51
  group_filter_dict = {"parent_folder": None}
52
52
  else:
@@ -2,13 +2,10 @@
2
2
 
3
3
  from django.db.models import Count, IntegerField, Sum, Value
4
4
 
5
- from codex.logger.logging import get_logger
6
5
  from codex.models import Comic
7
6
  from codex.views.browser.annotate.card import BrowserAnnotateCardView
8
7
 
9
- LOG = get_logger(__name__)
10
- _ADMIN_OR_FILE_VIEW_ENABLED_COMIC_VALUE_FIELDS = frozenset({"path"})
11
- _COMIC_VALUE_FIELDS_CONFLICTING = frozenset(
8
+ COMIC_VALUE_FIELDS_CONFLICTING = frozenset(
12
9
  {
13
10
  "created_at",
14
11
  "name",
@@ -16,8 +13,11 @@ _COMIC_VALUE_FIELDS_CONFLICTING = frozenset(
16
13
  "updated_at",
17
14
  }
18
15
  )
16
+ COMIC_VALUE_FIELDS_CONFLICTING_PREFIX = "conflict_"
17
+ PATH_GROUPS = frozenset({"c", "f"})
18
+ _ADMIN_OR_FILE_VIEW_ENABLED_COMIC_VALUE_FIELDS = frozenset({"path"})
19
19
  _DISABLED_VALUE_FIELD_NAMES = frozenset(
20
- {"id", "pk", "sort_name", "stat"} | _COMIC_VALUE_FIELDS_CONFLICTING
20
+ {"id", "pk", "sort_name", "stat"} | COMIC_VALUE_FIELDS_CONFLICTING
21
21
  )
22
22
  _COMIC_VALUE_FIELD_NAMES = frozenset(
23
23
  # contains path
@@ -25,9 +25,7 @@ _COMIC_VALUE_FIELD_NAMES = frozenset(
25
25
  for field in Comic._meta.get_fields()
26
26
  if not field.is_relation and field.name not in _DISABLED_VALUE_FIELD_NAMES
27
27
  )
28
- _COMIC_VALUE_FIELDS_CONFLICTING_PREFIX = "conflict_"
29
28
  _COMIC_RELATED_VALUE_FIELDS = frozenset({"series__volume_count", "volume__issue_count"})
30
- _PATH_GROUPS = frozenset({"c", "f"})
31
29
  _SUM_FIELDS = frozenset({"page_count", "size"})
32
30
 
33
31
 
@@ -40,7 +38,7 @@ class MetadataAnnotateView(BrowserAnnotateCardView):
40
38
  group = self.kwargs["group"]
41
39
  if (
42
40
  not (self.is_admin and self.admin_flags["folder_view"])
43
- or group not in _PATH_GROUPS
41
+ or group not in PATH_GROUPS
44
42
  ):
45
43
  fields -= _ADMIN_OR_FILE_VIEW_ENABLED_COMIC_VALUE_FIELDS
46
44
  return tuple(fields)
@@ -67,16 +65,17 @@ class MetadataAnnotateView(BrowserAnnotateCardView):
67
65
  else:
68
66
  # group_by makes the filter work, but prevents its
69
67
  # use as a subquery in the big query.
70
- sq = filtered_qs.alias(
71
- filter_count=Count(full_field, distinct=True)
72
- ).filter(filter_count=1)
68
+ sq = filtered_qs.annotate(filter_count=Count(full_field, distinct=True))
69
+ sq = sq.filter(filter_count=1)
73
70
  sq = self.add_group_by(sq)
74
71
  sq = self.force_inner_joins(sq)
72
+ if not sq.count():
73
+ continue
75
74
  sq = sq.values_list(full_field + related_suffix, flat=True)
76
75
  try:
77
76
  val = sq[0]
78
77
  except IndexError:
79
- val = None
78
+ continue
80
79
  if field.endswith("count"):
81
80
  output_field = IntegerField()
82
81
  else:
@@ -97,8 +96,8 @@ class MetadataAnnotateView(BrowserAnnotateCardView):
97
96
  # Conflicting Simple Values
98
97
  querysets = self._intersection_annotate(
99
98
  querysets,
100
- _COMIC_VALUE_FIELDS_CONFLICTING,
101
- annotation_prefix=_COMIC_VALUE_FIELDS_CONFLICTING_PREFIX,
99
+ COMIC_VALUE_FIELDS_CONFLICTING,
100
+ annotation_prefix=COMIC_VALUE_FIELDS_CONFLICTING_PREFIX,
102
101
  )
103
102
 
104
103
  # Foreign Keys with special count values
@@ -1,24 +1,16 @@
1
1
  """Copy Intersections Into Comic Fields."""
2
2
 
3
- from codex.logger.logging import get_logger
4
3
  from codex.models.comic import Comic
5
4
  from codex.serializers.browser.metadata import PREFETCH_PREFIX
5
+ from codex.views.browser.metadata.annotate import (
6
+ COMIC_VALUE_FIELDS_CONFLICTING,
7
+ COMIC_VALUE_FIELDS_CONFLICTING_PREFIX,
8
+ PATH_GROUPS,
9
+ )
6
10
  from codex.views.browser.metadata.query_intersections import (
7
11
  MetadataQueryIntersectionsView,
8
12
  )
9
13
 
10
- LOG = get_logger(__name__)
11
- _COMIC_VALUE_FIELDS_CONFLICTING = frozenset(
12
- {
13
- "created_at",
14
- "name",
15
- "path",
16
- "updated_at",
17
- }
18
- )
19
- _COMIC_VALUE_FIELDS_CONFLICTING_PREFIX = "conflict_"
20
- _PATH_GROUPS = frozenset({"c", "f"})
21
-
22
14
 
23
15
  class MetadataCopyIntersectionsView(MetadataQueryIntersectionsView):
24
16
  """Copy Intersections Into Comic Fields."""
@@ -26,7 +18,7 @@ class MetadataCopyIntersectionsView(MetadataQueryIntersectionsView):
26
18
  def _path_security(self, obj):
27
19
  """Secure filesystem information for acl situation."""
28
20
  group = self.kwargs["group"]
29
- is_path_group = group in _PATH_GROUPS
21
+ is_path_group = group in PATH_GROUPS
30
22
  if is_path_group:
31
23
  if self.is_admin:
32
24
  return
@@ -72,10 +64,10 @@ class MetadataCopyIntersectionsView(MetadataQueryIntersectionsView):
72
64
 
73
65
  @staticmethod
74
66
  def _copy_conflicting_simple_fields(obj):
75
- for field in _COMIC_VALUE_FIELDS_CONFLICTING:
67
+ for field in COMIC_VALUE_FIELDS_CONFLICTING:
76
68
  """Copy conflicting fields over naturral fields."""
77
- conflict_field = _COMIC_VALUE_FIELDS_CONFLICTING_PREFIX + field
78
- val = getattr(obj, conflict_field)
69
+ conflict_field = COMIC_VALUE_FIELDS_CONFLICTING_PREFIX + field
70
+ val = getattr(obj, conflict_field, None)
79
71
  setattr(obj, field, val)
80
72
 
81
73
  def copy_intersections_into_comic_fields(self, obj, groups, m2m_intersections):
@@ -5,14 +5,12 @@ from types import MappingProxyType
5
5
  from django.db.models import Count
6
6
 
7
7
  from codex.librarian.importer.const import COMIC_M2M_FIELD_NAMES
8
- from codex.logger.logging import get_logger
9
8
  from codex.models import Comic
10
9
  from codex.models.functions import JsonGroupArray
11
10
  from codex.models.groups import Imprint, Publisher, Series, Volume
12
11
  from codex.views.browser.metadata.annotate import MetadataAnnotateView
13
12
  from codex.views.const import METADATA_GROUP_RELATION, MODEL_REL_MAP
14
13
 
15
- LOG = get_logger(__name__)
16
14
  _CONTRIBUTOR_RELATIONS = ("role", "person")
17
15
  _GROUP_MODELS = MappingProxyType(
18
16
  {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codex
3
- Version: 1.7.7
3
+ Version: 1.7.8a0
4
4
  Summary: A comic archive web server.
5
5
  Home-page: https://github.com/ajslater/codex
6
6
  License: GPL-3.0-only