codex 1.8.0a7__py3-none-any.whl → 1.8.0a9__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.
- codex/librarian/bookmark/tasks.py +2 -1
- codex/librarian/covers/tasks.py +2 -1
- codex/librarian/restarter/tasks.py +3 -1
- codex/librarian/scribe/importer/create/link_fks.py +1 -1
- codex/librarian/scribe/importer/link/delete.py +1 -1
- codex/librarian/scribe/importer/link/many_to_many.py +1 -1
- codex/librarian/scribe/importer/link/prepare.py +1 -1
- codex/librarian/scribe/importer/query/{query_fks.py → foreign_keys.py} +2 -2
- codex/librarian/scribe/importer/query/update_comics.py +1 -1
- codex/librarian/scribe/importer/read/foreign_keys.py +1 -1
- codex/librarian/scribe/importer/read/many_to_many.py +1 -1
- codex/librarian/scribe/importer/search/update.py +1 -1
- codex/librarian/scribe/janitor/cleanup.py +1 -1
- codex/librarian/scribe/janitor/integrity.py +4 -3
- codex/librarian/scribe/priority.py +6 -2
- codex/librarian/scribe/scribed.py +1 -1
- codex/librarian/scribe/tasks.py +2 -1
- codex/librarian/status_controller.py +3 -1
- codex/librarian/watchdog/event_batcherd.py +1 -1
- codex/librarian/watchdog/handlers.py +1 -1
- codex/librarian/watchdog/observers.py +2 -2
- codex/librarian/watchdog/tasks.py +2 -1
- codex/models/admin.py +1 -1
- codex/serializers/admin/tasks.py +1 -1
- codex/serializers/browser/choices.py +1 -1
- codex/startup/__init__.py +2 -2
- codex/static_root/assets/{VCheckbox-DWxWEepo.1acd2cc6d629.js → VCheckbox-DJagUpbb.6a84695184fd.js} +1 -1
- codex/static_root/assets/VCheckbox-DJagUpbb.6a84695184fd.js.br +0 -0
- codex/static_root/assets/VCheckbox-DJagUpbb.6a84695184fd.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-DWxWEepo.js → VCheckbox-DJagUpbb.js} +1 -1
- codex/static_root/assets/VCheckbox-DJagUpbb.js.br +0 -0
- codex/static_root/assets/VCheckbox-DJagUpbb.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-C_KP91Hh.a275b49a13e7.js → VCheckboxBtn-D0e96Bwj.a8761978bb0e.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-D0e96Bwj.a8761978bb0e.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-D0e96Bwj.a8761978bb0e.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-C_KP91Hh.js → VCheckboxBtn-D0e96Bwj.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-D0e96Bwj.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-D0e96Bwj.js.gz +0 -0
- codex/static_root/assets/{VCombobox-B4BO1uO9.eba6114f3e21.js → VCombobox-BN4qTcjm.dfec3a85dcb3.js} +1 -1
- codex/static_root/assets/VCombobox-BN4qTcjm.dfec3a85dcb3.js.br +0 -0
- codex/static_root/assets/VCombobox-BN4qTcjm.dfec3a85dcb3.js.gz +0 -0
- codex/static_root/assets/{VCombobox-B4BO1uO9.js → VCombobox-BN4qTcjm.js} +1 -1
- codex/static_root/assets/VCombobox-BN4qTcjm.js.br +0 -0
- codex/static_root/assets/VCombobox-BN4qTcjm.js.gz +0 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.6d7d05b9c976.js +1 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.6d7d05b9c976.js.br +0 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.6d7d05b9c976.js.gz +0 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.js +1 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.js.br +0 -0
- codex/static_root/assets/VDialog-C-WVEJzZ.js.gz +0 -0
- codex/static_root/assets/{VDivider-CnxeDDcO.792921c1a4a1.js → VDivider-Bauncah3.fab6c477d84d.js} +1 -1
- codex/static_root/assets/VDivider-Bauncah3.fab6c477d84d.js.br +0 -0
- codex/static_root/assets/VDivider-Bauncah3.fab6c477d84d.js.gz +0 -0
- codex/static_root/assets/{VDivider-CnxeDDcO.js → VDivider-Bauncah3.js} +1 -1
- codex/static_root/assets/VDivider-Bauncah3.js.br +0 -0
- codex/static_root/assets/VDivider-Bauncah3.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-6RbcaUkU.33ee286d20e7.js → VExpansionPanels-BCf0nzuL.c49dd5f1fdf2.js} +1 -1
- codex/static_root/assets/VExpansionPanels-BCf0nzuL.c49dd5f1fdf2.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BCf0nzuL.c49dd5f1fdf2.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-6RbcaUkU.js → VExpansionPanels-BCf0nzuL.js} +1 -1
- codex/static_root/assets/VExpansionPanels-BCf0nzuL.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BCf0nzuL.js.gz +0 -0
- codex/static_root/assets/{VForm-BiZGZD6F.fb9d8426ef72.js → VForm-o_DPR4SR.23e5efe8799d.js} +1 -1
- codex/static_root/assets/VForm-o_DPR4SR.23e5efe8799d.js.br +0 -0
- codex/static_root/assets/VForm-o_DPR4SR.23e5efe8799d.js.gz +0 -0
- codex/static_root/assets/{VForm-BiZGZD6F.js → VForm-o_DPR4SR.js} +1 -1
- codex/static_root/assets/VForm-o_DPR4SR.js.br +0 -0
- codex/static_root/assets/VForm-o_DPR4SR.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-C454wUvX.689995f3ff8c.js → VRadioGroup-Df9XhLMv.c152fa483bf8.js} +1 -1
- codex/static_root/assets/VRadioGroup-Df9XhLMv.c152fa483bf8.js.br +0 -0
- codex/static_root/assets/VRadioGroup-Df9XhLMv.c152fa483bf8.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-C454wUvX.js → VRadioGroup-Df9XhLMv.js} +1 -1
- codex/static_root/assets/VRadioGroup-Df9XhLMv.js.br +0 -0
- codex/static_root/assets/VRadioGroup-Df9XhLMv.js.gz +0 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.5484d79ce04a.js +1 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.5484d79ce04a.js.br +0 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.5484d79ce04a.js.gz +0 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.js +1 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.js.br +0 -0
- codex/static_root/assets/VSelect-eWzjJ77Z.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.818bd094609b.js +1 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.818bd094609b.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.818bd094609b.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.js +1 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DdY-OLpS.js.gz +0 -0
- codex/static_root/assets/{VTable-D0O9TP1l.851d06430ab7.js → VTable-DieJFSEd.539d225b0302.js} +1 -1
- codex/static_root/assets/VTable-DieJFSEd.539d225b0302.js.br +0 -0
- codex/static_root/assets/VTable-DieJFSEd.539d225b0302.js.gz +0 -0
- codex/static_root/assets/{VTable-D0O9TP1l.js → VTable-DieJFSEd.js} +1 -1
- codex/static_root/assets/VTable-DieJFSEd.js.br +0 -0
- codex/static_root/assets/VTable-DieJFSEd.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-D1r_6PXp.b5cdd9ef6ce9.js → VWindowItem-CDyJjJOR.6f8cd0f055d7.js} +1 -1
- codex/static_root/assets/VWindowItem-CDyJjJOR.6f8cd0f055d7.js.br +0 -0
- codex/static_root/assets/VWindowItem-CDyJjJOR.6f8cd0f055d7.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-D1r_6PXp.js → VWindowItem-CDyJjJOR.js} +1 -1
- codex/static_root/assets/VWindowItem-CDyJjJOR.js.br +0 -0
- codex/static_root/assets/VWindowItem-CDyJjJOR.js.gz +0 -0
- codex/static_root/assets/{admin-CfDzTfnG.ba240b5a4a40.js → admin-B3f-cKjQ.213ed1d5589e.js} +1 -1
- codex/static_root/assets/admin-B3f-cKjQ.213ed1d5589e.js.br +0 -0
- codex/static_root/assets/admin-B3f-cKjQ.213ed1d5589e.js.gz +0 -0
- codex/static_root/assets/{admin-CfDzTfnG.js → admin-B3f-cKjQ.js} +1 -1
- codex/static_root/assets/admin-B3f-cKjQ.js.br +0 -0
- codex/static_root/assets/admin-B3f-cKjQ.js.gz +0 -0
- codex/static_root/assets/{admin-B9Oz5KrR.14ab2e54fa5b.js → admin-D9tZzklx.04a20fe253bb.js} +1 -1
- codex/static_root/assets/admin-D9tZzklx.04a20fe253bb.js.br +0 -0
- codex/static_root/assets/admin-D9tZzklx.04a20fe253bb.js.gz +0 -0
- codex/static_root/assets/{admin-B9Oz5KrR.js → admin-D9tZzklx.js} +1 -1
- codex/static_root/assets/admin-D9tZzklx.js.br +0 -0
- codex/static_root/assets/admin-D9tZzklx.js.gz +0 -0
- codex/static_root/assets/{admin-menu-BTCthv5r.js → admin-menu-CVnP1_h6.2d0d1229b6df.js} +1 -1
- codex/static_root/assets/admin-menu-CVnP1_h6.2d0d1229b6df.js.br +0 -0
- codex/static_root/assets/admin-menu-CVnP1_h6.2d0d1229b6df.js.gz +0 -0
- codex/static_root/assets/{admin-menu-BTCthv5r.f4c60585345c.js → admin-menu-CVnP1_h6.js} +1 -1
- codex/static_root/assets/admin-menu-CVnP1_h6.js.br +0 -0
- codex/static_root/assets/admin-menu-CVnP1_h6.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-Byb3ZZbF.c38abf7a183e.js → admin-settings-button-progress-CvhG7p5Z.a50a586218b7.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-CvhG7p5Z.a50a586218b7.js.br +2 -0
- codex/static_root/assets/admin-settings-button-progress-CvhG7p5Z.a50a586218b7.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-Byb3ZZbF.js → admin-settings-button-progress-CvhG7p5Z.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-CvhG7p5Z.js.br +2 -0
- codex/static_root/assets/admin-settings-button-progress-CvhG7p5Z.js.gz +0 -0
- codex/static_root/assets/{browser-BbFRLvto.js → browser-DdPHpzxe.4d52ec8197da.js} +1 -1
- codex/static_root/assets/browser-DdPHpzxe.4d52ec8197da.js.br +0 -0
- codex/static_root/assets/browser-DdPHpzxe.4d52ec8197da.js.gz +0 -0
- codex/static_root/assets/{browser-BbFRLvto.2ddc78dbd6d2.js → browser-DdPHpzxe.js} +1 -1
- codex/static_root/assets/browser-DdPHpzxe.js.br +0 -0
- codex/static_root/assets/browser-DdPHpzxe.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DVgKRnnC.0cae12f0ba55.js → change-password-dialog-C7kwgYBE.52ee3cd65535.js} +1 -1
- codex/static_root/assets/change-password-dialog-C7kwgYBE.52ee3cd65535.js.br +0 -0
- codex/static_root/assets/change-password-dialog-C7kwgYBE.52ee3cd65535.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DVgKRnnC.js → change-password-dialog-C7kwgYBE.js} +1 -1
- codex/static_root/assets/change-password-dialog-C7kwgYBE.js.br +0 -0
- codex/static_root/assets/change-password-dialog-C7kwgYBE.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-CId2DpVz.7cc09b1259d5.js → confirm-dialog-BhwMx-UM.708027b0d25a.js} +1 -1
- codex/static_root/assets/confirm-dialog-BhwMx-UM.708027b0d25a.js.br +0 -0
- codex/static_root/assets/confirm-dialog-BhwMx-UM.708027b0d25a.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-CId2DpVz.js → confirm-dialog-BhwMx-UM.js} +1 -1
- codex/static_root/assets/confirm-dialog-BhwMx-UM.js.br +0 -0
- codex/static_root/assets/confirm-dialog-BhwMx-UM.js.gz +0 -0
- codex/static_root/assets/{datetime-column-80bdFW1G.8fecf1c8a4df.js → datetime-column-KAycgN-k.8fbc2a2866a3.js} +1 -1
- codex/static_root/assets/datetime-column-KAycgN-k.8fbc2a2866a3.js.br +0 -0
- codex/static_root/assets/datetime-column-KAycgN-k.8fbc2a2866a3.js.gz +0 -0
- codex/static_root/assets/{datetime-column-80bdFW1G.js → datetime-column-KAycgN-k.js} +1 -1
- codex/static_root/assets/datetime-column-KAycgN-k.js.br +0 -0
- codex/static_root/assets/datetime-column-KAycgN-k.js.gz +0 -0
- codex/static_root/assets/{filter-AqFs16gs.b81b28d3b1cd.js → filter-wPypfYV3.5eecd33a9668.js} +1 -1
- codex/static_root/assets/filter-wPypfYV3.5eecd33a9668.js.br +0 -0
- codex/static_root/assets/filter-wPypfYV3.5eecd33a9668.js.gz +0 -0
- codex/static_root/assets/{filter-AqFs16gs.js → filter-wPypfYV3.js} +1 -1
- codex/static_root/assets/filter-wPypfYV3.js.br +0 -0
- codex/static_root/assets/filter-wPypfYV3.js.gz +0 -0
- codex/static_root/assets/{flag-tab--riWEaDz.600d45990e7e.js → flag-tab-BIQg1U5A.dc3851ad1b39.js} +1 -1
- codex/static_root/assets/flag-tab-BIQg1U5A.dc3851ad1b39.js.br +0 -0
- codex/static_root/assets/flag-tab-BIQg1U5A.dc3851ad1b39.js.gz +0 -0
- codex/static_root/assets/{flag-tab--riWEaDz.js → flag-tab-BIQg1U5A.js} +1 -1
- codex/static_root/assets/flag-tab-BIQg1U5A.js.br +0 -0
- codex/static_root/assets/flag-tab-BIQg1U5A.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.44a9f9204e12.js +1 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.44a9f9204e12.js.br +0 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.44a9f9204e12.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.js +1 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.js.br +0 -0
- codex/static_root/assets/forwardRefs-BVVeyGTq.js.gz +0 -0
- codex/static_root/assets/{group-tab-DW2cxPzu.c484f88ea5aa.js → group-tab-DYgmy5A8.5d9eff1df161.js} +1 -1
- codex/static_root/assets/group-tab-DYgmy5A8.5d9eff1df161.js.br +0 -0
- codex/static_root/assets/group-tab-DYgmy5A8.5d9eff1df161.js.gz +0 -0
- codex/static_root/assets/{group-tab-DW2cxPzu.js → group-tab-DYgmy5A8.js} +1 -1
- codex/static_root/assets/group-tab-DYgmy5A8.js.br +0 -0
- codex/static_root/assets/group-tab-DYgmy5A8.js.gz +0 -0
- codex/static_root/assets/{http-error--HzaZjdl.a51e63e5e831.js → http-error-yMqASHiY.0d3a583c91d2.js} +1 -1
- codex/static_root/assets/http-error-yMqASHiY.0d3a583c91d2.js.br +0 -0
- codex/static_root/assets/http-error-yMqASHiY.0d3a583c91d2.js.gz +0 -0
- codex/static_root/assets/{http-error--HzaZjdl.js → http-error-yMqASHiY.js} +1 -1
- codex/static_root/assets/http-error-yMqASHiY.js.br +0 -0
- codex/static_root/assets/http-error-yMqASHiY.js.gz +0 -0
- codex/static_root/assets/{index-DkPXJI21.0d7b8f8cf7be.js → index-yiP640xd.7116f1b6010e.js} +1 -1
- codex/static_root/assets/index-yiP640xd.7116f1b6010e.js.br +0 -0
- codex/static_root/assets/index-yiP640xd.7116f1b6010e.js.gz +0 -0
- codex/static_root/assets/{index-DkPXJI21.js → index-yiP640xd.js} +1 -1
- codex/static_root/assets/index-yiP640xd.js.br +0 -0
- codex/static_root/assets/index-yiP640xd.js.gz +0 -0
- codex/static_root/assets/{library-tab-BwPXDL63.dc7f661f7bc7.js → library-tab-DYzguIVv.a9f948a4eae3.js} +1 -1
- codex/static_root/assets/library-tab-DYzguIVv.a9f948a4eae3.js.br +0 -0
- codex/static_root/assets/library-tab-DYzguIVv.a9f948a4eae3.js.gz +0 -0
- codex/static_root/assets/{library-tab-BwPXDL63.js → library-tab-DYzguIVv.js} +1 -1
- codex/static_root/assets/library-tab-DYzguIVv.js.br +0 -0
- codex/static_root/assets/library-tab-DYzguIVv.js.gz +0 -0
- codex/static_root/assets/{main-DXiGoFcV.5a499dbcbbfe.js → main-CDIGwmNp.e6b2c81fc113.js} +14 -14
- codex/static_root/assets/main-CDIGwmNp.e6b2c81fc113.js.br +0 -0
- codex/static_root/assets/main-CDIGwmNp.e6b2c81fc113.js.gz +0 -0
- codex/static_root/assets/{main-DXiGoFcV.js → main-CDIGwmNp.js} +14 -14
- codex/static_root/assets/main-CDIGwmNp.js.br +0 -0
- codex/static_root/assets/main-CDIGwmNp.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.7c84e64f58a2.js +1 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.7c84e64f58a2.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.7c84e64f58a2.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.js +1 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-RETOMqUJ.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-gxf2sShG.4c0846bf3224.js → pagination-toolbar-CrE6RasO.ae70a774c94a.js} +1 -1
- codex/static_root/assets/pagination-toolbar-CrE6RasO.ae70a774c94a.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CrE6RasO.ae70a774c94a.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-gxf2sShG.js → pagination-toolbar-CrE6RasO.js} +1 -1
- codex/static_root/assets/pagination-toolbar-CrE6RasO.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CrE6RasO.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-BKIb3c50.71a27ab500e3.js → pdf-doc-BWBKYFoc.29ece2adcfa8.js} +1 -1
- codex/static_root/assets/pdf-doc-BWBKYFoc.29ece2adcfa8.js.br +0 -0
- codex/static_root/assets/pdf-doc-BWBKYFoc.29ece2adcfa8.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-BKIb3c50.js → pdf-doc-BWBKYFoc.js} +1 -1
- codex/static_root/assets/pdf-doc-BWBKYFoc.js.br +0 -0
- codex/static_root/assets/pdf-doc-BWBKYFoc.js.gz +0 -0
- codex/static_root/assets/{reader-DN0gXesY.js → reader-UDfN-rBG.84acd342e7a5.js} +2 -2
- codex/static_root/assets/reader-UDfN-rBG.84acd342e7a5.js.br +0 -0
- codex/static_root/assets/reader-UDfN-rBG.84acd342e7a5.js.gz +0 -0
- codex/static_root/assets/{reader-DN0gXesY.a8decf766e54.js → reader-UDfN-rBG.js} +2 -2
- codex/static_root/assets/reader-UDfN-rBG.js.br +0 -0
- codex/static_root/assets/reader-UDfN-rBG.js.gz +0 -0
- codex/static_root/assets/relation-chips-YLZbngpL.bcb11cb9e1d7.js +1 -0
- codex/static_root/assets/relation-chips-YLZbngpL.bcb11cb9e1d7.js.br +0 -0
- codex/static_root/assets/relation-chips-YLZbngpL.bcb11cb9e1d7.js.gz +0 -0
- codex/static_root/assets/relation-chips-YLZbngpL.js +1 -0
- codex/static_root/assets/relation-chips-YLZbngpL.js.br +0 -0
- codex/static_root/assets/relation-chips-YLZbngpL.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-BBM7vyXE.js → settings-drawer-BBhjYtn3.51ce89fc3136.js} +2 -2
- codex/static_root/assets/settings-drawer-BBhjYtn3.51ce89fc3136.js.br +0 -0
- codex/static_root/assets/settings-drawer-BBhjYtn3.51ce89fc3136.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-BBM7vyXE.b3a49d6d6f4c.js → settings-drawer-BBhjYtn3.js} +2 -2
- codex/static_root/assets/settings-drawer-BBhjYtn3.js.br +0 -0
- codex/static_root/assets/settings-drawer-BBhjYtn3.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-Bz995UNv.88843c6b5c94.js → ssrBoot-CvwZSuVh.e9499022a758.js} +1 -1
- codex/static_root/assets/ssrBoot-CvwZSuVh.e9499022a758.js.br +0 -0
- codex/static_root/assets/ssrBoot-CvwZSuVh.e9499022a758.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-Bz995UNv.js → ssrBoot-CvwZSuVh.js} +1 -1
- codex/static_root/assets/ssrBoot-CvwZSuVh.js.br +0 -0
- codex/static_root/assets/ssrBoot-CvwZSuVh.js.gz +0 -0
- codex/static_root/assets/{stats-tab-D0ysKA-O.22ade1f1c862.js → stats-tab-DwrCOGvj.e5388a822da3.js} +1 -1
- codex/static_root/assets/stats-tab-DwrCOGvj.e5388a822da3.js.br +0 -0
- codex/static_root/assets/stats-tab-DwrCOGvj.e5388a822da3.js.gz +0 -0
- codex/static_root/assets/{stats-tab-D0ysKA-O.js → stats-tab-DwrCOGvj.js} +1 -1
- codex/static_root/assets/stats-tab-DwrCOGvj.js.br +0 -0
- codex/static_root/assets/stats-tab-DwrCOGvj.js.gz +0 -0
- codex/static_root/assets/{task-tab-K3T_nwIk.1189081e1886.js → task-tab-Cao7lL55.1789be782741.js} +1 -1
- codex/static_root/assets/task-tab-Cao7lL55.1789be782741.js.br +0 -0
- codex/static_root/assets/task-tab-Cao7lL55.1789be782741.js.gz +0 -0
- codex/static_root/assets/{task-tab-K3T_nwIk.js → task-tab-Cao7lL55.js} +1 -1
- codex/static_root/assets/task-tab-Cao7lL55.js.br +0 -0
- codex/static_root/assets/task-tab-Cao7lL55.js.gz +0 -0
- codex/static_root/assets/{unauthorized-C9hDLcp6.6397ed699c7c.js → unauthorized-CQMd2z1i.5ae4823bb4a1.js} +1 -1
- codex/static_root/assets/unauthorized-CQMd2z1i.5ae4823bb4a1.js.br +0 -0
- codex/static_root/assets/unauthorized-CQMd2z1i.5ae4823bb4a1.js.gz +0 -0
- codex/static_root/assets/{unauthorized-C9hDLcp6.js → unauthorized-CQMd2z1i.js} +1 -1
- codex/static_root/assets/unauthorized-CQMd2z1i.js.br +0 -0
- codex/static_root/assets/unauthorized-CQMd2z1i.js.gz +0 -0
- codex/static_root/assets/{user-tab-DpQuTwTk.c3b440ac6074.js → user-tab-BncpHHPt.50a6d126fde2.js} +1 -1
- codex/static_root/assets/user-tab-BncpHHPt.50a6d126fde2.js.br +0 -0
- codex/static_root/assets/user-tab-BncpHHPt.50a6d126fde2.js.gz +0 -0
- codex/static_root/assets/{user-tab-DpQuTwTk.js → user-tab-BncpHHPt.js} +1 -1
- codex/static_root/assets/user-tab-BncpHHPt.js.br +0 -0
- codex/static_root/assets/user-tab-BncpHHPt.js.gz +0 -0
- codex/static_root/{manifest.b16c282e2ba4.json → manifest.c7f31be2c75e.json} +301 -301
- codex/static_root/manifest.c7f31be2c75e.json.br +0 -0
- codex/static_root/manifest.c7f31be2c75e.json.gz +0 -0
- codex/static_root/manifest.json +301 -301
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/util.py +2 -2
- codex/views/admin/tasks.py +1 -3
- codex/views/browser/breadcrumbs.py +1 -1
- codex/views/browser/page_in_bounds.py +1 -1
- codex/views/opds/v2/feed.py +1 -2
- {codex-1.8.0a7.dist-info → codex-1.8.0a9.dist-info}/METADATA +43 -44
- {codex-1.8.0a7.dist-info → codex-1.8.0a9.dist-info}/RECORD +277 -277
- codex/static_root/assets/VCheckbox-DWxWEepo.1acd2cc6d629.js.br +0 -0
- codex/static_root/assets/VCheckbox-DWxWEepo.1acd2cc6d629.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DWxWEepo.js.br +0 -0
- codex/static_root/assets/VCheckbox-DWxWEepo.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-C_KP91Hh.a275b49a13e7.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-C_KP91Hh.a275b49a13e7.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-C_KP91Hh.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-C_KP91Hh.js.gz +0 -0
- codex/static_root/assets/VCombobox-B4BO1uO9.eba6114f3e21.js.br +0 -0
- codex/static_root/assets/VCombobox-B4BO1uO9.eba6114f3e21.js.gz +0 -0
- codex/static_root/assets/VCombobox-B4BO1uO9.js.br +0 -0
- codex/static_root/assets/VCombobox-B4BO1uO9.js.gz +0 -0
- codex/static_root/assets/VDialog-DSiQFoFP.7378780e9a46.js +0 -1
- codex/static_root/assets/VDialog-DSiQFoFP.7378780e9a46.js.br +0 -0
- codex/static_root/assets/VDialog-DSiQFoFP.7378780e9a46.js.gz +0 -0
- codex/static_root/assets/VDialog-DSiQFoFP.js +0 -1
- codex/static_root/assets/VDialog-DSiQFoFP.js.br +0 -0
- codex/static_root/assets/VDialog-DSiQFoFP.js.gz +0 -0
- codex/static_root/assets/VDivider-CnxeDDcO.792921c1a4a1.js.br +0 -0
- codex/static_root/assets/VDivider-CnxeDDcO.792921c1a4a1.js.gz +0 -0
- codex/static_root/assets/VDivider-CnxeDDcO.js.br +0 -0
- codex/static_root/assets/VDivider-CnxeDDcO.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-6RbcaUkU.33ee286d20e7.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-6RbcaUkU.33ee286d20e7.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-6RbcaUkU.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-6RbcaUkU.js.gz +0 -0
- codex/static_root/assets/VForm-BiZGZD6F.fb9d8426ef72.js.br +0 -0
- codex/static_root/assets/VForm-BiZGZD6F.fb9d8426ef72.js.gz +0 -0
- codex/static_root/assets/VForm-BiZGZD6F.js.br +0 -0
- codex/static_root/assets/VForm-BiZGZD6F.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-C454wUvX.689995f3ff8c.js.br +0 -0
- codex/static_root/assets/VRadioGroup-C454wUvX.689995f3ff8c.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-C454wUvX.js.br +0 -0
- codex/static_root/assets/VRadioGroup-C454wUvX.js.gz +0 -0
- codex/static_root/assets/VSelect-DnTo44Ok.dd359bb94795.js +0 -1
- codex/static_root/assets/VSelect-DnTo44Ok.dd359bb94795.js.br +0 -0
- codex/static_root/assets/VSelect-DnTo44Ok.dd359bb94795.js.gz +0 -0
- codex/static_root/assets/VSelect-DnTo44Ok.js +0 -1
- codex/static_root/assets/VSelect-DnTo44Ok.js.br +0 -0
- codex/static_root/assets/VSelect-DnTo44Ok.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BQOk7BCO.4cacab8d06c5.js +0 -1
- codex/static_root/assets/VSelectionControl-BQOk7BCO.4cacab8d06c5.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BQOk7BCO.4cacab8d06c5.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BQOk7BCO.js +0 -1
- codex/static_root/assets/VSelectionControl-BQOk7BCO.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BQOk7BCO.js.gz +0 -0
- codex/static_root/assets/VTable-D0O9TP1l.851d06430ab7.js.br +0 -0
- codex/static_root/assets/VTable-D0O9TP1l.851d06430ab7.js.gz +0 -0
- codex/static_root/assets/VTable-D0O9TP1l.js.br +0 -0
- codex/static_root/assets/VTable-D0O9TP1l.js.gz +0 -0
- codex/static_root/assets/VWindowItem-D1r_6PXp.b5cdd9ef6ce9.js.br +0 -0
- codex/static_root/assets/VWindowItem-D1r_6PXp.b5cdd9ef6ce9.js.gz +0 -0
- codex/static_root/assets/VWindowItem-D1r_6PXp.js.br +0 -0
- codex/static_root/assets/VWindowItem-D1r_6PXp.js.gz +0 -0
- codex/static_root/assets/admin-B9Oz5KrR.14ab2e54fa5b.js.br +0 -0
- codex/static_root/assets/admin-B9Oz5KrR.14ab2e54fa5b.js.gz +0 -0
- codex/static_root/assets/admin-B9Oz5KrR.js.br +0 -0
- codex/static_root/assets/admin-B9Oz5KrR.js.gz +0 -0
- codex/static_root/assets/admin-CfDzTfnG.ba240b5a4a40.js.br +0 -0
- codex/static_root/assets/admin-CfDzTfnG.ba240b5a4a40.js.gz +0 -0
- codex/static_root/assets/admin-CfDzTfnG.js.br +0 -0
- codex/static_root/assets/admin-CfDzTfnG.js.gz +0 -0
- codex/static_root/assets/admin-menu-BTCthv5r.f4c60585345c.js.br +0 -0
- codex/static_root/assets/admin-menu-BTCthv5r.f4c60585345c.js.gz +0 -0
- codex/static_root/assets/admin-menu-BTCthv5r.js.br +0 -0
- codex/static_root/assets/admin-menu-BTCthv5r.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-Byb3ZZbF.c38abf7a183e.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Byb3ZZbF.c38abf7a183e.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-Byb3ZZbF.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Byb3ZZbF.js.gz +0 -0
- codex/static_root/assets/browser-BbFRLvto.2ddc78dbd6d2.js.br +0 -0
- codex/static_root/assets/browser-BbFRLvto.2ddc78dbd6d2.js.gz +0 -0
- codex/static_root/assets/browser-BbFRLvto.js.br +0 -0
- codex/static_root/assets/browser-BbFRLvto.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DVgKRnnC.0cae12f0ba55.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DVgKRnnC.0cae12f0ba55.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DVgKRnnC.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DVgKRnnC.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CId2DpVz.7cc09b1259d5.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CId2DpVz.7cc09b1259d5.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CId2DpVz.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CId2DpVz.js.gz +0 -0
- codex/static_root/assets/datetime-column-80bdFW1G.8fecf1c8a4df.js.br +0 -0
- codex/static_root/assets/datetime-column-80bdFW1G.8fecf1c8a4df.js.gz +0 -0
- codex/static_root/assets/datetime-column-80bdFW1G.js.br +0 -0
- codex/static_root/assets/datetime-column-80bdFW1G.js.gz +0 -0
- codex/static_root/assets/filter-AqFs16gs.b81b28d3b1cd.js.br +0 -0
- codex/static_root/assets/filter-AqFs16gs.b81b28d3b1cd.js.gz +0 -0
- codex/static_root/assets/filter-AqFs16gs.js.br +0 -0
- codex/static_root/assets/filter-AqFs16gs.js.gz +0 -0
- codex/static_root/assets/flag-tab--riWEaDz.600d45990e7e.js.br +0 -0
- codex/static_root/assets/flag-tab--riWEaDz.600d45990e7e.js.gz +0 -0
- codex/static_root/assets/flag-tab--riWEaDz.js.br +0 -0
- codex/static_root/assets/flag-tab--riWEaDz.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Cnj0FOMT.41a81fb0cd94.js +0 -1
- codex/static_root/assets/forwardRefs-Cnj0FOMT.41a81fb0cd94.js.br +0 -0
- codex/static_root/assets/forwardRefs-Cnj0FOMT.41a81fb0cd94.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Cnj0FOMT.js +0 -1
- codex/static_root/assets/forwardRefs-Cnj0FOMT.js.br +0 -0
- codex/static_root/assets/forwardRefs-Cnj0FOMT.js.gz +0 -0
- codex/static_root/assets/group-tab-DW2cxPzu.c484f88ea5aa.js.br +0 -0
- codex/static_root/assets/group-tab-DW2cxPzu.c484f88ea5aa.js.gz +0 -0
- codex/static_root/assets/group-tab-DW2cxPzu.js.br +0 -0
- codex/static_root/assets/group-tab-DW2cxPzu.js.gz +0 -0
- codex/static_root/assets/http-error--HzaZjdl.a51e63e5e831.js.br +0 -0
- codex/static_root/assets/http-error--HzaZjdl.a51e63e5e831.js.gz +0 -0
- codex/static_root/assets/http-error--HzaZjdl.js.br +0 -0
- codex/static_root/assets/http-error--HzaZjdl.js.gz +0 -0
- codex/static_root/assets/index-DkPXJI21.0d7b8f8cf7be.js.br +0 -0
- codex/static_root/assets/index-DkPXJI21.0d7b8f8cf7be.js.gz +0 -0
- codex/static_root/assets/index-DkPXJI21.js.br +0 -0
- codex/static_root/assets/index-DkPXJI21.js.gz +0 -0
- codex/static_root/assets/library-tab-BwPXDL63.dc7f661f7bc7.js.br +0 -0
- codex/static_root/assets/library-tab-BwPXDL63.dc7f661f7bc7.js.gz +0 -0
- codex/static_root/assets/library-tab-BwPXDL63.js.br +0 -0
- codex/static_root/assets/library-tab-BwPXDL63.js.gz +0 -0
- codex/static_root/assets/main-DXiGoFcV.5a499dbcbbfe.js.br +0 -0
- codex/static_root/assets/main-DXiGoFcV.5a499dbcbbfe.js.gz +0 -0
- codex/static_root/assets/main-DXiGoFcV.js.br +0 -0
- codex/static_root/assets/main-DXiGoFcV.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.4b0b03e1ad3e.js +0 -1
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.4b0b03e1ad3e.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.4b0b03e1ad3e.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.js +0 -1
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-5UMeIJSd.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-gxf2sShG.4c0846bf3224.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-gxf2sShG.4c0846bf3224.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-gxf2sShG.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-gxf2sShG.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BKIb3c50.71a27ab500e3.js.br +0 -0
- codex/static_root/assets/pdf-doc-BKIb3c50.71a27ab500e3.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BKIb3c50.js.br +0 -0
- codex/static_root/assets/pdf-doc-BKIb3c50.js.gz +0 -0
- codex/static_root/assets/reader-DN0gXesY.a8decf766e54.js.br +0 -0
- codex/static_root/assets/reader-DN0gXesY.a8decf766e54.js.gz +0 -0
- codex/static_root/assets/reader-DN0gXesY.js.br +0 -0
- codex/static_root/assets/reader-DN0gXesY.js.gz +0 -0
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.5d94bc55409f.js +0 -1
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.5d94bc55409f.js.br +0 -0
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.5d94bc55409f.js.gz +0 -0
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.js +0 -1
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.js.br +0 -0
- codex/static_root/assets/relation-chips-Cu4Ch_yZ.js.gz +0 -0
- codex/static_root/assets/settings-drawer-BBM7vyXE.b3a49d6d6f4c.js.br +0 -0
- codex/static_root/assets/settings-drawer-BBM7vyXE.b3a49d6d6f4c.js.gz +0 -0
- codex/static_root/assets/settings-drawer-BBM7vyXE.js.br +0 -0
- codex/static_root/assets/settings-drawer-BBM7vyXE.js.gz +0 -0
- codex/static_root/assets/ssrBoot-Bz995UNv.88843c6b5c94.js.br +0 -0
- codex/static_root/assets/ssrBoot-Bz995UNv.88843c6b5c94.js.gz +0 -0
- codex/static_root/assets/ssrBoot-Bz995UNv.js.br +0 -0
- codex/static_root/assets/ssrBoot-Bz995UNv.js.gz +0 -0
- codex/static_root/assets/stats-tab-D0ysKA-O.22ade1f1c862.js.br +0 -0
- codex/static_root/assets/stats-tab-D0ysKA-O.22ade1f1c862.js.gz +0 -0
- codex/static_root/assets/stats-tab-D0ysKA-O.js.br +0 -0
- codex/static_root/assets/stats-tab-D0ysKA-O.js.gz +0 -0
- codex/static_root/assets/task-tab-K3T_nwIk.1189081e1886.js.br +0 -0
- codex/static_root/assets/task-tab-K3T_nwIk.1189081e1886.js.gz +0 -0
- codex/static_root/assets/task-tab-K3T_nwIk.js.br +0 -0
- codex/static_root/assets/task-tab-K3T_nwIk.js.gz +0 -0
- codex/static_root/assets/unauthorized-C9hDLcp6.6397ed699c7c.js.br +0 -0
- codex/static_root/assets/unauthorized-C9hDLcp6.6397ed699c7c.js.gz +0 -0
- codex/static_root/assets/unauthorized-C9hDLcp6.js.br +0 -0
- codex/static_root/assets/unauthorized-C9hDLcp6.js.gz +0 -0
- codex/static_root/assets/user-tab-DpQuTwTk.c3b440ac6074.js.br +0 -0
- codex/static_root/assets/user-tab-DpQuTwTk.c3b440ac6074.js.gz +0 -0
- codex/static_root/assets/user-tab-DpQuTwTk.js.br +0 -0
- codex/static_root/assets/user-tab-DpQuTwTk.js.gz +0 -0
- codex/static_root/manifest.b16c282e2ba4.json.br +0 -0
- codex/static_root/manifest.b16c282e2ba4.json.gz +0 -0
- {codex-1.8.0a7.dist-info → codex-1.8.0a9.dist-info}/WHEEL +0 -0
- {codex-1.8.0a7.dist-info → codex-1.8.0a9.dist-info}/entry_points.txt +0 -0
- {codex-1.8.0a7.dist-info → codex-1.8.0a9.dist-info}/licenses/LICENSE +0 -0
codex/librarian/covers/tasks.py
CHANGED
|
@@ -51,7 +51,7 @@ class CreateForeignKeyLinksImporter(LinkComicsImporter):
|
|
|
51
51
|
self, md, subkey: int | str, link_fks: dict[str, tuple]
|
|
52
52
|
):
|
|
53
53
|
for field_name in tuple(link_fks.keys()):
|
|
54
|
-
model: type[BaseModel] = Comic._meta.get_field(field_name).related_model # pyright: ignore[reportAssignmentType]
|
|
54
|
+
model: type[BaseModel] = Comic._meta.get_field(field_name).related_model # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]│
|
|
55
55
|
key_rels = GROUP_KEY_RELS.get(model, DEFAULT_KEY_RELS)
|
|
56
56
|
values = link_fks.pop(field_name)
|
|
57
57
|
filter_dict = dict(zip(key_rels, values, strict=True))
|
|
@@ -66,7 +66,7 @@ class LinkImporterDelete(LinkComicsImporterPrepare):
|
|
|
66
66
|
return total_field_count
|
|
67
67
|
status.subtitle = f"Delete stale {field_name} links"
|
|
68
68
|
self.status_controller.update(status)
|
|
69
|
-
field: ManyToManyField = Comic._meta.get_field(field_name) # pyright:ignore[reportAssignmentType]
|
|
69
|
+
field: ManyToManyField = Comic._meta.get_field(field_name) # pyright:ignore[reportAssignmentType], # ty: ignore[invalid-assignment]│
|
|
70
70
|
related_model = field.related_model
|
|
71
71
|
table_name = related_model._meta.db_table
|
|
72
72
|
column_name = table_name.removeprefix("codex_") + "_id"
|
|
@@ -29,7 +29,7 @@ class LinkManyToManyImporter(LinkSumImporter):
|
|
|
29
29
|
"""
|
|
30
30
|
status.subtitle = field_name
|
|
31
31
|
self.status_controller.update(status)
|
|
32
|
-
field: ManyToManyField = Comic._meta.get_field(field_name) # pyright: ignore[reportAssignmentType]
|
|
32
|
+
field: ManyToManyField = Comic._meta.get_field(field_name) # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]│
|
|
33
33
|
through_model = self.get_through_model(field)
|
|
34
34
|
through_field_id_name = field.related_model.__name__.lower() + "_id"
|
|
35
35
|
|
|
@@ -68,7 +68,7 @@ class LinkComicsImporterPrepare(LinkCoversImporter):
|
|
|
68
68
|
if not values:
|
|
69
69
|
return
|
|
70
70
|
self._add_complex_link_to_fts(comic_pk, field_name, values)
|
|
71
|
-
model: type[BaseModel] = Comic._meta.get_field(field_name).related_model # pyright: ignore[reportAssignmentType]
|
|
71
|
+
model: type[BaseModel] = Comic._meta.get_field(field_name).related_model # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]│
|
|
72
72
|
m2m_filter = link_filter_method(field_name, values)
|
|
73
73
|
pks = model.objects.filter(m2m_filter).values_list("pk", flat=True).distinct()
|
|
74
74
|
if result := tuple(pks):
|
|
@@ -27,8 +27,8 @@ class QueryForeignKeysQueryImporter(QueryIsUpdateImporter):
|
|
|
27
27
|
"""Query the missing foreign keys methods."""
|
|
28
28
|
|
|
29
29
|
def query_existing_mds(self, model: type[BaseModel], batch_proposed_key_tuples):
|
|
30
|
-
"""Query existing
|
|
31
|
-
key_rels: tuple[str, ...] = MODEL_REL_MAP[model][0] # pyright:ignore[reportAssignmentType]
|
|
30
|
+
"""Query existing metadata tables."""
|
|
31
|
+
key_rels: tuple[str, ...] = MODEL_REL_MAP[model][0] # pyright:ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
32
32
|
fk_filter = self.query_missing_model_filter(
|
|
33
33
|
model,
|
|
34
34
|
key_rels,
|
|
@@ -5,7 +5,7 @@ from codex.librarian.scribe.importer.const import (
|
|
|
5
5
|
CREATE_COMICS,
|
|
6
6
|
UPDATE_COMICS,
|
|
7
7
|
)
|
|
8
|
-
from codex.librarian.scribe.importer.query.
|
|
8
|
+
from codex.librarian.scribe.importer.query.foreign_keys import (
|
|
9
9
|
QueryForeignKeysQueryImporter,
|
|
10
10
|
)
|
|
11
11
|
from codex.librarian.scribe.importer.statii.create import (
|
|
@@ -125,7 +125,7 @@ class AggregateForeignKeyMetadataImporter(QueryForeignKeysImporter):
|
|
|
125
125
|
for field_name, related_field in COMIC_FK_FIELD_NAMES_FIELD_MAP.items():
|
|
126
126
|
# No identifiers on many2one fks yet
|
|
127
127
|
# md_key = FIELD_NAME_TO_MD_KEY_MAP.get(field_name, field_name) if they ever diverge
|
|
128
|
-
model: type[BaseModel] = related_field.model # pyright: ignore[reportAssignmentType]
|
|
128
|
+
model: type[BaseModel] = related_field.model # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
129
129
|
md_key = field_name
|
|
130
130
|
value = md.pop(md_key, None)
|
|
131
131
|
if value is None and not issubclass(model, BrowserGroupModel):
|
|
@@ -53,7 +53,7 @@ class AggregateManyToManyMetadataImporter(AggregateForeignKeyMetadataImporter):
|
|
|
53
53
|
|
|
54
54
|
if sub_sub_md_key == IDENTIFIERS_KEY and sub_sub_value:
|
|
55
55
|
field = Comic._meta.get_field(field_name)
|
|
56
|
-
model: type[BaseModel] = field.related_model # pyright: ignore[reportAssignmentType]
|
|
56
|
+
model: type[BaseModel] = field.related_model # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
57
57
|
clean_sub_sub_values = self.get_identifier_tuple(model, sub_sub_value)
|
|
58
58
|
elif sub_sub_md_key == ROLES_KEY and sub_sub_value:
|
|
59
59
|
clean_sub_sub_values = set()
|
|
@@ -107,7 +107,7 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
|
|
|
107
107
|
obj_list: list[ComicFTS],
|
|
108
108
|
status: Status,
|
|
109
109
|
):
|
|
110
|
-
comic_id = comicfts.comic_id # pyright:ignore[reportAttributeAccessIssue]
|
|
110
|
+
comic_id = comicfts.comic_id # pyright:ignore[reportAttributeAccessIssue], # ty: ignore[unresolved-attribute]
|
|
111
111
|
entry = self.metadata[FTS_UPDATE].pop(comic_id)
|
|
112
112
|
self._create_comicfts_entry_m2ms(comic_id, entry)
|
|
113
113
|
for field_name in entry:
|
|
@@ -84,7 +84,7 @@ def _create_reverse_rel_map():
|
|
|
84
84
|
if not field.auto_created:
|
|
85
85
|
continue
|
|
86
86
|
if hasattr(field, "get_accessor_name") and (
|
|
87
|
-
an := field.get_accessor_name() # pyright: ignore[reportAttributeAccessIssue]
|
|
87
|
+
an := field.get_accessor_name() # pyright: ignore[reportAttributeAccessIssue], # ty: ignore[call-non-callable]
|
|
88
88
|
):
|
|
89
89
|
rel = an
|
|
90
90
|
elif field.name:
|
|
@@ -85,6 +85,7 @@ def _get_model(table_name) -> type[BaseModel]:
|
|
|
85
85
|
from_rel_model_name, to_rel_model_name = model_name.split("_", 1)
|
|
86
86
|
except ValueError:
|
|
87
87
|
from_rel_model_name = to_rel_model_name = ""
|
|
88
|
+
model: type[BaseModel]
|
|
88
89
|
if from_rel_model_name in ("comic", "library"):
|
|
89
90
|
# Use the from model to create an m2m through model because I don't know a simpler way.
|
|
90
91
|
from_model = app_config.get_model(from_rel_model_name)
|
|
@@ -93,8 +94,8 @@ def _get_model(table_name) -> type[BaseModel]:
|
|
|
93
94
|
else:
|
|
94
95
|
# Not an m2m through model.
|
|
95
96
|
model_name = model_name.replace("_", "")
|
|
96
|
-
model = app_config.get_model(model_name)
|
|
97
|
-
return model
|
|
97
|
+
model = app_config.get_model(model_name) # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
98
|
+
return model
|
|
98
99
|
|
|
99
100
|
|
|
100
101
|
def _null_bad_fk_rels_table(table_name, bad_rows, log):
|
|
@@ -185,7 +186,7 @@ def _mark_comics_for_update(fix_comic_pks, log):
|
|
|
185
186
|
"""Mark comics with altered foreign keys for update."""
|
|
186
187
|
if not fix_comic_pks:
|
|
187
188
|
return
|
|
188
|
-
comic_model: type[Comic] = apps.get_model(app_label="codex", model_name="comic") # pyright: ignore[reportAssignmentType]
|
|
189
|
+
comic_model: type[Comic] = apps.get_model(app_label="codex", model_name="comic") # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
189
190
|
outdated_comics: BaseManager[Comic] = comic_model.objects.filter(
|
|
190
191
|
pk__in=fix_comic_pks
|
|
191
192
|
).only( # type: ignore[reportAssignmentType]
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"""Priority for Scribe tasks in the PriorityQueue."""
|
|
2
2
|
|
|
3
|
+
from datetime import datetime, timezone
|
|
4
|
+
|
|
3
5
|
from codex.librarian.scribe.importer.tasks import (
|
|
4
6
|
ImportTask,
|
|
5
7
|
)
|
|
@@ -60,6 +62,8 @@ _SCRIBE_TASK_PRIORITY = (
|
|
|
60
62
|
)
|
|
61
63
|
|
|
62
64
|
|
|
63
|
-
def get_task_priority(task: ScribeTask):
|
|
65
|
+
def get_task_priority(task: ScribeTask) -> tuple[int, float]:
|
|
64
66
|
"""Get task priority by index."""
|
|
65
|
-
|
|
67
|
+
now = datetime.now(tz=timezone.utc).timestamp()
|
|
68
|
+
priority = _SCRIBE_TASK_PRIORITY.index(type(task))
|
|
69
|
+
return priority, now
|
codex/librarian/scribe/tasks.py
CHANGED
|
@@ -158,7 +158,9 @@ class StatusController:
|
|
|
158
158
|
for key, value in updates.items():
|
|
159
159
|
setattr(ls, key, value)
|
|
160
160
|
update_ls.append(ls)
|
|
161
|
-
|
|
161
|
+
status = positive_statii[ls.status_type]
|
|
162
|
+
if isinstance(status, Status):
|
|
163
|
+
log_statii.append(status)
|
|
162
164
|
return update_ls, log_statii
|
|
163
165
|
|
|
164
166
|
def finish_many(
|
|
@@ -163,7 +163,7 @@ class WatchdogEventBatcherThread(AggregateMessageQueuedThread):
|
|
|
163
163
|
args = self.cache.pop(library_id)
|
|
164
164
|
self._subtract_args_items(args)
|
|
165
165
|
self.deduplicate_events(args)
|
|
166
|
-
return ImportTask(**args)
|
|
166
|
+
return ImportTask(**args) # ty: ignore[missing-argument]
|
|
167
167
|
|
|
168
168
|
def _send_import_task(self, library_id: int):
|
|
169
169
|
task = self._create_task(library_id)
|
|
@@ -49,7 +49,7 @@ class CodexEventHandlerBase(WorkerMixin, FileSystemEventHandler, ABC):
|
|
|
49
49
|
|
|
50
50
|
@staticmethod
|
|
51
51
|
def _match_image_suffix(path: Path) -> bool:
|
|
52
|
-
return
|
|
52
|
+
return bool(path and path.suffix[1:] in _IMAGE_EXTS)
|
|
53
53
|
|
|
54
54
|
@classmethod
|
|
55
55
|
@abstractmethod
|
|
@@ -138,7 +138,7 @@ class UatuObserver(WorkerMixin, BaseObserver):
|
|
|
138
138
|
event_handler, path, event_filter=list(POLLING_EVENT_FILTER), **kwargs
|
|
139
139
|
)
|
|
140
140
|
with self._lock:
|
|
141
|
-
watch = ObservedWatch(path, event_filter=list(EVENT_FILTER), **kwargs)
|
|
141
|
+
watch = ObservedWatch(path, event_filter=list(EVENT_FILTER), **kwargs) # ty: ignore[missing-argument]
|
|
142
142
|
self._add_handler_for_watch(event_handler, watch)
|
|
143
143
|
if self._emitter_for_watch.get(watch) is None:
|
|
144
144
|
self._add_emitter_for_watch(event_handler, watch)
|
|
@@ -156,7 +156,7 @@ class UatuObserver(WorkerMixin, BaseObserver):
|
|
|
156
156
|
# Emitter is my own DatabasePollingEmitter.
|
|
157
157
|
|
|
158
158
|
|
|
159
|
-
class LibraryEventObserver(UatuObserver, Observer): # pyright: ignore[reportGeneralTypeIssues, reportUntypedBaseClass]
|
|
159
|
+
class LibraryEventObserver(UatuObserver, Observer): # pyright: ignore[reportGeneralTypeIssues, reportUntypedBaseClass], # ty: ignore[invalid-base]
|
|
160
160
|
"""Regular observer."""
|
|
161
161
|
|
|
162
162
|
# Observer is a dynamically generated class by platform at runtime.
|
codex/models/admin.py
CHANGED
|
@@ -51,7 +51,7 @@ class LibrarianStatus(BaseModel):
|
|
|
51
51
|
status_type = CharField(
|
|
52
52
|
db_index=True,
|
|
53
53
|
max_length=max_choices_len(CHOICES),
|
|
54
|
-
choices=CHOICES.choices,
|
|
54
|
+
choices=CHOICES.choices, # ty: ignore[unresolved-attribute]
|
|
55
55
|
)
|
|
56
56
|
subtitle = CharField(db_index=True, max_length=MAX_NAME_LEN)
|
|
57
57
|
complete = PositiveSmallIntegerField(null=True, default=None)
|
codex/serializers/admin/tasks.py
CHANGED
|
@@ -10,7 +10,7 @@ from codex.choices.admin import ADMIN_TASK_GROUPS
|
|
|
10
10
|
|
|
11
11
|
_ADMIN_TASK_CHOICES = tuple(
|
|
12
12
|
sorted(
|
|
13
|
-
item["value"] # pyright: ignore[reportArgumentType]
|
|
13
|
+
item["value"] # pyright: ignore[reportArgumentType], #ty: ignore[call-non-callable]
|
|
14
14
|
for group in ADMIN_TASK_GROUPS["tasks"]
|
|
15
15
|
for item in group["tasks"]
|
|
16
16
|
)
|
|
@@ -148,7 +148,7 @@ class BrowserChoicesFilterSerializer(Serializer):
|
|
|
148
148
|
value = serializer_class(choices, many=True).data
|
|
149
149
|
elif not serializer_class and field_name in _LIST_FIELDS:
|
|
150
150
|
field = BrowserSettingsFilterSerializer().get_fields().get(field_name)
|
|
151
|
-
value = field.to_representation(choices) # pyright: ignore[reportOptionalMemberAccess]
|
|
151
|
+
value = field.to_representation(choices) # pyright: ignore[reportOptionalMemberAccess], #ty: ignore[possibly-unbound-attribute]
|
|
152
152
|
else:
|
|
153
153
|
value = BrowserChoicesIntegerPkSerializer(choices, many=True).data
|
|
154
154
|
return value
|
codex/startup/__init__.py
CHANGED
|
@@ -71,9 +71,9 @@ def init_timestamps():
|
|
|
71
71
|
|
|
72
72
|
def init_librarian_statuses():
|
|
73
73
|
"""Init librarian statuses."""
|
|
74
|
-
_delete_orphans(LibrarianStatus, "status_type", LibrarianStatus.CHOICES.values)
|
|
74
|
+
_delete_orphans(LibrarianStatus, "status_type", LibrarianStatus.CHOICES.values) # ty: ignore[possibly-unbound-attribute]
|
|
75
75
|
|
|
76
|
-
for status_type, title in LibrarianStatus.CHOICES.choices:
|
|
76
|
+
for status_type, title in LibrarianStatus.CHOICES.choices: # ty: ignore[possibly-unbound-attribute]
|
|
77
77
|
_, created = LibrarianStatus.objects.update_or_create(
|
|
78
78
|
defaults=STATUS_DEFAULTS, status_type=status_type
|
|
79
79
|
)
|
codex/static_root/assets/{VCheckbox-DWxWEepo.1acd2cc6d629.js → VCheckbox-DJagUpbb.6a84695184fd.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as I,V as r}from"./VCheckboxBtn-
|
|
1
|
+
import{m as I,V as r}from"./VCheckboxBtn-D0e96Bwj.js";import{u as A,m as F,g as u}from"./VSelectionControl-DdY-OLpS.js";import{f as R}from"./forwardRefs-BVVeyGTq.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-CDIGwmNp.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as I,V as r}from"./VCheckboxBtn-
|
|
1
|
+
import{m as I,V as r}from"./VCheckboxBtn-D0e96Bwj.js";import{u as A,m as F,g as u}from"./VSelectionControl-DdY-OLpS.js";import{f as R}from"./forwardRefs-BVVeyGTq.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-CDIGwmNp.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as f,k as a}from"./VSelectionControl-
|
|
1
|
+
import{l as f,k as a}from"./VSelectionControl-DdY-OLpS.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-CDIGwmNp.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as f,k as a}from"./VSelectionControl-
|
|
1
|
+
import{l as f,k as a}from"./VSelectionControl-DdY-OLpS.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-CDIGwmNp.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{VCombobox-B4BO1uO9.eba6114f3e21.js → VCombobox-BN4qTcjm.dfec3a85dcb3.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-
|
|
1
|
+
import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-eWzjJ77Z.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-DdY-OLpS.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-BVVeyGTq.js";import{u as Te,m as Me,h as _e}from"./filter-wPypfYV3.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-CDIGwmNp.js";import{a as X,g as Qe}from"./VDialog-C-WVEJzZ.js";import{a as Xe}from"./VDivider-Bauncah3.js";import{V as Ye}from"./VCheckboxBtn-D0e96Bwj.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-
|
|
1
|
+
import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-eWzjJ77Z.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-DdY-OLpS.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-BVVeyGTq.js";import{u as Te,m as Me,h as _e}from"./filter-wPypfYV3.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-CDIGwmNp.js";import{a as X,g as Qe}from"./VDialog-C-WVEJzZ.js";import{a as Xe}from"./VDivider-Bauncah3.js";import{V as Ye}from"./VCheckboxBtn-D0e96Bwj.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};
|
|
Binary file
|
|
Binary file
|