diff --git a/app/Download.py b/app/Download.py index 261b37d9..6978d289 100644 --- a/app/Download.py +++ b/app/Download.py @@ -185,6 +185,10 @@ class Download: if status is None: return + if isinstance(status, str): + await self.notifier.updated(self.info) + return + self.tmpfilename = status.get('tmpfilename') if 'filename' in status: @@ -196,7 +200,7 @@ class Download: self.info.filename = re.sub( r'\.webm$', '.jpg', self.info.filename) - self.info.status = status['status'] + self.info.status = status.get('status', self.info.status) self.info.msg = status.get('msg') if 'downloaded_bytes' in status: @@ -210,4 +214,7 @@ class Download: self.info.speed = status.get('speed') self.info.eta = status.get('eta') + if self.info.status == 'finished' and 'filename' in status and self.info.format != 'thumbnail': + self.info.file_size = os.path.getsize(status.get('filename')) + await self.notifier.updated(self.info) diff --git a/app/ItemDTO.py b/app/ItemDTO.py index 423a5326..2cc5013f 100644 --- a/app/ItemDTO.py +++ b/app/ItemDTO.py @@ -24,6 +24,7 @@ class ItemDTO: is_live: bool = None datetime: str = field(default_factory=lambda: str(formatdate(time.time()))) live_in: str = None + file_size: int = None # yt-dlp injected fields. tmpfilename: str = None diff --git a/app/main.py b/app/main.py index 62f8941c..680aa4f0 100644 --- a/app/main.py +++ b/app/main.py @@ -107,7 +107,6 @@ class Main: ) async def connect(self, sid, _): - self.logger.info(f'Config [{self.config.__dict__}].') data: dict = { **self.dqueue.get(), "config": self.config, diff --git a/frontend/src/components/Page-Completed.vue b/frontend/src/components/Page-Completed.vue index 55909b70..3d605f7c 100644 --- a/frontend/src/components/Page-Completed.vue +++ b/frontend/src/components/Page-Completed.vue @@ -85,7 +85,7 @@
{{ item.msg }}
-
+
@@ -95,18 +95,21 @@ {{ capitalize(item.status) }}
-
+
{{ moment(item.datetime).fromNow() }}
-
+
{{ moment(item.live_in).fromNow() }}
-
+
+ {{ formatBytes(item.file_size) }} +
+