codex 1.8.0a3__py3-none-any.whl → 1.8.0a5__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/scribe/importer/failed/query.py +9 -6
- codex/librarian/scribe/importer/search/update.py +37 -22
- codex/librarian/status_controller.py +27 -18
- codex/librarian/watchdog/const.py +19 -24
- codex/librarian/watchdog/emitter.py +2 -4
- codex/librarian/watchdog/observers.py +7 -5
- codex/static_root/assets/{VCheckbox-DOvv8UEO.e3653c1670c8.js → VCheckbox-DHvC7hbe.ae1c7324ade6.js} +1 -1
- codex/static_root/assets/VCheckbox-DHvC7hbe.ae1c7324ade6.js.br +0 -0
- codex/static_root/assets/VCheckbox-DHvC7hbe.ae1c7324ade6.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-DOvv8UEO.js → VCheckbox-DHvC7hbe.js} +1 -1
- codex/static_root/assets/VCheckbox-DHvC7hbe.js.br +0 -0
- codex/static_root/assets/VCheckbox-DHvC7hbe.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BeZZDumo.59731a32657e.js → VCheckboxBtn-XxL4O9xH.c4b67c18e0e1.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-XxL4O9xH.c4b67c18e0e1.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-XxL4O9xH.c4b67c18e0e1.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BeZZDumo.js → VCheckboxBtn-XxL4O9xH.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-XxL4O9xH.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-XxL4O9xH.js.gz +0 -0
- codex/static_root/assets/{VCombobox-BRJRW2px.369544360b22.js → VCombobox-BoW8Kh-e.61327b5e10bb.js} +1 -1
- codex/static_root/assets/VCombobox-BoW8Kh-e.61327b5e10bb.js.br +0 -0
- codex/static_root/assets/VCombobox-BoW8Kh-e.61327b5e10bb.js.gz +0 -0
- codex/static_root/assets/{VCombobox-BRJRW2px.js → VCombobox-BoW8Kh-e.js} +1 -1
- codex/static_root/assets/VCombobox-BoW8Kh-e.js.br +0 -0
- codex/static_root/assets/VCombobox-BoW8Kh-e.js.gz +0 -0
- codex/static_root/assets/{VDialog-D_vkvatj.83e078fa850c.js → VDialog-CV7DVOv7.e2c75b479fa7.js} +1 -1
- codex/static_root/assets/VDialog-CV7DVOv7.e2c75b479fa7.js.br +0 -0
- codex/static_root/assets/VDialog-CV7DVOv7.e2c75b479fa7.js.gz +0 -0
- codex/static_root/assets/{VDialog-D_vkvatj.js → VDialog-CV7DVOv7.js} +1 -1
- codex/static_root/assets/VDialog-CV7DVOv7.js.br +0 -0
- codex/static_root/assets/VDialog-CV7DVOv7.js.gz +0 -0
- codex/static_root/assets/{VDivider-BH2Oj58Z.83d2c907faff.js → VDivider-CxU3qElH.7d7459402b56.js} +1 -1
- codex/static_root/assets/VDivider-CxU3qElH.7d7459402b56.js.br +0 -0
- codex/static_root/assets/VDivider-CxU3qElH.7d7459402b56.js.gz +0 -0
- codex/static_root/assets/{VDivider-BH2Oj58Z.js → VDivider-CxU3qElH.js} +1 -1
- codex/static_root/assets/VDivider-CxU3qElH.js.br +0 -0
- codex/static_root/assets/VDivider-CxU3qElH.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Ccv4gBFD.ed063db2e518.js → VExpansionPanels-CgFdhG6Q.f2796b0282af.js} +1 -1
- codex/static_root/assets/VExpansionPanels-CgFdhG6Q.f2796b0282af.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-CgFdhG6Q.f2796b0282af.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Ccv4gBFD.js → VExpansionPanels-CgFdhG6Q.js} +1 -1
- codex/static_root/assets/VExpansionPanels-CgFdhG6Q.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-CgFdhG6Q.js.gz +0 -0
- codex/static_root/assets/{VForm-S5eiHGJ0.d304a07dc6d1.js → VForm-B1WsME-Z.0b9ccc230eb2.js} +1 -1
- codex/static_root/assets/VForm-B1WsME-Z.0b9ccc230eb2.js.br +0 -0
- codex/static_root/assets/VForm-B1WsME-Z.0b9ccc230eb2.js.gz +0 -0
- codex/static_root/assets/{VForm-S5eiHGJ0.js → VForm-B1WsME-Z.js} +1 -1
- codex/static_root/assets/VForm-B1WsME-Z.js.br +0 -0
- codex/static_root/assets/VForm-B1WsME-Z.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-CyCYk3Z_.4309dbf0173c.js → VRadioGroup-DCUx7y6C.2861fec6e6a0.js} +1 -1
- codex/static_root/assets/VRadioGroup-DCUx7y6C.2861fec6e6a0.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DCUx7y6C.2861fec6e6a0.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-CyCYk3Z_.js → VRadioGroup-DCUx7y6C.js} +1 -1
- codex/static_root/assets/VRadioGroup-DCUx7y6C.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DCUx7y6C.js.gz +0 -0
- codex/static_root/assets/{VSelect-BOhtkCV1.057479737b7f.js → VSelect-YxNTFJrP.116693188362.js} +1 -1
- codex/static_root/assets/VSelect-YxNTFJrP.116693188362.js.br +0 -0
- codex/static_root/assets/VSelect-YxNTFJrP.116693188362.js.gz +0 -0
- codex/static_root/assets/{VSelect-BOhtkCV1.js → VSelect-YxNTFJrP.js} +1 -1
- codex/static_root/assets/VSelect-YxNTFJrP.js.br +0 -0
- codex/static_root/assets/VSelect-YxNTFJrP.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-CmXEFw20.js → VSelectionControl-BPA0ic7g.aada6ce833dd.js} +1 -1
- codex/static_root/assets/VSelectionControl-BPA0ic7g.aada6ce833dd.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BPA0ic7g.aada6ce833dd.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-CmXEFw20.e256f0d0f97d.js → VSelectionControl-BPA0ic7g.js} +1 -1
- codex/static_root/assets/VSelectionControl-BPA0ic7g.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BPA0ic7g.js.gz +0 -0
- codex/static_root/assets/{VTable-BDxzw_rH.24ce227e6076.js → VTable-D4BwHtFv.d29fe7c35b22.js} +1 -1
- codex/static_root/assets/VTable-D4BwHtFv.d29fe7c35b22.js.br +0 -0
- codex/static_root/assets/VTable-D4BwHtFv.d29fe7c35b22.js.gz +0 -0
- codex/static_root/assets/{VTable-BDxzw_rH.js → VTable-D4BwHtFv.js} +1 -1
- codex/static_root/assets/VTable-D4BwHtFv.js.br +0 -0
- codex/static_root/assets/VTable-D4BwHtFv.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-CuDwxsEy.4d68002250ae.js → VWindowItem-C3z65uZs.591bc6af76fb.js} +1 -1
- codex/static_root/assets/VWindowItem-C3z65uZs.591bc6af76fb.js.br +0 -0
- codex/static_root/assets/VWindowItem-C3z65uZs.591bc6af76fb.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-CuDwxsEy.js → VWindowItem-C3z65uZs.js} +1 -1
- codex/static_root/assets/VWindowItem-C3z65uZs.js.br +0 -0
- codex/static_root/assets/VWindowItem-C3z65uZs.js.gz +0 -0
- codex/static_root/assets/{admin-U3AawSbo.f171316d0a93.js → admin-CM0Xppii.03ac876567b2.js} +1 -1
- codex/static_root/assets/admin-CM0Xppii.03ac876567b2.js.br +0 -0
- codex/static_root/assets/admin-CM0Xppii.03ac876567b2.js.gz +0 -0
- codex/static_root/assets/{admin-U3AawSbo.js → admin-CM0Xppii.js} +1 -1
- codex/static_root/assets/admin-CM0Xppii.js.br +0 -0
- codex/static_root/assets/admin-CM0Xppii.js.gz +0 -0
- codex/static_root/assets/{admin-BZQmoFts.d8e6303f8aee.js → admin-CsBVaS4j.a0e6a9def7ad.js} +1 -1
- codex/static_root/assets/admin-CsBVaS4j.a0e6a9def7ad.js.br +0 -0
- codex/static_root/assets/admin-CsBVaS4j.a0e6a9def7ad.js.gz +0 -0
- codex/static_root/assets/{admin-BZQmoFts.js → admin-CsBVaS4j.js} +1 -1
- codex/static_root/assets/admin-CsBVaS4j.js.br +0 -0
- codex/static_root/assets/admin-CsBVaS4j.js.gz +0 -0
- codex/static_root/assets/{admin-menu-D9RDVBlr.3b62ee7a8b95.js → admin-menu-BUZuv4uS.8585e0c0a6c8.js} +1 -1
- codex/static_root/assets/admin-menu-BUZuv4uS.8585e0c0a6c8.js.br +0 -0
- codex/static_root/assets/admin-menu-BUZuv4uS.8585e0c0a6c8.js.gz +0 -0
- codex/static_root/assets/{admin-menu-D9RDVBlr.js → admin-menu-BUZuv4uS.js} +1 -1
- codex/static_root/assets/admin-menu-BUZuv4uS.js.br +0 -0
- codex/static_root/assets/admin-menu-BUZuv4uS.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js → admin-settings-button-progress-Dipo0PP7.19669d20dfd7.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-Dipo0PP7.19669d20dfd7.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Dipo0PP7.19669d20dfd7.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-DwWq9uM1.js → admin-settings-button-progress-Dipo0PP7.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-Dipo0PP7.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Dipo0PP7.js.gz +0 -0
- codex/static_root/assets/{browser-DFM_JsAK.js → browser-DzCKEw2G.98046b4d4872.js} +1 -1
- codex/static_root/assets/browser-DzCKEw2G.98046b4d4872.js.br +0 -0
- codex/static_root/assets/browser-DzCKEw2G.98046b4d4872.js.gz +0 -0
- codex/static_root/assets/{browser-DFM_JsAK.bffd4eb259d8.js → browser-DzCKEw2G.js} +1 -1
- codex/static_root/assets/browser-DzCKEw2G.js.br +0 -0
- codex/static_root/assets/browser-DzCKEw2G.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-yLNkzMp9.50da9f352709.js → change-password-dialog-D1OeFEUC.8138235c049a.js} +1 -1
- codex/static_root/assets/change-password-dialog-D1OeFEUC.8138235c049a.js.br +0 -0
- codex/static_root/assets/change-password-dialog-D1OeFEUC.8138235c049a.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-yLNkzMp9.js → change-password-dialog-D1OeFEUC.js} +1 -1
- codex/static_root/assets/change-password-dialog-D1OeFEUC.js.br +0 -0
- codex/static_root/assets/change-password-dialog-D1OeFEUC.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-q6RAb_qs.120460c84883.js → confirm-dialog-D5lYr159.67ad41df0568.js} +1 -1
- codex/static_root/assets/confirm-dialog-D5lYr159.67ad41df0568.js.br +0 -0
- codex/static_root/assets/confirm-dialog-D5lYr159.67ad41df0568.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-q6RAb_qs.js → confirm-dialog-D5lYr159.js} +1 -1
- codex/static_root/assets/confirm-dialog-D5lYr159.js.br +0 -0
- codex/static_root/assets/confirm-dialog-D5lYr159.js.gz +0 -0
- codex/static_root/assets/{datetime-column-HJ5dvW99.ba0a30b3fc0d.js → datetime-column-BHJUFRH0.0c01c4f17587.js} +1 -1
- codex/static_root/assets/datetime-column-BHJUFRH0.0c01c4f17587.js.br +1 -0
- codex/static_root/assets/datetime-column-BHJUFRH0.0c01c4f17587.js.gz +0 -0
- codex/static_root/assets/{datetime-column-HJ5dvW99.js → datetime-column-BHJUFRH0.js} +1 -1
- codex/static_root/assets/datetime-column-BHJUFRH0.js.br +1 -0
- codex/static_root/assets/datetime-column-BHJUFRH0.js.gz +0 -0
- codex/static_root/assets/{filter-r_zFj-tS.161a85ef1860.js → filter-pdNpb8Ph.c143537d084e.js} +1 -1
- codex/static_root/assets/filter-pdNpb8Ph.c143537d084e.js.br +0 -0
- codex/static_root/assets/filter-pdNpb8Ph.c143537d084e.js.gz +0 -0
- codex/static_root/assets/{filter-r_zFj-tS.js → filter-pdNpb8Ph.js} +1 -1
- codex/static_root/assets/filter-pdNpb8Ph.js.br +0 -0
- codex/static_root/assets/filter-pdNpb8Ph.js.gz +0 -0
- codex/static_root/assets/{flag-tab-D0Z4uhsg.06e720e71319.js → flag-tab-BOoeWAvK.2084d7dcc301.js} +1 -1
- codex/static_root/assets/flag-tab-BOoeWAvK.2084d7dcc301.js.br +0 -0
- codex/static_root/assets/flag-tab-BOoeWAvK.2084d7dcc301.js.gz +0 -0
- codex/static_root/assets/{flag-tab-D0Z4uhsg.js → flag-tab-BOoeWAvK.js} +1 -1
- codex/static_root/assets/flag-tab-BOoeWAvK.js.br +0 -0
- codex/static_root/assets/flag-tab-BOoeWAvK.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-Nj5UEeg5.js → forwardRefs-B2I55_WJ.f0c1cbc4a0ab.js} +1 -1
- codex/static_root/assets/forwardRefs-B2I55_WJ.f0c1cbc4a0ab.js.br +0 -0
- codex/static_root/assets/forwardRefs-B2I55_WJ.f0c1cbc4a0ab.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-Nj5UEeg5.50a55d7d8b68.js → forwardRefs-B2I55_WJ.js} +1 -1
- codex/static_root/assets/forwardRefs-B2I55_WJ.js.br +0 -0
- codex/static_root/assets/forwardRefs-B2I55_WJ.js.gz +0 -0
- codex/static_root/assets/{group-tab-lamd9pcq.604a78bd4e4f.js → group-tab-w47I1rdn.7065986d5287.js} +1 -1
- codex/static_root/assets/group-tab-w47I1rdn.7065986d5287.js.br +0 -0
- codex/static_root/assets/group-tab-w47I1rdn.7065986d5287.js.gz +0 -0
- codex/static_root/assets/{group-tab-lamd9pcq.js → group-tab-w47I1rdn.js} +1 -1
- codex/static_root/assets/group-tab-w47I1rdn.js.br +0 -0
- codex/static_root/assets/group-tab-w47I1rdn.js.gz +0 -0
- codex/static_root/assets/{http-error-DRYA5ir1.46f4babacf15.js → http-error-BKtD5wqd.1725e1eecfc2.js} +1 -1
- codex/static_root/assets/http-error-BKtD5wqd.1725e1eecfc2.js.br +0 -0
- codex/static_root/assets/http-error-BKtD5wqd.1725e1eecfc2.js.gz +0 -0
- codex/static_root/assets/{http-error-DRYA5ir1.js → http-error-BKtD5wqd.js} +1 -1
- codex/static_root/assets/http-error-BKtD5wqd.js.br +0 -0
- codex/static_root/assets/http-error-BKtD5wqd.js.gz +0 -0
- codex/static_root/assets/{index-Cl7tPJIx.c0a239cf7069.js → index-B9Ib32Ec.1303654c1b5b.js} +1 -1
- codex/static_root/assets/index-B9Ib32Ec.1303654c1b5b.js.br +0 -0
- codex/static_root/assets/index-B9Ib32Ec.1303654c1b5b.js.gz +0 -0
- codex/static_root/assets/{index-Cl7tPJIx.js → index-B9Ib32Ec.js} +1 -1
- codex/static_root/assets/index-B9Ib32Ec.js.br +0 -0
- codex/static_root/assets/index-B9Ib32Ec.js.gz +0 -0
- codex/static_root/assets/{library-tab-2UucZZAW.f4541a086231.js → library-tab-C4AlOeXD.9f996b458b04.js} +1 -1
- codex/static_root/assets/library-tab-C4AlOeXD.9f996b458b04.js.br +0 -0
- codex/static_root/assets/library-tab-C4AlOeXD.9f996b458b04.js.gz +0 -0
- codex/static_root/assets/{library-tab-2UucZZAW.js → library-tab-C4AlOeXD.js} +1 -1
- codex/static_root/assets/library-tab-C4AlOeXD.js.br +0 -0
- codex/static_root/assets/library-tab-C4AlOeXD.js.gz +0 -0
- codex/static_root/assets/{main-BX4TjIpG.dc79406e2a7b.js → main-X1Z4xIQI.5df58dac13fa.js} +3 -3
- codex/static_root/assets/main-X1Z4xIQI.5df58dac13fa.js.br +0 -0
- codex/static_root/assets/main-X1Z4xIQI.5df58dac13fa.js.gz +0 -0
- codex/static_root/assets/{main-BX4TjIpG.js → main-X1Z4xIQI.js} +3 -3
- codex/static_root/assets/main-X1Z4xIQI.js.br +0 -0
- codex/static_root/assets/main-X1Z4xIQI.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.d1f77c3c239d.js +1 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.d1f77c3c239d.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.d1f77c3c239d.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.js +1 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CqLbumDX.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-48pwYEe_.892375c5aa51.js → pagination-toolbar-BadizPsz.20a820cc43d5.js} +1 -1
- codex/static_root/assets/pagination-toolbar-BadizPsz.20a820cc43d5.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-BadizPsz.20a820cc43d5.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-48pwYEe_.js → pagination-toolbar-BadizPsz.js} +1 -1
- codex/static_root/assets/pagination-toolbar-BadizPsz.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-BadizPsz.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-GyrCvyP5.54b26ba8d93c.js → pdf-doc-Cc7LjuVH.50a1134c0c22.js} +1 -1
- codex/static_root/assets/pdf-doc-Cc7LjuVH.50a1134c0c22.js.br +0 -0
- codex/static_root/assets/pdf-doc-Cc7LjuVH.50a1134c0c22.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-GyrCvyP5.js → pdf-doc-Cc7LjuVH.js} +1 -1
- codex/static_root/assets/pdf-doc-Cc7LjuVH.js.br +0 -0
- codex/static_root/assets/pdf-doc-Cc7LjuVH.js.gz +0 -0
- codex/static_root/assets/{reader-lmk4MiSj.js → reader-C37T4GJm.26c0f984ddf3.js} +2 -2
- codex/static_root/assets/reader-C37T4GJm.26c0f984ddf3.js.br +0 -0
- codex/static_root/assets/reader-C37T4GJm.26c0f984ddf3.js.gz +0 -0
- codex/static_root/assets/{reader-lmk4MiSj.9239243e1be1.js → reader-C37T4GJm.js} +2 -2
- codex/static_root/assets/reader-C37T4GJm.js.br +0 -0
- codex/static_root/assets/reader-C37T4GJm.js.gz +0 -0
- codex/static_root/assets/{relation-chips-Dgb6LQdZ.c028ab2df979.js → relation-chips-rkqmCrEw.1a6f234a0899.js} +1 -1
- codex/static_root/assets/relation-chips-rkqmCrEw.1a6f234a0899.js.br +0 -0
- codex/static_root/assets/relation-chips-rkqmCrEw.1a6f234a0899.js.gz +0 -0
- codex/static_root/assets/{relation-chips-Dgb6LQdZ.js → relation-chips-rkqmCrEw.js} +1 -1
- codex/static_root/assets/relation-chips-rkqmCrEw.js.br +0 -0
- codex/static_root/assets/relation-chips-rkqmCrEw.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-CRmLEncr.js → settings-drawer-BS779eYY.963020313321.js} +2 -2
- codex/static_root/assets/settings-drawer-BS779eYY.963020313321.js.br +0 -0
- codex/static_root/assets/settings-drawer-BS779eYY.963020313321.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-CRmLEncr.6937d45e18af.js → settings-drawer-BS779eYY.js} +2 -2
- codex/static_root/assets/settings-drawer-BS779eYY.js.br +0 -0
- codex/static_root/assets/settings-drawer-BS779eYY.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CCKPlpgB.c90fa83e0817.js → ssrBoot-C5ZJUkKV.1251cc98694f.js} +1 -1
- codex/static_root/assets/ssrBoot-C5ZJUkKV.1251cc98694f.js.br +0 -0
- codex/static_root/assets/ssrBoot-C5ZJUkKV.1251cc98694f.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CCKPlpgB.js → ssrBoot-C5ZJUkKV.js} +1 -1
- codex/static_root/assets/ssrBoot-C5ZJUkKV.js.br +0 -0
- codex/static_root/assets/ssrBoot-C5ZJUkKV.js.gz +0 -0
- codex/static_root/assets/{stats-tab-CrU_p2gC.e12768f9423d.js → stats-tab-z3FI1pNN.6b939512abda.js} +1 -1
- codex/static_root/assets/stats-tab-z3FI1pNN.6b939512abda.js.br +0 -0
- codex/static_root/assets/stats-tab-z3FI1pNN.6b939512abda.js.gz +0 -0
- codex/static_root/assets/{stats-tab-CrU_p2gC.js → stats-tab-z3FI1pNN.js} +1 -1
- codex/static_root/assets/stats-tab-z3FI1pNN.js.br +0 -0
- codex/static_root/assets/stats-tab-z3FI1pNN.js.gz +0 -0
- codex/static_root/assets/{task-tab-Bp0wsH4V.2a5135c30818.js → task-tab-BE1wVkJL.2d74ce37b1c5.js} +1 -1
- codex/static_root/assets/task-tab-BE1wVkJL.2d74ce37b1c5.js.br +0 -0
- codex/static_root/assets/task-tab-BE1wVkJL.2d74ce37b1c5.js.gz +0 -0
- codex/static_root/assets/{task-tab-Bp0wsH4V.js → task-tab-BE1wVkJL.js} +1 -1
- codex/static_root/assets/task-tab-BE1wVkJL.js.br +0 -0
- codex/static_root/assets/task-tab-BE1wVkJL.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DObmibd6.b47434919de7.js → unauthorized-CfuSCHk2.ee21e2ffcf45.js} +1 -1
- codex/static_root/assets/unauthorized-CfuSCHk2.ee21e2ffcf45.js.br +0 -0
- codex/static_root/assets/unauthorized-CfuSCHk2.ee21e2ffcf45.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DObmibd6.js → unauthorized-CfuSCHk2.js} +1 -1
- codex/static_root/assets/unauthorized-CfuSCHk2.js.br +0 -0
- codex/static_root/assets/unauthorized-CfuSCHk2.js.gz +0 -0
- codex/static_root/assets/{user-tab-DedY8MbN.624af3a6a978.js → user-tab-DlFyXNuJ.3b545349e672.js} +1 -1
- codex/static_root/assets/user-tab-DlFyXNuJ.3b545349e672.js.br +0 -0
- codex/static_root/assets/user-tab-DlFyXNuJ.3b545349e672.js.gz +0 -0
- codex/static_root/assets/{user-tab-DedY8MbN.js → user-tab-DlFyXNuJ.js} +1 -1
- codex/static_root/assets/user-tab-DlFyXNuJ.js.br +0 -0
- codex/static_root/assets/user-tab-DlFyXNuJ.js.gz +0 -0
- codex/static_root/{manifest.4217bf6f9edb.json → manifest.ddb32d0e47ed.json} +313 -313
- codex/static_root/manifest.ddb32d0e47ed.json.br +0 -0
- codex/static_root/manifest.ddb32d0e47ed.json.gz +0 -0
- codex/static_root/manifest.json +313 -313
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- {codex-1.8.0a3.dist-info → codex-1.8.0a5.dist-info}/METADATA +1 -1
- {codex-1.8.0a3.dist-info → codex-1.8.0a5.dist-info}/RECORD +252 -252
- codex/static_root/assets/VCheckbox-DOvv8UEO.e3653c1670c8.js.br +0 -0
- codex/static_root/assets/VCheckbox-DOvv8UEO.e3653c1670c8.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DOvv8UEO.js.br +0 -0
- codex/static_root/assets/VCheckbox-DOvv8UEO.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.59731a32657e.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.59731a32657e.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BeZZDumo.js.gz +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.369544360b22.js.br +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.369544360b22.js.gz +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.js.br +0 -0
- codex/static_root/assets/VCombobox-BRJRW2px.js.gz +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.83e078fa850c.js.br +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.83e078fa850c.js.gz +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.js.br +0 -0
- codex/static_root/assets/VDialog-D_vkvatj.js.gz +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.83d2c907faff.js.br +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.83d2c907faff.js.gz +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.js.br +0 -0
- codex/static_root/assets/VDivider-BH2Oj58Z.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.ed063db2e518.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.ed063db2e518.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Ccv4gBFD.js.gz +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.d304a07dc6d1.js.br +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.d304a07dc6d1.js.gz +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.js.br +0 -0
- codex/static_root/assets/VForm-S5eiHGJ0.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.4309dbf0173c.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.4309dbf0173c.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CyCYk3Z_.js.gz +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.057479737b7f.js.br +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.057479737b7f.js.gz +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.js.br +0 -0
- codex/static_root/assets/VSelect-BOhtkCV1.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.e256f0d0f97d.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.e256f0d0f97d.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CmXEFw20.js.gz +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.24ce227e6076.js.br +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.24ce227e6076.js.gz +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.js.br +0 -0
- codex/static_root/assets/VTable-BDxzw_rH.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.4d68002250ae.js.br +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.4d68002250ae.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.js.br +0 -0
- codex/static_root/assets/VWindowItem-CuDwxsEy.js.gz +0 -0
- codex/static_root/assets/admin-BZQmoFts.d8e6303f8aee.js.br +0 -0
- codex/static_root/assets/admin-BZQmoFts.d8e6303f8aee.js.gz +0 -0
- codex/static_root/assets/admin-BZQmoFts.js.br +0 -0
- codex/static_root/assets/admin-BZQmoFts.js.gz +0 -0
- codex/static_root/assets/admin-U3AawSbo.f171316d0a93.js.br +0 -0
- codex/static_root/assets/admin-U3AawSbo.f171316d0a93.js.gz +0 -0
- codex/static_root/assets/admin-U3AawSbo.js.br +0 -0
- codex/static_root/assets/admin-U3AawSbo.js.gz +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.3b62ee7a8b95.js.br +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.3b62ee7a8b95.js.gz +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.js.br +0 -0
- codex/static_root/assets/admin-menu-D9RDVBlr.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.fbacafc0db08.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DwWq9uM1.js.gz +0 -0
- codex/static_root/assets/browser-DFM_JsAK.bffd4eb259d8.js.br +0 -0
- codex/static_root/assets/browser-DFM_JsAK.bffd4eb259d8.js.gz +0 -0
- codex/static_root/assets/browser-DFM_JsAK.js.br +0 -0
- codex/static_root/assets/browser-DFM_JsAK.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.50da9f352709.js.br +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.50da9f352709.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.js.br +0 -0
- codex/static_root/assets/change-password-dialog-yLNkzMp9.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.120460c84883.js.br +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.120460c84883.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.js.br +0 -0
- codex/static_root/assets/confirm-dialog-q6RAb_qs.js.gz +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.ba0a30b3fc0d.js.br +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.ba0a30b3fc0d.js.gz +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.js.br +0 -0
- codex/static_root/assets/datetime-column-HJ5dvW99.js.gz +0 -0
- codex/static_root/assets/filter-r_zFj-tS.161a85ef1860.js.br +0 -0
- codex/static_root/assets/filter-r_zFj-tS.161a85ef1860.js.gz +0 -0
- codex/static_root/assets/filter-r_zFj-tS.js.br +0 -0
- codex/static_root/assets/filter-r_zFj-tS.js.gz +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.06e720e71319.js.br +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.06e720e71319.js.gz +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.js.br +0 -0
- codex/static_root/assets/flag-tab-D0Z4uhsg.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.50a55d7d8b68.js.br +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.50a55d7d8b68.js.gz +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.js.br +0 -0
- codex/static_root/assets/forwardRefs-Nj5UEeg5.js.gz +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.604a78bd4e4f.js.br +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.604a78bd4e4f.js.gz +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.js.br +0 -0
- codex/static_root/assets/group-tab-lamd9pcq.js.gz +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.46f4babacf15.js.br +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.46f4babacf15.js.gz +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.js.br +0 -0
- codex/static_root/assets/http-error-DRYA5ir1.js.gz +0 -0
- codex/static_root/assets/index-Cl7tPJIx.c0a239cf7069.js.br +0 -0
- codex/static_root/assets/index-Cl7tPJIx.c0a239cf7069.js.gz +0 -0
- codex/static_root/assets/index-Cl7tPJIx.js.br +0 -0
- codex/static_root/assets/index-Cl7tPJIx.js.gz +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.f4541a086231.js.br +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.f4541a086231.js.gz +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.js.br +0 -0
- codex/static_root/assets/library-tab-2UucZZAW.js.gz +0 -0
- codex/static_root/assets/main-BX4TjIpG.dc79406e2a7b.js.br +0 -0
- codex/static_root/assets/main-BX4TjIpG.dc79406e2a7b.js.gz +0 -0
- codex/static_root/assets/main-BX4TjIpG.js.br +0 -0
- codex/static_root/assets/main-BX4TjIpG.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js +0 -1
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.762b6bef9373.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js +0 -1
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-KI4NQUMe.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.892375c5aa51.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.892375c5aa51.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-48pwYEe_.js.gz +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.54b26ba8d93c.js.br +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.54b26ba8d93c.js.gz +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.js.br +0 -0
- codex/static_root/assets/pdf-doc-GyrCvyP5.js.gz +0 -0
- codex/static_root/assets/reader-lmk4MiSj.9239243e1be1.js.br +0 -0
- codex/static_root/assets/reader-lmk4MiSj.9239243e1be1.js.gz +0 -0
- codex/static_root/assets/reader-lmk4MiSj.js.br +0 -0
- codex/static_root/assets/reader-lmk4MiSj.js.gz +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.c028ab2df979.js.br +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.c028ab2df979.js.gz +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.js.br +0 -0
- codex/static_root/assets/relation-chips-Dgb6LQdZ.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.6937d45e18af.js.br +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.6937d45e18af.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.js.br +0 -0
- codex/static_root/assets/settings-drawer-CRmLEncr.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.c90fa83e0817.js.br +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.c90fa83e0817.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.js.br +0 -0
- codex/static_root/assets/ssrBoot-CCKPlpgB.js.gz +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.e12768f9423d.js.br +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.e12768f9423d.js.gz +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.js.br +0 -0
- codex/static_root/assets/stats-tab-CrU_p2gC.js.gz +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.2a5135c30818.js.br +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.2a5135c30818.js.gz +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.js.br +0 -0
- codex/static_root/assets/task-tab-Bp0wsH4V.js.gz +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.b47434919de7.js.br +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.b47434919de7.js.gz +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.js.br +0 -0
- codex/static_root/assets/unauthorized-DObmibd6.js.gz +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.624af3a6a978.js.br +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.624af3a6a978.js.gz +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.js.br +0 -0
- codex/static_root/assets/user-tab-DedY8MbN.js.gz +0 -0
- codex/static_root/manifest.4217bf6f9edb.json.br +0 -0
- codex/static_root/manifest.4217bf6f9edb.json.gz +0 -0
- {codex-1.8.0a3.dist-info → codex-1.8.0a5.dist-info}/WHEEL +0 -0
- {codex-1.8.0a3.dist-info → codex-1.8.0a5.dist-info}/entry_points.txt +0 -0
- {codex-1.8.0a3.dist-info → codex-1.8.0a5.dist-info}/licenses/LICENSE +0 -0
|
@@ -39,12 +39,15 @@ class FailedImportsQueryImporter(DeletedImporter):
|
|
|
39
39
|
for path in possibly_missing_failed_import_paths:
|
|
40
40
|
name = path.casefold()
|
|
41
41
|
# Case sensitive matching. exists() and is_file() are case insensitive.
|
|
42
|
-
# This will fail if there is a parent directory case mismatch
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
# This will fail if there is a parent directory case mismatch.
|
|
43
|
+
# Rather than do a recursive solution, add it to missing if it fails.
|
|
44
|
+
try:
|
|
45
|
+
for path_obj in Path(path).parent.iterdir():
|
|
46
|
+
if path_obj.name.casefold() == name:
|
|
47
|
+
break
|
|
48
|
+
else:
|
|
49
|
+
missing_failed_import_paths.add(path)
|
|
50
|
+
except FileNotFoundError:
|
|
48
51
|
missing_failed_import_paths.add(path)
|
|
49
52
|
|
|
50
53
|
return succeeded_failed_imports | missing_failed_import_paths
|
|
@@ -22,6 +22,7 @@ from codex.librarian.scribe.importer.search.sync_m2m import (
|
|
|
22
22
|
)
|
|
23
23
|
from codex.librarian.scribe.importer.statii.search import (
|
|
24
24
|
ImporterFTSCreateStatus,
|
|
25
|
+
ImporterFTSStatus,
|
|
25
26
|
ImporterFTSUpdateStatus,
|
|
26
27
|
)
|
|
27
28
|
from codex.librarian.status import Status
|
|
@@ -144,10 +145,40 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
|
|
|
144
145
|
|
|
145
146
|
def _update_search_index_operate_get_status(
|
|
146
147
|
self, total_entries: int, *, create: bool
|
|
147
|
-
):
|
|
148
|
+
) -> ImporterFTSStatus:
|
|
148
149
|
status_class = ImporterFTSCreateStatus if create else ImporterFTSUpdateStatus
|
|
149
150
|
return status_class(total=total_entries)
|
|
150
151
|
|
|
152
|
+
def _update_search_index_operate_create(
|
|
153
|
+
self, obj_list: list, status: ImporterFTSStatus
|
|
154
|
+
):
|
|
155
|
+
entries = self.metadata.pop(FTS_CREATE, {})
|
|
156
|
+
pks = tuple(entries.keys())
|
|
157
|
+
for pk in pks:
|
|
158
|
+
if self.abort_event.is_set():
|
|
159
|
+
return ()
|
|
160
|
+
|
|
161
|
+
entry = entries.pop(pk)
|
|
162
|
+
self._create_comicfts_entry(pk, entry, obj_list, status)
|
|
163
|
+
return pks
|
|
164
|
+
|
|
165
|
+
def _update_search_index_operate_update(
|
|
166
|
+
self, obj_list: list, status: ImporterFTSStatus
|
|
167
|
+
):
|
|
168
|
+
if pks := tuple(self.metadata.get(FTS_UPDATE, {}).keys()):
|
|
169
|
+
comicftss = ComicFTS.objects.filter(comic_id__in=pks)
|
|
170
|
+
for comicfts in comicftss:
|
|
171
|
+
if self.abort_event.is_set():
|
|
172
|
+
return ()
|
|
173
|
+
self._update_comicfts_entry(comicfts, obj_list, status)
|
|
174
|
+
if self.metadata[FTS_UPDATE]:
|
|
175
|
+
# If updates not popped, turn them into creates.
|
|
176
|
+
if FTS_CREATE not in self.metadata:
|
|
177
|
+
self.metadata[FTS_CREATE] = {}
|
|
178
|
+
self.metadata[FTS_CREATE].update(self.metadata[FTS_UPDATE])
|
|
179
|
+
self.metadata.pop(FTS_UPDATE)
|
|
180
|
+
return pks
|
|
181
|
+
|
|
151
182
|
def _update_search_index_operate(self, *, create: bool) -> tuple[int, ...]:
|
|
152
183
|
key = FTS_CREATE if create else FTS_UPDATE
|
|
153
184
|
total_entries = len(self.metadata.get(key, {}))
|
|
@@ -168,36 +199,20 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
|
|
|
168
199
|
|
|
169
200
|
obj_list = []
|
|
170
201
|
if create:
|
|
171
|
-
|
|
172
|
-
pks = tuple(entries.keys())
|
|
173
|
-
for pk in pks:
|
|
174
|
-
if self.abort_event.is_set():
|
|
175
|
-
return updated_pks
|
|
176
|
-
entry = entries.pop(pk)
|
|
177
|
-
self._create_comicfts_entry(pk, entry, obj_list, status)
|
|
178
|
-
updated_pks = pks
|
|
202
|
+
updated_pks = self._update_search_index_operate_create(obj_list, status)
|
|
179
203
|
else:
|
|
180
|
-
|
|
181
|
-
comicftss = ComicFTS.objects.filter(comic_id__in=pks)
|
|
182
|
-
for comicfts in comicftss:
|
|
183
|
-
if self.abort_event.is_set():
|
|
184
|
-
return updated_pks
|
|
185
|
-
self._update_comicfts_entry(comicfts, obj_list, status)
|
|
186
|
-
if self.metadata[FTS_UPDATE]:
|
|
187
|
-
# If updates not popped, turn them into creates.
|
|
188
|
-
if FTS_CREATE not in self.metadata:
|
|
189
|
-
self.metadata[FTS_CREATE] = {}
|
|
190
|
-
self.metadata[FTS_CREATE].update(self.metadata[FTS_UPDATE])
|
|
191
|
-
self.metadata.pop(FTS_UPDATE)
|
|
204
|
+
updated_pks = self._update_search_index_operate_update(obj_list, status)
|
|
192
205
|
self.log.debug(
|
|
193
206
|
f"Prepared {len(obj_list)} comics for search index {verbing}..."
|
|
194
207
|
)
|
|
208
|
+
if self.abort_event.is_set():
|
|
209
|
+
return updated_pks
|
|
210
|
+
|
|
195
211
|
self._update_search_index_create_or_update(
|
|
196
212
|
obj_list,
|
|
197
213
|
status,
|
|
198
214
|
create=create,
|
|
199
215
|
)
|
|
200
|
-
updated_pks = pks
|
|
201
216
|
|
|
202
217
|
finally:
|
|
203
218
|
self.status_controller.finish(status)
|
|
@@ -138,6 +138,29 @@ class StatusController:
|
|
|
138
138
|
|
|
139
139
|
self.log.log(level, f"{prefix}{suffix}.")
|
|
140
140
|
|
|
141
|
+
@staticmethod
|
|
142
|
+
def _finish_status_prepare(
|
|
143
|
+
positive_statii: MappingProxyType[str, Status | type[Status]],
|
|
144
|
+
updates: dict[str, Any],
|
|
145
|
+
):
|
|
146
|
+
# Filter on submitted codes or all statii if nothing.
|
|
147
|
+
ls_filter_dict: dict[str, Any] = (
|
|
148
|
+
{"status_type__in": positive_statii.keys()} if positive_statii else {}
|
|
149
|
+
)
|
|
150
|
+
# Filter all active or preactive statii
|
|
151
|
+
ls_filter = (Q(active__isnull=False) | Q(preactive__isnull=False)) & Q(
|
|
152
|
+
**ls_filter_dict
|
|
153
|
+
)
|
|
154
|
+
lses = LibrarianStatus.objects.filter(ls_filter)
|
|
155
|
+
update_ls = []
|
|
156
|
+
log_statii = []
|
|
157
|
+
for ls in lses.iterator():
|
|
158
|
+
for key, value in updates.items():
|
|
159
|
+
setattr(ls, key, value)
|
|
160
|
+
update_ls.append(ls)
|
|
161
|
+
log_statii.append(positive_statii[ls.status_type])
|
|
162
|
+
return update_ls, log_statii
|
|
163
|
+
|
|
141
164
|
def finish_many(
|
|
142
165
|
self, statii: Iterable[Status | type[Status] | None], *, notify: bool = True
|
|
143
166
|
):
|
|
@@ -150,27 +173,13 @@ class StatusController:
|
|
|
150
173
|
# if statii has elements but they were all None, this is a noop.
|
|
151
174
|
# But if statii was empty this is a finish all command.
|
|
152
175
|
return
|
|
153
|
-
# Filter on submitted codes or all statii if nothing.
|
|
154
|
-
ls_filter_dict: dict[str, Any] = (
|
|
155
|
-
{"status_type__in": positive_statii.keys()} if positive_statii else {}
|
|
156
|
-
)
|
|
157
|
-
# Filter all active or preactive statii
|
|
158
|
-
ls_filter = (Q(active__isnull=False) | Q(preactive__isnull=False)) & Q(
|
|
159
|
-
**ls_filter_dict
|
|
160
|
-
)
|
|
161
176
|
updates = {**STATUS_DEFAULTS, "updated_at": Now()}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
for ls in lses.iterator():
|
|
166
|
-
for key, value in updates.items():
|
|
167
|
-
setattr(ls, key, value)
|
|
168
|
-
update_ls.append(ls)
|
|
169
|
-
log_statii.append(positive_statii[ls.status_type])
|
|
170
|
-
|
|
177
|
+
update_ls, log_statii = self._finish_status_prepare(
|
|
178
|
+
positive_statii, updates
|
|
179
|
+
)
|
|
171
180
|
LibrarianStatus.objects.bulk_update(update_ls, tuple(updates.keys()))
|
|
172
181
|
self._enqueue_notifier_task(notify=notify)
|
|
173
|
-
if not
|
|
182
|
+
if not positive_statii:
|
|
174
183
|
self.log.info("Cleared all librarian statuses")
|
|
175
184
|
for status in log_statii:
|
|
176
185
|
self._log_finish(status)
|
|
@@ -9,17 +9,13 @@ from watchdog.events import (
|
|
|
9
9
|
EVENT_TYPE_CREATED,
|
|
10
10
|
EVENT_TYPE_DELETED,
|
|
11
11
|
EVENT_TYPE_MODIFIED,
|
|
12
|
-
DirCreatedEvent,
|
|
13
12
|
DirDeletedEvent,
|
|
14
13
|
DirModifiedEvent,
|
|
15
14
|
DirMovedEvent,
|
|
16
|
-
FileClosedEvent,
|
|
17
|
-
FileClosedNoWriteEvent,
|
|
18
15
|
FileCreatedEvent,
|
|
19
16
|
FileDeletedEvent,
|
|
20
17
|
FileModifiedEvent,
|
|
21
18
|
FileMovedEvent,
|
|
22
|
-
FileOpenedEvent,
|
|
23
19
|
FileSystemEvent,
|
|
24
20
|
)
|
|
25
21
|
|
|
@@ -31,6 +27,24 @@ from codex.librarian.watchdog.events import (
|
|
|
31
27
|
CoverMovedEvent,
|
|
32
28
|
)
|
|
33
29
|
|
|
30
|
+
#############
|
|
31
|
+
# Observers #
|
|
32
|
+
#############
|
|
33
|
+
EVENT_FILTER: tuple[type[FileSystemEvent], ...] = (
|
|
34
|
+
# FileClosed,
|
|
35
|
+
# FileClosedNoWriteEvent,
|
|
36
|
+
FileCreatedEvent,
|
|
37
|
+
FileDeletedEvent,
|
|
38
|
+
FileModifiedEvent,
|
|
39
|
+
FileMovedEvent,
|
|
40
|
+
# FileSystemMovedEvent
|
|
41
|
+
# FileOpenedEvent,
|
|
42
|
+
# DirCreatedEvent,
|
|
43
|
+
DirDeletedEvent,
|
|
44
|
+
DirMovedEvent,
|
|
45
|
+
DirModifiedEvent,
|
|
46
|
+
)
|
|
47
|
+
|
|
34
48
|
###########
|
|
35
49
|
# Emitter #
|
|
36
50
|
###########
|
|
@@ -47,30 +61,11 @@ ATTR_EVENT_MAP = MappingProxyType(
|
|
|
47
61
|
)
|
|
48
62
|
DIR_NOT_FOUND_TIMEOUT = 15 * 60
|
|
49
63
|
POLLING_EVENT_FILTER: tuple[type[FileSystemEvent], ...] = (
|
|
50
|
-
|
|
51
|
-
FileModifiedEvent,
|
|
52
|
-
FileCreatedEvent,
|
|
53
|
-
FileDeletedEvent,
|
|
54
|
-
# FileClosedEvent,
|
|
55
|
-
# FileOpenedEvent,
|
|
56
|
-
DirMovedEvent,
|
|
57
|
-
DirModifiedEvent,
|
|
58
|
-
DirDeletedEvent,
|
|
59
|
-
# DirCreatedEvent,
|
|
64
|
+
*EVENT_FILTER,
|
|
60
65
|
CodexPollEvent,
|
|
61
66
|
)
|
|
62
67
|
DOCKER_UNMOUNTED_FN = "DOCKER_UNMOUNTED_VOLUME"
|
|
63
68
|
|
|
64
|
-
#############
|
|
65
|
-
# Observers #
|
|
66
|
-
#############
|
|
67
|
-
EVENT_FILTER: tuple[type[FileSystemEvent], ...] = (
|
|
68
|
-
DirCreatedEvent,
|
|
69
|
-
FileClosedEvent,
|
|
70
|
-
FileClosedNoWriteEvent,
|
|
71
|
-
FileOpenedEvent,
|
|
72
|
-
)
|
|
73
|
-
|
|
74
69
|
############
|
|
75
70
|
# Handlers #
|
|
76
71
|
############
|
|
@@ -21,7 +21,6 @@ from codex.librarian.watchdog.const import (
|
|
|
21
21
|
ATTR_EVENT_MAP,
|
|
22
22
|
DIR_NOT_FOUND_TIMEOUT,
|
|
23
23
|
DOCKER_UNMOUNTED_FN,
|
|
24
|
-
POLLING_EVENT_FILTER,
|
|
25
24
|
)
|
|
26
25
|
from codex.librarian.watchdog.db_snapshot import CodexDatabaseSnapshot
|
|
27
26
|
from codex.librarian.watchdog.dir_snapshot_diff import CodexDirectorySnapshotDiff
|
|
@@ -58,12 +57,12 @@ class DatabasePollingEmitter(EventEmitter, WorkerStatusMixin):
|
|
|
58
57
|
event_queue: EventQueue,
|
|
59
58
|
watch: ObservedWatch,
|
|
60
59
|
*,
|
|
61
|
-
timeout: float = DEFAULT_EMITTER_TIMEOUT,
|
|
62
60
|
logger_,
|
|
63
61
|
librarian_queue: Queue,
|
|
64
|
-
covers_only=False,
|
|
65
62
|
library_id: int,
|
|
66
63
|
db_write_lock,
|
|
64
|
+
covers_only=False,
|
|
65
|
+
timeout: float = DEFAULT_EMITTER_TIMEOUT,
|
|
67
66
|
event_filter: list[type[FileSystemEvent]] | None = None,
|
|
68
67
|
):
|
|
69
68
|
"""Initialize snapshot methods."""
|
|
@@ -79,7 +78,6 @@ class DatabasePollingEmitter(EventEmitter, WorkerStatusMixin):
|
|
|
79
78
|
)
|
|
80
79
|
self._library_id = library_id
|
|
81
80
|
|
|
82
|
-
event_filter = extend_event_filter(event_filter, POLLING_EVENT_FILTER)
|
|
83
81
|
super().__init__(event_queue, watch, timeout=timeout, event_filter=event_filter)
|
|
84
82
|
|
|
85
83
|
self._take_dir_snapshot = lambda: DirectorySnapshot(
|
|
@@ -15,8 +15,8 @@ from watchdog.observers.api import (
|
|
|
15
15
|
ObservedWatch,
|
|
16
16
|
)
|
|
17
17
|
|
|
18
|
-
from codex.librarian.watchdog.const import EVENT_FILTER
|
|
19
|
-
from codex.librarian.watchdog.emitter import DatabasePollingEmitter
|
|
18
|
+
from codex.librarian.watchdog.const import EVENT_FILTER, POLLING_EVENT_FILTER
|
|
19
|
+
from codex.librarian.watchdog.emitter import DatabasePollingEmitter
|
|
20
20
|
from codex.librarian.watchdog.handlers import (
|
|
21
21
|
CodexCustomCoverEventHandler,
|
|
22
22
|
CodexLibraryEventHandler,
|
|
@@ -117,6 +117,7 @@ class UatuObserver(WorkerMixin, BaseObserver):
|
|
|
117
117
|
covers_only=covers_only,
|
|
118
118
|
library_id=library_id,
|
|
119
119
|
db_write_lock=self.db_write_lock,
|
|
120
|
+
event_filter=list(POLLING_EVENT_FILTER),
|
|
120
121
|
)
|
|
121
122
|
self._add_emitter(emitter)
|
|
122
123
|
if self.is_alive():
|
|
@@ -133,10 +134,11 @@ class UatuObserver(WorkerMixin, BaseObserver):
|
|
|
133
134
|
) -> ObservedWatch:
|
|
134
135
|
"""Override BaseObserver for Codex emitter class."""
|
|
135
136
|
if self._emitter_class != DatabasePollingEmitter:
|
|
136
|
-
return super().schedule(
|
|
137
|
+
return super().schedule(
|
|
138
|
+
event_handler, path, event_filter=list(POLLING_EVENT_FILTER), **kwargs
|
|
139
|
+
)
|
|
137
140
|
with self._lock:
|
|
138
|
-
|
|
139
|
-
watch = ObservedWatch(path, event_filter=event_filter, **kwargs)
|
|
141
|
+
watch = ObservedWatch(path, event_filter=list(EVENT_FILTER), **kwargs)
|
|
140
142
|
self._add_handler_for_watch(event_handler, watch)
|
|
141
143
|
if self._emitter_for_watch.get(watch) is None:
|
|
142
144
|
self._add_emitter_for_watch(event_handler, watch)
|
codex/static_root/assets/{VCheckbox-DOvv8UEO.e3653c1670c8.js → VCheckbox-DHvC7hbe.ae1c7324ade6.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as I,V as r}from"./VCheckboxBtn-
|
|
1
|
+
import{m as I,V as r}from"./VCheckboxBtn-XxL4O9xH.js";import{u as A,m as F,g as u}from"./VSelectionControl-BPA0ic7g.js";import{f as R}from"./forwardRefs-B2I55_WJ.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-X1Z4xIQI.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-XxL4O9xH.js";import{u as A,m as F,g as u}from"./VSelectionControl-BPA0ic7g.js";import{f as R}from"./forwardRefs-B2I55_WJ.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-X1Z4xIQI.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-BPA0ic7g.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-X1Z4xIQI.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-BPA0ic7g.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-X1Z4xIQI.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-BRJRW2px.369544360b22.js → VCombobox-BoW8Kh-e.61327b5e10bb.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-YxNTFJrP.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-BPA0ic7g.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-B2I55_WJ.js";import{u as Te,m as Me,h as _e}from"./filter-pdNpb8Ph.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-X1Z4xIQI.js";import{a as X,g as Qe}from"./VDialog-CV7DVOv7.js";import{a as Xe}from"./VDivider-CxU3qElH.js";import{V as Ye}from"./VCheckboxBtn-XxL4O9xH.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-YxNTFJrP.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-BPA0ic7g.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-B2I55_WJ.js";import{u as Te,m as Me,h as _e}from"./filter-pdNpb8Ph.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-X1Z4xIQI.js";import{a as X,g as Qe}from"./VDialog-CV7DVOv7.js";import{a as Xe}from"./VDivider-CxU3qElH.js";import{V as Ye}from"./VCheckboxBtn-XxL4O9xH.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
|