added some protection aganist staled download blocking the download queue.

This commit is contained in:
arabcoders 2025-04-19 17:44:09 +03:00
parent fa3d9502d0
commit 7755f3c4e2
11 changed files with 2156 additions and 432 deletions

399
Pipfile.lock generated
View file

@ -486,101 +486,113 @@
},
"frozenlist": {
"hashes": [
"sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e",
"sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf",
"sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6",
"sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a",
"sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d",
"sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f",
"sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28",
"sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b",
"sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9",
"sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2",
"sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec",
"sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2",
"sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c",
"sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336",
"sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4",
"sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d",
"sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b",
"sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c",
"sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10",
"sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08",
"sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942",
"sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8",
"sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f",
"sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10",
"sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5",
"sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6",
"sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21",
"sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c",
"sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d",
"sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923",
"sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608",
"sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de",
"sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17",
"sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0",
"sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f",
"sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641",
"sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c",
"sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a",
"sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0",
"sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9",
"sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab",
"sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f",
"sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3",
"sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a",
"sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784",
"sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604",
"sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d",
"sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5",
"sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03",
"sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e",
"sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953",
"sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee",
"sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d",
"sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817",
"sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3",
"sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039",
"sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f",
"sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9",
"sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf",
"sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76",
"sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba",
"sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171",
"sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb",
"sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439",
"sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631",
"sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972",
"sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d",
"sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869",
"sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9",
"sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411",
"sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723",
"sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2",
"sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b",
"sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99",
"sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e",
"sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840",
"sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3",
"sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb",
"sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3",
"sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0",
"sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca",
"sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45",
"sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e",
"sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f",
"sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5",
"sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307",
"sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e",
"sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2",
"sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778",
"sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a",
"sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30",
"sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"
"sha256:01bcaa305a0fdad12745502bfd16a1c75b14558dabae226852f9159364573117",
"sha256:03572933a1969a6d6ab509d509e5af82ef80d4a5d4e1e9f2e1cdd22c77a3f4d2",
"sha256:0dbae96c225d584f834b8d3cc688825911960f003a85cb0fd20b6e5512468c42",
"sha256:0e6f8653acb82e15e5443dba415fb62a8732b68fe09936bb6d388c725b57f812",
"sha256:0f2ca7810b809ed0f1917293050163c7654cefc57a49f337d5cd9de717b8fad3",
"sha256:118e97556306402e2b010da1ef21ea70cb6d6122e580da64c056b96f524fbd6a",
"sha256:1255d5d64328c5a0d066ecb0f02034d086537925f1f04b50b1ae60d37afbf572",
"sha256:1330f0a4376587face7637dfd245380a57fe21ae8f9d360c1c2ef8746c4195fa",
"sha256:1b8e8cd8032ba266f91136d7105706ad57770f3522eac4a111d77ac126a25a9b",
"sha256:1c6eceb88aaf7221f75be6ab498dc622a151f5f88d536661af3ffc486245a626",
"sha256:1d7fb014fe0fbfee3efd6a94fc635aeaa68e5e1720fe9e57357f2e2c6e1a647e",
"sha256:1db8b2fc7ee8a940b547a14c10e56560ad3ea6499dc6875c354e2335812f739d",
"sha256:2187248203b59625566cac53572ec8c2647a140ee2738b4e36772930377a533c",
"sha256:2b8cf4cfea847d6c12af06091561a89740f1f67f331c3fa8623391905e878530",
"sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878",
"sha256:2e8246877afa3f1ae5c979fe85f567d220f86a50dc6c493b9b7d8191181ae01e",
"sha256:36d2fc099229f1e4237f563b2a3e0ff7ccebc3999f729067ce4e64a97a7f2869",
"sha256:37a8a52c3dfff01515e9bbbee0e6063181362f9de3db2ccf9bc96189b557cbfd",
"sha256:3e911391bffdb806001002c1f860787542f45916c3baf764264a52765d5a5603",
"sha256:431ef6937ae0f853143e2ca67d6da76c083e8b1fe3df0e96f3802fd37626e606",
"sha256:437cfd39564744ae32ad5929e55b18ebd88817f9180e4cc05e7d53b75f79ce85",
"sha256:46138f5a0773d064ff663d273b309b696293d7a7c00a0994c5c13a5078134b64",
"sha256:482fe06e9a3fffbcd41950f9d890034b4a54395c60b5e61fae875d37a699813f",
"sha256:49ba23817781e22fcbd45fd9ff2b9b8cdb7b16a42a4851ab8025cae7b22e96d0",
"sha256:4da6fc43048b648275a220e3a61c33b7fff65d11bdd6dcb9d9c145ff708b804c",
"sha256:4def87ef6d90429f777c9d9de3961679abf938cb6b7b63d4a7eb8a268babfce4",
"sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103",
"sha256:52021b528f1571f98a7d4258c58aa8d4b1a96d4f01d00d51f1089f2e0323cb02",
"sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191",
"sha256:536a1236065c29980c15c7229fbb830dedf809708c10e159b8136534233545f0",
"sha256:54dece0d21dce4fdb188a1ffc555926adf1d1c516e493c2914d7c370e454bc9e",
"sha256:56a0b8dd6d0d3d971c91f1df75e824986667ccce91e20dca2023683814344791",
"sha256:5c9e89bf19ca148efcc9e3c44fd4c09d5af85c8a7dd3dbd0da1cb83425ef4983",
"sha256:625170a91dd7261a1d1c2a0c1a353c9e55d21cd67d0852185a5fef86587e6f5f",
"sha256:62c828a5b195570eb4b37369fcbbd58e96c905768d53a44d13044355647838ff",
"sha256:62dd7df78e74d924952e2feb7357d826af8d2f307557a779d14ddf94d7311be8",
"sha256:654e4ba1d0b2154ca2f096bed27461cf6160bc7f504a7f9a9ef447c293caf860",
"sha256:69bbd454f0fb23b51cadc9bdba616c9678e4114b6f9fa372d462ff2ed9323ec8",
"sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25",
"sha256:6ef8e7e8f2f3820c5f175d70fdd199b79e417acf6c72c5d0aa8f63c9f721646f",
"sha256:716bbba09611b4663ecbb7cd022f640759af8259e12a6ca939c0a6acd49eedba",
"sha256:75ecee69073312951244f11b8627e3700ec2bfe07ed24e3a685a5979f0412d24",
"sha256:7613d9977d2ab4a9141dde4a149f4357e4065949674c5649f920fec86ecb393e",
"sha256:777704c1d7655b802c7850255639672e90e81ad6fa42b99ce5ed3fbf45e338dd",
"sha256:77effc978947548b676c54bbd6a08992759ea6f410d4987d69feea9cd0919911",
"sha256:7b0f6cce16306d2e117cf9db71ab3a9e8878a28176aeaf0dbe35248d97b28d0c",
"sha256:7b8c4dc422c1a3ffc550b465090e53b0bf4839047f3e436a34172ac67c45d595",
"sha256:7daa508e75613809c7a57136dec4871a21bca3080b3a8fc347c50b187df4f00c",
"sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc",
"sha256:85ef8d41764c7de0dcdaf64f733a27352248493a85a80661f3c678acd27e31f2",
"sha256:89ffdb799154fd4d7b85c56d5fa9d9ad48946619e0eb95755723fffa11022d75",
"sha256:8b314faa3051a6d45da196a2c495e922f987dc848e967d8cfeaee8a0328b1cd4",
"sha256:8c952f69dd524558694818a461855f35d36cc7f5c0adddce37e962c85d06eac0",
"sha256:8f5fef13136c4e2dee91bfb9a44e236fff78fc2cd9f838eddfc470c3d7d90afe",
"sha256:920b6bd77d209931e4c263223381d63f76828bec574440f29eb497cf3394c249",
"sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c",
"sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576",
"sha256:9799257237d0479736e2b4c01ff26b5c7f7694ac9692a426cb717f3dc02fff9b",
"sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770",
"sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046",
"sha256:9d124b38b3c299ca68433597ee26b7819209cb8a3a9ea761dfe9db3a04bba584",
"sha256:a2bda8be77660ad4089caf2223fdbd6db1858462c4b85b67fbfa22102021e497",
"sha256:a4d96dc5bcdbd834ec6b0f91027817214216b5b30316494d2b1aebffb87c534f",
"sha256:a66781d7e4cddcbbcfd64de3d41a61d6bdde370fc2e38623f30b2bd539e84a9f",
"sha256:aa733d123cc78245e9bb15f29b44ed9e5780dc6867cfc4e544717b91f980af3b",
"sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f",
"sha256:ae8337990e7a45683548ffb2fee1af2f1ed08169284cd829cdd9a7fa7470530d",
"sha256:b11534872256e1666116f6587a1592ef395a98b54476addb5e8d352925cb5d4a",
"sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e",
"sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68",
"sha256:ba7f8d97152b61f22d7f59491a781ba9b177dd9f318486c5fbc52cde2db12189",
"sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9",
"sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8",
"sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1",
"sha256:c6154c3ba59cda3f954c6333025369e42c3acd0c6e8b6ce31eb5c5b8116c07e0",
"sha256:c7c608f833897501dac548585312d73a7dca028bf3b8688f0d712b7acfaf7fb3",
"sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29",
"sha256:cbb56587a16cf0fb8acd19e90ff9924979ac1431baea8681712716a8337577b0",
"sha256:cdb2c7f071e4026c19a3e32b93a09e59b12000751fc9b0b7758da899e657d215",
"sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590",
"sha256:d18689b40cb3936acd971f663ccb8e2589c45db5e2c5f07e0ec6207664029a9c",
"sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821",
"sha256:d1eb89bf3454e2132e046f9599fbcf0a4483ed43b40f545551a39316d0201cd1",
"sha256:d3ceb265249fb401702fce3792e6b44c1166b9319737d21495d3611028d95769",
"sha256:da5cb36623f2b846fb25009d9d9215322318ff1c63403075f812b3b2876c8506",
"sha256:da62fecac21a3ee10463d153549d8db87549a5e77eefb8c91ac84bb42bb1e4e3",
"sha256:e18036cb4caa17ea151fd5f3d70be9d354c99eb8cf817a3ccde8a7873b074348",
"sha256:e19c0fc9f4f030fcae43b4cdec9e8ab83ffe30ec10c79a4a43a04d1af6c5e1ad",
"sha256:e1c6bd2c6399920c9622362ce95a7d74e7f9af9bfec05fff91b8ce4b9647845a",
"sha256:e2ada1d8515d3ea5378c018a5f6d14b4994d4036591a52ceaf1a1549dec8e1ad",
"sha256:e4f9373c500dfc02feea39f7a56e4f543e670212102cc2eeb51d3a99c7ffbde6",
"sha256:e67ddb0749ed066b1a03fba812e2dcae791dd50e5da03be50b6a14d0c1a9ee45",
"sha256:e69bb81de06827147b7bfbaeb284d85219fa92d9f097e32cc73675f279d70188",
"sha256:e6e558ea1e47fd6fa8ac9ccdad403e5dd5ecc6ed8dda94343056fa4277d5c65e",
"sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70",
"sha256:ed5e3a4462ff25ca84fb09e0fada8ea267df98a450340ead4c91b44857267d70",
"sha256:f1a39819a5a3e84304cd286e3dc62a549fe60985415851b3337b6f5cc91907f1",
"sha256:f27a9f9a86dcf00708be82359db8de86b80d029814e6693259befe82bb58a106",
"sha256:f2c7d5aa19714b1b01a0f515d078a629e445e667b9da869a3cd0e6fe7dec78bd",
"sha256:f3a7bb0fe1f7a70fb5c6f497dc32619db7d2cdd53164af30ade2f34673f8b1fc",
"sha256:f4b3cd7334a4bbc0c472164f3744562cb72d05002cc6fcf58adb104630bbc352",
"sha256:f88bc0a2b9c2a835cb888b32246c27cdab5740059fb3688852bf91e915399b91",
"sha256:fb3b309f1d4086b5533cf7bbcf3f956f0ae6469664522f1bde4feed26fba60f1",
"sha256:fc5e64626e6682638d6e44398c9baf1d6ce6bc236d40b4b57255c9d3f9761f1f"
],
"markers": "python_version >= '3.8'",
"version": "==1.5.0"
"markers": "python_version >= '3.9'",
"version": "==1.6.0"
},
"h11": {
"hashes": [
@ -1065,12 +1077,12 @@
},
"python-socketio": {
"hashes": [
"sha256:0299ff1f470b676c09c1bfab1dead25405077d227b2c13cf217a34dadc68ba9c",
"sha256:24a0ea7cfff0e021eb28c68edbf7914ee4111bdf030b95e4d250c4dc9af7a386"
"sha256:51f68d6499f2df8524668c24bcec13ba1414117cfb3a90115c559b601ab10caf",
"sha256:ac4e19a0302ae812e23b712ec8b6427ca0521f7c582d6abb096e36e24a263029"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==5.12.1"
"version": "==5.13.0"
},
"regex": {
"hashes": [
@ -1223,96 +1235,113 @@
},
"yarl": {
"hashes": [
"sha256:0110f91c57ab43d1538dfa92d61c45e33b84df9257bd08fcfcda90cce931cbc9",
"sha256:01e02bb80ae0dbed44273c304095295106e1d9470460e773268a27d11e594892",
"sha256:0626ee31edb23ac36bdffe607231de2cca055ad3a5e2dc5da587ef8bc6a321bc",
"sha256:087ae8f8319848c18e0d114d0f56131a9c017f29200ab1413b0137ad7c83e2ae",
"sha256:0bae32f8ebd35c04d6528cedb4a26b8bf25339d3616b04613b97347f919b76d3",
"sha256:0df9f0221a78d858793f40cbea3915c29f969c11366646a92ca47e080a14f881",
"sha256:0e617d45d03c8dec0dfce6f51f3e1b8a31aa81aaf4a4d1442fdb232bcf0c6d8c",
"sha256:163ff326680de5f6d4966954cf9e3fe1bf980f5fee2255e46e89b8cf0f3418b5",
"sha256:1efbf4d03e6eddf5da27752e0b67a8e70599053436e9344d0969532baa99df53",
"sha256:217f69e60a14da4eed454a030ea8283f8fbd01a7d6d81e57efb865856822489b",
"sha256:24e4c367ad69988a2283dd45ea88172561ca24b2326b9781e164eb46eea68345",
"sha256:262087a8a0d73e1d169d45c2baf968126f93c97cf403e1af23a7d5455d52721f",
"sha256:2af682a1e97437382ee0791eacbf540318bd487a942e068e7e0a6c571fadbbd3",
"sha256:30eaf4459df6e91f21b2999d1ee18f891bcd51e3cbe1de301b4858c84385895b",
"sha256:32ba32d0fa23893fd8ea8d05bdb05de6eb19d7f2106787024fd969f4ba5466cb",
"sha256:3560dcba3c71ae7382975dc1e912ee76e50b4cd7c34b454ed620d55464f11876",
"sha256:362f5480ba527b6c26ff58cff1f229afe8b7fdd54ee5ffac2ab827c1a75fc71c",
"sha256:3b77173663e075d9e5a57e09d711e9da2f3266be729ecca0b8ae78190990d260",
"sha256:46ade37911b7c99ce28a959147cb28bffbd14cea9e7dd91021e06a8d2359a5aa",
"sha256:4815ec6d3d68a96557fa71bd36661b45ac773fb50e5cfa31a7e843edb098f060",
"sha256:528e86f5b1de0ad8dd758ddef4e0ed24f5d946d4a1cef80ffb2d4fca4e10f122",
"sha256:545575ecfcd465891b51546c2bcafdde0acd2c62c2097d8d71902050b20e4922",
"sha256:5507c1f7dd3d41251b67eecba331c8b2157cfd324849879bebf74676ce76aff7",
"sha256:5684e7ff93ea74e47542232bd132f608df4d449f8968fde6b05aaf9e08a140f9",
"sha256:57711f1465c06fee8825b95c0b83e82991e6d9425f9a042c3c19070a70ac92bf",
"sha256:57abd66ca913f2cfbb51eb3dbbbac3648f1f6983f614a4446e0802e241441d2a",
"sha256:57f3fed859af367b9ca316ecc05ce79ce327d6466342734305aa5cc380e4d8be",
"sha256:5864f539ce86b935053bfa18205fa08ce38e9a40ea4d51b19ce923345f0ed5db",
"sha256:59281b9ed27bc410e0793833bcbe7fc149739d56ffa071d1e0fe70536a4f7b61",
"sha256:5a70201dd1e0a4304849b6445a9891d7210604c27e67da59091d5412bc19e51c",
"sha256:5bc503e1c1fee1b86bcb58db67c032957a52cae39fe8ddd95441f414ffbab83e",
"sha256:63702f1a098d0eaaea755e9c9d63172be1acb9e2d4aeb28b187092bcc9ca2d17",
"sha256:66fc1c2926a73a2fb46e4b92e3a6c03904d9bc3a0b65e01cb7d2b84146a8bd3b",
"sha256:67a56b1acc7093451ea2de0687aa3bd4e58d6b4ef6cbeeaad137b45203deaade",
"sha256:68972df6a0cc47c8abaf77525a76ee5c5f6ea9bbdb79b9565b3234ded3c5e675",
"sha256:6ba0931b559f1345df48a78521c31cfe356585670e8be22af84a33a39f7b9221",
"sha256:70f384921c24e703d249a6ccdabeb57dd6312b568b504c69e428a8dd3e8e68ca",
"sha256:742ceffd3c7beeb2b20d47cdb92c513eef83c9ef88c46829f88d5b06be6734ee",
"sha256:75460740005de5a912b19f657848aef419387426a40f581b1dc9fac0eb9addb5",
"sha256:756b9ea5292a2c180d1fe782a377bc4159b3cfefaca7e41b5b0a00328ef62fa9",
"sha256:7908a25d33f94852b479910f9cae6cdb9e2a509894e8d5f416c8342c0253c397",
"sha256:7a8e19fd5a6fdf19a91f2409665c7a089ffe7b9b5394ab33c0eec04cbecdd01f",
"sha256:7b687c334da3ff8eab848c9620c47a253d005e78335e9ce0d6868ed7e8fd170b",
"sha256:7e4cb14a6ee5b6649ccf1c6d648b4da9220e8277d4d4380593c03cc08d8fe937",
"sha256:8015a076daf77823e7ebdcba474156587391dab4e70c732822960368c01251e6",
"sha256:8182ad422bfacdebd4759ce3adc6055c0c79d4740aea1104e05652a81cd868c6",
"sha256:8346ec72ada749a6b5d82bff7be72578eab056ad7ec38c04f668a685abde6af0",
"sha256:85ac908cd5a97bbd3048cca9f1bf37b932ea26c3885099444f34b0bf5d5e9fa6",
"sha256:8b3ade62678ee2c7c10dcd6be19045135e9badad53108f7d2ed14896ee396045",
"sha256:8c0b2371858d5a814b08542d5d548adb03ff2d7ab32f23160e54e92250961a72",
"sha256:961c3e401ea7f13d02b8bb7cb0c709152a632a6e14cdc8119e9c6ee5596cd45d",
"sha256:9931343d1c1f4e77421687b6b94bbebd8a15a64ab8279adf6fbb047eff47e536",
"sha256:9973ac95327f5d699eb620286c39365990b240031672b5c436a4cd00539596c5",
"sha256:9ba536b17ecf3c74a94239ec1137a3ad3caea8c0e4deb8c8d2ffe847d870a8c5",
"sha256:9fac2dd1c5ecb921359d9546bc23a6dcc18c6acd50c6d96f118188d68010f497",
"sha256:a251e00e445d2e9df7b827c9843c0b87f58a3254aaa3f162fb610747491fe00f",
"sha256:a39d7b807ab58e633ed760f80195cbd145b58ba265436af35f9080f1810dfe64",
"sha256:a5288adb7c59d0f54e4ad58d86fb06d4b26e08a59ed06d00a1aac978c0e32884",
"sha256:a626c4d9cca298d1be8625cff4b17004a9066330ac82d132bbda64a4c17c18d3",
"sha256:a727101eb27f66727576630d02985d8a065d09cd0b5fcbe38a5793f71b2a97ef",
"sha256:a93208282c0ccdf73065fd76c6c129bd428dba5ff65d338ae7d2ab27169861a0",
"sha256:aad67c8f13a4b79990082f72ef09c078a77de2b39899aabf3960a48069704973",
"sha256:acf9b92c4245ac8b59bc7ec66a38d3dcb8d1f97fac934672529562bb824ecadb",
"sha256:ada882e26b16ee651ab6544ce956f2f4beaed38261238f67c2a96db748e17741",
"sha256:ae584afe81a1de4c1bb06672481050f0d001cad13163e3c019477409f638f9b7",
"sha256:aee5b90a5a9b71ac57400a7bdd0feaa27c51e8f961decc8d412e720a004a1791",
"sha256:b0fe766febcf523a2930b819c87bb92407ae1368662c1bc267234e79b20ff894",
"sha256:b8179280cdeb4c36eb18d6534a328f9d40da60d2b96ac4a295c5f93e2799e9d9",
"sha256:c03607bf932aa4cfae371e2dc9ca8b76faf031f106dac6a6ff1458418140c165",
"sha256:c4228978fb59c6b10f60124ba8e311c26151e176df364e996f3f8ff8b93971b5",
"sha256:c515f7dd60ca724e4c62b34aeaa603188964abed2eb66bb8e220f7f104d5a187",
"sha256:cbeb9c145d534c240a63b6ecc8a8dd451faeb67b3dc61d729ec197bb93e29497",
"sha256:cd430c2b7df4ae92498da09e9b12cad5bdbb140d22d138f9e507de1aa3edfea3",
"sha256:cda34ab19099c3a1685ad48fe45172536610c312b993310b5f1ca3eb83453b36",
"sha256:d27a6482ad5e05e8bafd47bf42866f8a1c0c3345abcb48d4511b3c29ecc197dc",
"sha256:d8717924cf0a825b62b1a96fc7d28aab7f55a81bf5338b8ef41d7a76ab9223e9",
"sha256:d995122dcaf180fd4830a9aa425abddab7c0246107c21ecca2fa085611fa7ce9",
"sha256:dff065a1a8ed051d7e641369ba1ad030d5a707afac54cf4ede7069b959898835",
"sha256:e4807aab1bdeab6ae6f296be46337a260ae4b1f3a8c2fcd373e236b4b2b46efd",
"sha256:e66c14d162bac94973e767b24de5d7e6c5153f7305a64ff4fcba701210bcd638",
"sha256:e97d2f0a06b39e231e59ebab0e6eec45c7683b339e8262299ac952707bdf7688",
"sha256:ec2f56edaf476f70b5831bbd59700b53d9dd011b1f77cd4846b5ab5c5eafdb3f",
"sha256:eda3c2b42dc0c389b7cfda2c4df81c12eeb552019e0de28bde8f913fc3d1fcf3",
"sha256:f228f42f29cc87db67020f7d71624102b2c837686e55317b16e1d3ef2747a993",
"sha256:f408d4b4315e814e5c3668094e33d885f13c7809cbe831cbdc5b1bb8c7a448f4",
"sha256:f9b92431d8b4d4ca5ccbfdbac95b05a3a6cd70cd73aa62f32f9627acfde7549c",
"sha256:fd4b5fbd7b9dde785cfeb486b8cca211a0b138d4f3a7da27db89a25b3c482e5c"
"sha256:04d8cfb12714158abf2618f792c77bc5c3d8c5f37353e79509608be4f18705c9",
"sha256:04d9c7a1dc0a26efb33e1acb56c8849bd57a693b85f44774356c92d610369efa",
"sha256:06d06c9d5b5bc3eb56542ceeba6658d31f54cf401e8468512447834856fb0e61",
"sha256:077989b09ffd2f48fb2d8f6a86c5fef02f63ffe6b1dd4824c76de7bb01e4f2e2",
"sha256:083ce0393ea173cd37834eb84df15b6853b555d20c52703e21fbababa8c129d2",
"sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33",
"sha256:0a6a1e6ae21cdd84011c24c78d7a126425148b24d437b5702328e4ba640a8902",
"sha256:0acfaf1da020253f3533526e8b7dd212838fdc4109959a2c53cafc6db611bff2",
"sha256:119bca25e63a7725b0c9d20ac67ca6d98fa40e5a894bd5d4686010ff73397914",
"sha256:123393db7420e71d6ce40d24885a9e65eb1edefc7a5228db2d62bcab3386a5c0",
"sha256:18e321617de4ab170226cd15006a565d0fa0d908f11f724a2c9142d6b2812ab0",
"sha256:1a06701b647c9939d7019acdfa7ebbfbb78ba6aa05985bb195ad716ea759a569",
"sha256:2137810a20b933b1b1b7e5cf06a64c3ed3b4747b0e5d79c9447c00db0e2f752f",
"sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7",
"sha256:27359776bc359ee6eaefe40cb19060238f31228799e43ebd3884e9c589e63b20",
"sha256:2a8f64df8ed5d04c51260dbae3cc82e5649834eebea9eadfd829837b8093eb00",
"sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1",
"sha256:35d20fb919546995f1d8c9e41f485febd266f60e55383090010f272aca93edcc",
"sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f",
"sha256:3b4e88d6c3c8672f45a30867817e4537df1bbc6f882a91581faf1f6d9f0f1b5a",
"sha256:3b60a86551669c23dc5445010534d2c5d8a4e012163218fc9114e857c0586fdd",
"sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c",
"sha256:3e429857e341d5e8e15806118e0294f8073ba9c4580637e59ab7b238afca836f",
"sha256:40ed574b4df723583a26c04b298b283ff171bcc387bc34c2683235e2487a65a5",
"sha256:42fbe577272c203528d402eec8bf4b2d14fd49ecfec92272334270b850e9cd7d",
"sha256:4345f58719825bba29895011e8e3b545e6e00257abb984f9f27fe923afca2501",
"sha256:447c5eadd750db8389804030d15f43d30435ed47af1313303ed82a62388176d3",
"sha256:44869ee8538208fe5d9342ed62c11cc6a7a1af1b3d0bb79bb795101b6e77f6e0",
"sha256:484e7a08f72683c0f160270566b4395ea5412b4359772b98659921411d32ad26",
"sha256:4a34c52ed158f89876cba9c600b2c964dfc1ca52ba7b3ab6deb722d1d8be6df2",
"sha256:4ba5e59f14bfe8d261a654278a0f6364feef64a794bd456a8c9e823071e5061c",
"sha256:4c43030e4b0af775a85be1fa0433119b1565673266a70bf87ef68a9d5ba3174c",
"sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae",
"sha256:4d9949eaf05b4d30e93e4034a7790634bbb41b8be2d07edd26754f2e38e491de",
"sha256:4f1a350a652bbbe12f666109fbddfdf049b3ff43696d18c9ab1531fbba1c977a",
"sha256:53b2da3a6ca0a541c1ae799c349788d480e5144cac47dba0266c7cb6c76151fe",
"sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8",
"sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124",
"sha256:5d3d6d14754aefc7a458261027a562f024d4f6b8a798adb472277f675857b1eb",
"sha256:5d9b980d7234614bc4674468ab173ed77d678349c860c3af83b1fffb6a837ddc",
"sha256:634b7ba6b4a85cf67e9df7c13a7fb2e44fa37b5d34501038d174a63eaac25ee2",
"sha256:65a4053580fe88a63e8e4056b427224cd01edfb5f951498bfefca4052f0ce0ac",
"sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307",
"sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58",
"sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e",
"sha256:6d409e321e4addf7d97ee84162538c7258e53792eb7c6defd0c33647d754172e",
"sha256:70e0c580a0292c7414a1cead1e076c9786f685c1fc4757573d2967689b370e62",
"sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b",
"sha256:7595498d085becc8fb9203aa314b136ab0516c7abd97e7d74f7bb4eb95042abe",
"sha256:798a5074e656f06b9fad1a162be5a32da45237ce19d07884d0b67a0aa9d5fdda",
"sha256:7dc63ad0d541c38b6ae2255aaa794434293964677d5c1ec5d0116b0e308031f5",
"sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64",
"sha256:84aeb556cb06c00652dbf87c17838eb6d92cfd317799a8092cee0e570ee11229",
"sha256:85a231fa250dfa3308f3c7896cc007a47bc76e9e8e8595c20b7426cac4884c62",
"sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6",
"sha256:8681700f4e4df891eafa4f69a439a6e7d480d64e52bf460918f58e443bd3da7d",
"sha256:86de313371ec04dd2531f30bc41a5a1a96f25a02823558ee0f2af0beaa7ca791",
"sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672",
"sha256:8c12cd754d9dbd14204c328915e23b0c361b88f3cffd124129955e60a4fbfcfb",
"sha256:8d8a3d54a090e0fff5837cd3cc305dd8a07d3435a088ddb1f65e33b322f66a94",
"sha256:91bc450c80a2e9685b10e34e41aef3d44ddf99b3a498717938926d05ca493f6a",
"sha256:95b50910e496567434cb77a577493c26bce0f31c8a305135f3bda6a2483b8e10",
"sha256:95fc9876f917cac7f757df80a5dda9de59d423568460fe75d128c813b9af558e",
"sha256:9c2aa4387de4bc3a5fe158080757748d16567119bef215bec643716b4fbf53f9",
"sha256:9c366b254082d21cc4f08f522ac201d0d83a8b8447ab562732931d31d80eb2a5",
"sha256:a0bc5e05f457b7c1994cc29e83b58f540b76234ba6b9648a4971ddc7f6aa52da",
"sha256:a884b8974729e3899d9287df46f015ce53f7282d8d3340fa0ed57536b440621c",
"sha256:ab47acc9332f3de1b39e9b702d9c916af7f02656b2a86a474d9db4e53ef8fd7a",
"sha256:af4baa8a445977831cbaa91a9a84cc09debb10bc8391f128da2f7bd070fc351d",
"sha256:af5607159085dcdb055d5678fc2d34949bd75ae6ea6b4381e784bbab1c3aa195",
"sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594",
"sha256:b4230ac0b97ec5eeb91d96b324d66060a43fd0d2a9b603e3327ed65f084e41f8",
"sha256:b594113a301ad537766b4e16a5a6750fcbb1497dcc1bc8a4daae889e6402a634",
"sha256:b6c4c3d0d6a0ae9b281e492b1465c72de433b782e6b5001c8e7249e085b69051",
"sha256:b7fa0cb9fd27ffb1211cde944b41f5c67ab1c13a13ebafe470b1e206b8459da8",
"sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e",
"sha256:bb769ae5760cd1c6a712135ee7915f9d43f11d9ef769cb3f75a23e398a92d384",
"sha256:bc906b636239631d42eb8a07df8359905da02704a868983265603887ed68c076",
"sha256:bdb77efde644d6f1ad27be8a5d67c10b7f769804fff7a966ccb1da5a4de4b656",
"sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018",
"sha256:c27d98f4e5c4060582f44e58309c1e55134880558f1add7a87c1bc36ecfade19",
"sha256:c8703517b924463994c344dcdf99a2d5ce9eca2b6882bb640aa555fb5efc706a",
"sha256:c9471ca18e6aeb0e03276b5e9b27b14a54c052d370a9c0c04a68cefbd1455eb4",
"sha256:ce360ae48a5e9961d0c730cf891d40698a82804e85f6e74658fb175207a77cb2",
"sha256:d0bf955b96ea44ad914bc792c26a0edcd71b4668b93cbcd60f5b0aeaaed06c64",
"sha256:d2cbca6760a541189cf87ee54ff891e1d9ea6406079c66341008f7ef6ab61145",
"sha256:d4fad6e5189c847820288286732075f213eabf81be4d08d6cc309912e62be5b7",
"sha256:d88cc43e923f324203f6ec14434fa33b85c06d18d59c167a0637164863b8e995",
"sha256:db243357c6c2bf3cd7e17080034ade668d54ce304d820c2a58514a4e51d0cfd6",
"sha256:dd59c9dd58ae16eaa0f48c3d0cbe6be8ab4dc7247c3ff7db678edecbaf59327f",
"sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f",
"sha256:e52d6ed9ea8fd3abf4031325dc714aed5afcbfa19ee4a89898d663c9976eb487",
"sha256:ea52f7328a36960ba3231c6677380fa67811b414798a6e071c7085c57b6d20a9",
"sha256:eaddd7804d8e77d67c28d154ae5fab203163bd0998769569861258e525039d2a",
"sha256:f0cf05ae2d3d87a8c9022f3885ac6dea2b751aefd66a4f200e408a61ae9b7f0d",
"sha256:f106e75c454288472dbe615accef8248c686958c2e7dd3b8d8ee2669770d020f",
"sha256:f166eafa78810ddb383e930d62e623d288fb04ec566d1b4790099ae0f31485f1",
"sha256:f1f6670b9ae3daedb325fa55fbe31c22c8228f6e0b513772c2e1c623caa6ab22",
"sha256:f4d3fa9b9f013f7050326e165c3279e22850d02ae544ace285674cb6174b5d6d",
"sha256:f8d8aa8dd89ffb9a831fedbcb27d00ffd9f4842107d52dc9d57e64cb34073d5c",
"sha256:f9d02b591a64e4e6ca18c5e3d925f11b559c763b950184a64cf47d74d7e41877",
"sha256:faa709b66ae0e24c8e5134033187a972d849d87ed0a12a0366bedcc6b5dc14a5",
"sha256:fb0caeac4a164aadce342f1597297ec0ce261ec4532bbc5a9ca8da5622f53867",
"sha256:fdb5204d17cb32b2de2d1e21c7461cabfacf17f3645e4b9039f210c5d3378bf3"
],
"markers": "python_version >= '3.9'",
"version": "==1.19.0"
"version": "==1.20.0"
},
"yt-dlp": {
"hashes": [

View file

@ -6,6 +6,7 @@ import os
import re
import shutil
import time
from datetime import UTC, datetime
from email.utils import formatdate
import yt_dlp
@ -103,6 +104,8 @@ class Download:
self.is_manifestless = "is_manifestless" in self.info.options and self.info.options["is_manifestless"] is True
self.info_dict = info_dict
self.logger = logging.getLogger(f"Download.{info.id if info.id else info._id}")
self.started_time = 0
self.queue_time = datetime.now(tz=UTC)
def _progress_hook(self, data: dict):
dataDict = {k: v for k, v in data.items() if k in self._ytdlp_fields}
@ -225,6 +228,8 @@ class Download:
cls = yt_dlp.YoutubeDL(params=params)
self.started_time = int(time.time())
if isinstance(self.info_dict, dict) and len(self.info_dict) > 1:
self.logger.debug(f"Downloading '{self.info.url}' using pre-info.")
cls.process_ie_result(
@ -442,3 +447,37 @@ class Download:
self.logger.error(f"Failed to ffprobe: {status.get}. {e}")
await self._notify.emit(Events.UPDATED, data=self.info)
def is_stale(self) -> bool:
"""
Check if the download task is stale.
A download task is considered stale if it has not been updated for a certain period of time.
Returns:
bool: True if the download task is stale, False otherwise.
"""
if self.started_time < 1:
self.logger.debug(f"Download task '{self.info.title}: {self.info.id}' not started yet.")
return False
if int(time.time()) - self.started_time < 300:
self.logger.debug(
f"Download task '{self.info.title}: {self.info.id}' started for '{int(time.time()) - self.started_time}' seconds."
)
return False
if not self.running():
self.logger.warning(
f"Download task '{self.info.title}: {self.info.id}' not started running for '{int(time.time()) - self.started_time}' seconds."
)
return True
if self.info.status not in ["finished", "error", "cancelled", "downloading", "postprocessing"]:
status = self.info.status if self.info.status else "unknown"
self.logger.warning(
f"Download task '{self.info.title}: {self.info.id}' has been stuck in '{status}' state for '{int(time.time()) - self.started_time}' seconds."
)
return True
return False

View file

@ -21,6 +21,7 @@ from .Download import Download
from .Events import EventBus, Events, info
from .ItemDTO import Item, ItemDTO
from .Presets import Presets
from .Scheduler import Scheduler
from .Singleton import Singleton
from .Utils import arg_converter, calc_download_path, extract_info, is_downloaded, load_cookies
from .YTDLPOpts import YTDLPOpts
@ -89,6 +90,13 @@ class DownloadQueue(metaclass=Singleton):
"""
app.on_startup.append(lambda _: self.initialize())
Scheduler.get_instance().add(
timer="* * * * *",
func=self.monitor_queue_for_stale_items,
id=f"{__class__.__name__}.monitor_queue_for_stale_items",
)
# app.on_shutdown.append(self.on_shutdown)
# async def close_pool(_: web.Application):
@ -733,3 +741,21 @@ class DownloadQueue(metaclass=Singleton):
"""
keys = ("playlist", "external_downloader")
return any(key == k or key.startswith(k) for k in keys)
async def monitor_queue_for_stale_items(self):
"""
Monitor the queue for stale items and cancel them if needed.
"""
if self.is_paused() or not self.queue.has_downloads():
return
LOG.debug("Checking for stale items in the download queue.")
for id, item in list(self.queue.items()):
if not item.is_stale():
LOG.debug(f"Item '{item.info.id}: {item.info.title}: {item.info.status}' is not stale.")
continue
LOG.warning(
f"Cancelling staled item '{item.info.id}: {item.info.title}: {item.info.status}' download queue."
)
self.cancel([id])

View file

@ -344,7 +344,8 @@ class EventBus(metaclass=Singleton):
LOG.debug(f"Emitting event '{ev.id}: {ev.event}'.", extra={"data": data})
results = []
for handler in self._listeners[event].items():
for handler in self._listeners[event].values():
try:
results.append(asyncio.get_event_loop().run_until_complete(handler.handle(ev, **kwargs)))
except Exception as e:

View file

@ -56,7 +56,7 @@ class HttpSocket(Common):
def emit(e: Event, _, **kwargs):
return self.sio.emit(event=e.event, data=encoder.encode(e.data), **kwargs)
self._notify.subscribe("frontend", emit, f"{__class__.__name__}.socket_api")
self._notify.subscribe("frontend", emit, f"{__class__.__name__}.emit")
super().__init__(queue=queue, encoder=encoder, config=config)
@ -87,7 +87,7 @@ class HttpSocket(Common):
self._notify.subscribe(
Events.ADD_URL,
lambda data, _, **kwargs: self.add(item=Item.format(data.data)), # noqa: ARG005
f"{__class__.__name__}.socket_add_url",
f"{__class__.__name__}.add",
)
# register the shutdown event.

View file

@ -90,7 +90,7 @@ class Presets(metaclass=Singleton):
msg = "Not implemented"
raise Exception(msg)
EventBus.get_instance().subscribe(Events.PRESETS_ADD, event_handler, f"{__class__.__name__}.save")
EventBus.get_instance().subscribe(Events.PRESETS_ADD, event_handler, f"{__class__.__name__}.add")
@staticmethod
def get_instance() -> "Presets":

View file

@ -103,7 +103,7 @@ class Scheduler(metaclass=Singleton):
self._jobs[job_id] = job
LOG.debug(f"Added job {job_id} to the schedule.")
LOG.debug(f"Added job '{job_id}' to the schedule.")
return job_id
@ -132,7 +132,7 @@ class Scheduler(metaclass=Singleton):
return False
del self._jobs[id]
LOG.debug(f"Removed job {id} from the schedule.")
LOG.debug(f"Removed job '{id}' from the schedule.")
return True
return False

View file

@ -109,7 +109,7 @@ class Tasks(metaclass=Singleton):
self._notify.subscribe(
Events.TASKS_ADD,
lambda data, _, **kwargs: self.add(**data.data), # noqa: ARG005
f"{__class__.__name__}.save",
f"{__class__.__name__}.add",
)
def get_all(self) -> list[Task]:

View file

@ -84,10 +84,12 @@ class Main:
"""
EventBus.get_instance().sync_emit(Events.STARTUP, data={"app": self._app})
Scheduler.get_instance().attach(self._app)
self._socket.attach(self._app)
self._http.attach(self._app)
self._queue.attach(self._app)
Scheduler.get_instance().attach(self._app)
Tasks.get_instance().attach(self._app)
Presets.get_instance().attach(self._app)
Notification.get_instance().attach(self._app)

View file

@ -12,7 +12,7 @@
"web-types": "./web-types.json",
"dependencies": {
"@pinia/nuxt": "^0.11.0",
"@sentry/nuxt": "^9.12.0",
"@sentry/nuxt": "^9.13.0",
"@vueuse/core": "^13.1.0",
"@vueuse/nuxt": "^13.1.0",
"@xterm/addon-fit": "^0.10.0",

File diff suppressed because it is too large Load diff