From 12125ad6f4aabed1c4d0f328c33eb0717a8431ef Mon Sep 17 00:00:00 2001
From: Mole Shang <135e2@135e2.dev>
Date: Wed, 9 Aug 2023 19:48:06 +0800
Subject: extractors/bilibili: fix page in filename

---
 src/extractors/bilibili.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/extractors/bilibili.c b/src/extractors/bilibili.c
index 5b98f26..b088e95 100644
--- a/src/extractors/bilibili.c
+++ b/src/extractors/bilibili.c
@@ -402,16 +402,28 @@ static int download(Bilibili_options *bilibili_options) {
 
   {
     callback_struct.videofn = malloc(strlen(callback_struct.filename) + 6);
-    sprintf(callback_struct.videofn, "%s[%s]-%s.%s", bilibili_options->title,
-            quality_desc, "video", ext);
+    if (bilibili_options->is_page) {
+      sprintf(callback_struct.videofn, "%s-P%d-[%s]-%s.%s",
+              bilibili_options->title, bilibili_options->page, quality_desc,
+              "video", ext);
+    } else {
+      sprintf(callback_struct.videofn, "%s[%s]-%s.%s", bilibili_options->title,
+              quality_desc, "video", ext);
+    }
     set_referer("https://www.bilibili.com");
     add_url(video->baseUrl, NULL, callback_struct.videofn, NULL, NULL);
   }
 
   {
     callback_struct.audiofn = malloc(strlen(callback_struct.filename) + 6);
-    sprintf(callback_struct.audiofn, "%s[%s]-%s.%s", bilibili_options->title,
-            quality_desc, "audio", mimeType2ext(audio->mimeType));
+    if (bilibili_options->is_page) {
+      sprintf(callback_struct.audiofn, "%s-P%d-[%s]-%s.%s",
+              bilibili_options->title, bilibili_options->page, quality_desc,
+              "audio", mimeType2ext(audio->mimeType));
+    } else {
+      sprintf(callback_struct.audiofn, "%s[%s]-%s.%s", bilibili_options->title,
+              quality_desc, "audio", mimeType2ext(audio->mimeType));
+    }
     add_url(audio->baseUrl, NULL, callback_struct.audiofn, &bilibili_merge,
             &callback_struct);
   }
-- 
cgit v1.2.3