From 723c47d045506f87855dfabb26cdac027701e9e9 Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Sun, 31 Dec 2023 15:38:27 +0300 Subject: [PATCH 1/3] updated ytdlp_workflow --- .github/workflows/update-yt-dlp.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/update-yt-dlp.yml b/.github/workflows/update-yt-dlp.yml index 19812327..dbf11ac2 100644 --- a/.github/workflows/update-yt-dlp.yml +++ b/.github/workflows/update-yt-dlp.yml @@ -26,16 +26,21 @@ jobs: with: python-version: "3.11" - name: Update yt-dlp + id: ytdlp_update run: | pip install pipenv pipenv sync VER=`pipenv run pip list -o | awk '$1 == "yt-dlp" {print $3}'` if [ -n "$VER" ]; then + echo "YTLDLP_VER=${VER}" >> "$GITHUB_OUTPUT" pipenv update yt-dlp fi - name: Create Pull Request uses: peter-evans/create-pull-request@v5 with: + title: "Update yt-dlp" + commit-message: "Update yt-dlp to ${{ steps.ytdlp_update.outputs.YTLDLP_VER }}" + body: "This is an automated request to update yt-dlp dependency to ${{ steps.ytdlp_update.outputs.YTLDLP_VER }}" delete-branch: true From 83a2d8628b8c2c74acbd41b440ce5f23162a09cb Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Sun, 31 Dec 2023 15:47:14 +0300 Subject: [PATCH 2/3] Fixes --- Pipfile.lock | 84 +++++++++++----------- frontend/src/components/Page-Completed.vue | 10 ++- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index c4a9caec..ea27d3d4 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -131,11 +131,11 @@ }, "attrs": { "hashes": [ - "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", - "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" + "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30", + "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1" ], "markers": "python_version >= '3.7'", - "version": "==23.1.0" + "version": "==23.2.0" }, "bidict": { "hashes": [ @@ -558,41 +558,41 @@ }, "pycryptodomex": { "hashes": [ - "sha256:09c9401dc06fb3d94cb1ec23b4ea067a25d1f4c6b7b118ff5631d0b5daaab3cc", - "sha256:0b2f1982c5bc311f0aab8c293524b861b485d76f7c9ab2c3ac9a25b6f7655975", - "sha256:136b284e9246b4ccf4f752d435c80f2c44fc2321c198505de1d43a95a3453b3c", - "sha256:1789d89f61f70a4cd5483d4dfa8df7032efab1118f8b9894faae03c967707865", - "sha256:2126bc54beccbede6eade00e647106b4f4c21e5201d2b0a73e9e816a01c50905", - "sha256:258c4233a3fe5a6341780306a36c6fb072ef38ce676a6d41eec3e591347919e8", - "sha256:263de9a96d2fcbc9f5bd3a279f14ea0d5f072adb68ebd324987576ec25da084d", - "sha256:50cb18d4dd87571006fd2447ccec85e6cec0136632a550aa29226ba075c80644", - "sha256:5b883e1439ab63af976656446fb4839d566bb096f15fc3c06b5a99cde4927188", - "sha256:5d73e9fa3fe830e7b6b42afc49d8329b07a049a47d12e0ef9225f2fd220f19b2", - "sha256:61056a1fd3254f6f863de94c233b30dd33bc02f8c935b2000269705f1eeeffa4", - "sha256:67c8eb79ab33d0fbcb56842992298ddb56eb6505a72369c20f60bc1d2b6fb002", - "sha256:6e45bb4635b3c4e0a00ca9df75ef6295838c85c2ac44ad882410cb631ed1eeaa", - "sha256:7cb51096a6a8d400724104db8a7e4f2206041a1f23e58924aa3d8d96bcb48338", - "sha256:800a2b05cfb83654df80266692f7092eeefe2a314fa7901dcefab255934faeec", - "sha256:8df69e41f7e7015a90b94d1096ec3d8e0182e73449487306709ec27379fff761", - "sha256:917033016ecc23c8933205585a0ab73e20020fdf671b7cd1be788a5c4039840b", - "sha256:a12144d785518f6491ad334c75ccdc6ad52ea49230b4237f319dbb7cef26f464", - "sha256:a3866d68e2fc345162b1b9b83ef80686acfe5cec0d134337f3b03950a0a8bf56", - "sha256:a588a1cb7781da9d5e1c84affd98c32aff9c89771eac8eaa659d2760666f7139", - "sha256:a77b79852175064c822b047fee7cf5a1f434f06ad075cc9986aa1c19a0c53eb0", - "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6", - "sha256:b801216c48c0886742abf286a9a6b117e248ca144d8ceec1f931ce2dd0c9cb40", - "sha256:bfb040b5dda1dff1e197d2ef71927bd6b8bfcb9793bc4dfe0bb6df1e691eaacb", - "sha256:c01678aee8ac0c1a461cbc38ad496f953f9efcb1fa19f5637cbeba7544792a53", - "sha256:c74eb1f73f788facece7979ce91594dc177e1a9b5d5e3e64697dd58299e5cb4d", - "sha256:c9a68a2f7bd091ccea54ad3be3e9d65eded813e6d79fdf4cc3604e26cdd6384f", - "sha256:d4dd3b381ff5a5907a3eb98f5f6d32c64d319a840278ceea1dcfcc65063856f3", - "sha256:e8e5ecbd4da4157889fce8ba49da74764dd86c891410bfd6b24969fa46edda51", - "sha256:eb2fc0ec241bf5e5ef56c8fbec4a2634d631e4c4f616a59b567947a0f35ad83c", - "sha256:edbe083c299835de7e02c8aa0885cb904a75087d35e7bab75ebe5ed336e8c3e2", - "sha256:ff64fd720def623bf64d8776f8d0deada1cc1bf1ec3c1f9d6f5bb5bd098d034f" + "sha256:011e859026ecbd15b8e720e8992361186e582cf726c50bde6ff8c0c05e820ddf", + "sha256:0b42e2743893f386dfb58fe24a4c8be5305c3d1c825d5f23d9e63fd0700d1110", + "sha256:0b7154aff2272962355f8941fd514104a88cb29db2d8f43a29af900d6398eb1c", + "sha256:0bc4b7bfaac56e6dfd62044847443a3d110c7abea7fcb0d68c1aea64ed3a6697", + "sha256:10c2eed4efdfa084b602ab922e699a0a2ba82053baebfc8afcaf27489def7955", + "sha256:1c04cfff163c05d033bf28e3c4429d8222796738c7b6c1638b9d7090b904611e", + "sha256:23707238b024b36c35dd3428f5af6c1f0c5ef54c21e387a2063633717699b8b2", + "sha256:371bbe0be17b4dd8cc0c2f378d75ea33f00d5a39884c09a672016ac40145a5fa", + "sha256:39eb1f82ac3ba3e39d866f38e480e8fa53fcdd22260340f05f54a8188d47d510", + "sha256:3f3c58971784fba0e014bc3f8aed1197b86719631e1b597d36d7354be5598312", + "sha256:5ca98de2e5ac100e57a7116309723360e8f799f722509e376dc396cdf65eec9c", + "sha256:62f51a63d73153482729904381dd2de86800b0733a8814ee8f072fa73e5c92fb", + "sha256:76414d39df6b45bcc4f38cf1ba2031e0f4b8e99d1ba3c2eee31ffe1b9f039733", + "sha256:8dffe067d5fff14dba4d18ff7d459cc2a47576d82dafbff13a8f1199c3353e41", + "sha256:96000b837bcd8e3bf86b419924a056c978e45027281e4318650c81c25a3ef6cc", + "sha256:9919a1edd2a83c4dfb69f1d8a4c0c5efde7147ef15b07775633372b80c90b5d8", + "sha256:aab7941c2ff53eb63cb26252770e4f14386d79ce07baeffbf98a1323c1646545", + "sha256:ac562e239d98cfef763866c0aee4586affb0d58c592202f06c87241af99db241", + "sha256:ae75eea2e908383fd4c659fdcfe9621a72869e3e3ee73904227e93b7f7b80b54", + "sha256:b5c336dc698650283ad06f8c0237a984087d0af9f403ff21d633507335628156", + "sha256:beb5f0664f49b6093da179ee8e27c1d670779f50b9ece0886ce491bb8bd63728", + "sha256:c1ae2fb8d5d6771670436dcc889b293e363c97647a6d31c21eebc12b7b760010", + "sha256:c9332b04bf3f838327087b028f690f4ddb9341eb014a0221e79b9c19a77f7555", + "sha256:c9cb88ed323be1aa642b3c17cd5caa1a03c3a8fbad092d48ecefe88e328ffae3", + "sha256:d45d0d35a238d838b872598fa865bbfb31aaef9aeeda77c68b04ef79f9a469dc", + "sha256:d7a77391fd351ff1bdf8475558ddc6e92950218cb905419ee14aa02f370f1054", + "sha256:de5a43901e47e7a6938490fc5de3074f6e35c8b481a75b227c0d24d6099bd41d", + "sha256:e94a7e986b117b72e9472f8eafdd81748dafff30815401f9760f759f1debe9ef", + "sha256:ed3bdda44cc05dd13eee697ab9bea6928531bb7b218e68e66d0d3eb2ebab043e", + "sha256:f24f49fc6bd706d87048654d6be6c7c967d6836d4879e3a7c439275fab9948ad", + "sha256:f8a97b1acd36e9ce9d4067d94a8be99c458f0eb8070828639302a95cfcf0770b", + "sha256:f8b3d9e7c17c1ffc1fa5b11c0bbab8a5df3de8596bb32ad30281b21e5ede4bf5" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==3.19.0" + "version": "==3.19.1" }, "python-dateutil": { "hashes": [ @@ -604,11 +604,11 @@ }, "python-engineio": { "hashes": [ - "sha256:2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164", - "sha256:6055ce35b7f32b70641d53846faf76e06f2af0107a714cedb2750595c69ade43" + "sha256:70a7700ec68e6a1e0f40eb34533f47dfbd0418a87746a60a54d2ff3b4179be25", + "sha256:fadc39c66348f96476d8dc2d7aaee7ea0a39d96e333217f5321300677b980121" ], "markers": "python_version >= '3.6'", - "version": "==4.8.0" + "version": "==4.8.1" }, "python-socketio": { "hashes": [ @@ -849,11 +849,11 @@ }, "yt-dlp": { "hashes": [ - "sha256:0322ba85aa4afdb75f8641ed550e5958964daff034aeb477abb15031fd9a51ed", - "sha256:f0ccdaf12e08b15902601a4671c7ab12906d7b11de3ae75fa6506811c24ec5da" + "sha256:a11862e57721b0a0f0883dfeb5a4d79ba213a2d4c45e1880e9fd70f8e6570c38", + "sha256:c00d9a71d64472ad441bcaa1ec0c3797d6e60c9f934f270096a96fe51657e7b3" ], "index": "pypi", - "version": "==2023.11.16" + "version": "==2023.12.30" } }, "develop": {} diff --git a/frontend/src/components/Page-Completed.vue b/frontend/src/components/Page-Completed.vue index 6eab8911..fd9a9b01 100644 --- a/frontend/src/components/Page-Completed.vue +++ b/frontend/src/components/Page-Completed.vue @@ -67,7 +67,7 @@
-
+
selectedElms.value.length > 0) const hasItems = computed(() => Object.keys(props.completed)?.length > 0) const getTotal = computed(() => Object.keys(props.completed)?.length); +const hasError = (item) => { + if (item.status === 'finished') { + return false; + } + + return (item.error || (item.msg && item.msg.length > 0)) ? true : false; +} + const hasFailed = computed(() => { if (Object.keys(props.completed)?.length < 0) { return false; From 02972584059fe5935e1ed3266c341fd856588457 Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Sun, 31 Dec 2023 16:05:35 +0300 Subject: [PATCH 3/3] fixed minor display issue --- app/src/Download.py | 16 ++++++++++------ frontend/src/components/Page-Completed.vue | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/Download.py b/app/src/Download.py index 1691b972..b76d47d5 100644 --- a/app/src/Download.py +++ b/app/src/Download.py @@ -9,6 +9,7 @@ import shutil import yt_dlp from src.Utils import get_format, get_opts, jsonCookie, mergeConfig from src.DTO.ItemDTO import ItemDTO +from src.Notifier import Notifier log = logging.getLogger('download') @@ -25,7 +26,7 @@ class Download: default_ytdl_opts: dict = None debug: bool = False tempPath: str = None - + notifier: Notifier = None _ytdlp_fields: tuple = ( 'tmpfilename', 'filename', @@ -146,15 +147,15 @@ class Download: logging.debug(f'Deleting Temp directory: {self.tempPath}') shutil.rmtree(self.tempPath, ignore_errors=True) - async def start(self, notifier): + async def start(self, notifier: Notifier): if self.manager is None: self.manager = multiprocessing.Manager() self.status_queue = self.manager.Queue() - self.proc = multiprocessing.Process(target=self._download) - self.proc.start() self.loop = asyncio.get_running_loop() self.notifier = notifier + self.proc = multiprocessing.Process(target=self._download) + self.proc.start() self.info.status = 'preparing' await self.notifier.updated(self.info) asyncio.create_task(self.update_status()) @@ -198,13 +199,16 @@ class Download: self.info.status = status['status'] self.info.msg = status.get('msg') + if 'error' == self.info.status: + self.info.error = status.get('msg') if 'downloaded_bytes' in status: total = status.get('total_bytes') or status.get( 'total_bytes_estimate') if total: - self.info.percent = status['downloaded_bytes'] / \ - total * 100 + perc = status['downloaded_bytes'] / total * 100 + self.info.percent = perc + self.info.total_bytes = total self.info.speed = status.get('speed') self.info.eta = status.get('eta') diff --git a/frontend/src/components/Page-Completed.vue b/frontend/src/components/Page-Completed.vue index fd9a9b01..a81465fb 100644 --- a/frontend/src/components/Page-Completed.vue +++ b/frontend/src/components/Page-Completed.vue @@ -82,7 +82,7 @@
{{ item.error }}
-
+
{{ item.msg }}