diff --git a/gallery_dl/extractor/bunkr.py b/gallery_dl/extractor/bunkr.py
index b2f6431b..cf5bce10 100644
--- a/gallery_dl/extractor/bunkr.py
+++ b/gallery_dl/extractor/bunkr.py
@@ -160,7 +160,7 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
file = self._extract_file(data_id)
file["name"] = util.json_loads(text.extr(
- item, 'original:', ',\n'))
+ item, 'original:', ',\n').replace("\\'", "'"))
file["slug"] = util.json_loads(text.extr(
item, 'slug: ', ',\n'))
file["uuid"] = text.extr(
@@ -175,7 +175,7 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
raise
except Exception as exc:
self.log.error("%s: %s", exc.__class__.__name__, exc)
- self.log.debug("", exc_info=exc)
+ self.log.debug("%s", item, exc_info=exc)
def _extract_file(self, data_id):
referer = f"{self.root_dl}/file/{data_id}"
@@ -219,8 +219,8 @@ class BunkrMediaExtractor(BunkrAlbumExtractor):
page = self.request(f"{self.root}{album_id}").text
data_id = text.extr(page, 'data-file-id="', '"')
file = self._extract_file(data_id)
- file["name"] = text.unescape(text.extr(
- page, "
")[2])
+ file["name"] = text.unquote(text.unescape(text.extr(
+ page, "")[2]))
file["slug"] = album_id.rpartition("/")[2]
file["uuid"] = text.extr(page, "/thumbs/", ".")
except Exception as exc:
diff --git a/test/results/bunkr.py b/test/results/bunkr.py
index 0c7177f7..b2f2219b 100644
--- a/test/results/bunkr.py
+++ b/test/results/bunkr.py
@@ -39,7 +39,10 @@ __tests__ = (
"#results" : (
"https://mlk-bk.cdn.gigachad-cdn.ru/image-sZrQUeOx.jpg",
),
- "#sha1_content": "55998743751dfe008d0e95605114fcbfa7dc4de8",
+ "#sha1_content": (
+ "55998743751dfe008d0e95605114fcbfa7dc4de8",
+ "caf7c3d3439d94e83b3c24ddaf5a3a48aa057519",
+ ),
"album_id" : "iXTTc1o2",
"album_name" : "test2",
@@ -196,6 +199,42 @@ __tests__ = (
"#class" : bunkr.BunkrAlbumExtractor,
},
+{
+ "#url" : "https://bunkr.cr/a/z5Xt6NqH",
+ "#comment" : "filenames (#8150)",
+ "#category": ("lolisafe", "bunkr", "album"),
+ "#class" : bunkr.BunkrAlbumExtractor,
+ "#results" : (
+ "https://beer.bunkr.ru/acba241d-c1e8-40c3-aa73-94daf75fcd13.jpg",
+ "https://cake.bunkr.ru/e997f757-61dc-45be-bd61-b6998d813beb.jpg",
+ "https://cake.bunkr.ru/72f1e20b-72a5-43b0-8ab2-472016e1d767.mp4",
+ ),
+
+ "album_id" : "z5Xt6NqH",
+ "album_name": "filename",
+ "album_size": "1.82 MB",
+ "count" : 3,
+ "date" : "type:datetime",
+ "extension" : {"jpg", "mp4"},
+ "file" : str,
+ "id" : "",
+ "name" : str,
+ "num" : range(1, 3),
+ "id_url" : {"53118207", "53118010", "53117871"},
+ "size" : {490885, 727670, 687238},
+ "slug" : {"Nzt1ID7lsgwR4", "Bu0e2k6gOB5di", "PwrDbEgQODSls"},
+ "filename" : {
+ "'\"'",
+ "😃",
+ """filename: !"#$%&\'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]""",
+ },
+ "uuid" : {
+ "acba241d-c1e8-40c3-aa73-94daf75fcd13",
+ "e997f757-61dc-45be-bd61-b6998d813beb",
+ "72f1e20b-72a5-43b0-8ab2-472016e1d767",
+ },
+},
+
{
"#url" : "https://bunkr.black/i/image-sZrQUeOx.jpg",
"#category": ("lolisafe", "bunkr", "media"),
@@ -277,4 +316,18 @@ __tests__ = (
"name" : "IMG_47272f2c698d257fd22f4300ae98ec35929b",
},
+{
+ "#url" : "https://bunkr.pk/f/Nzt1ID7lsgwR4",
+ "#category": ("lolisafe", "bunkr", "media"),
+ "#class" : bunkr.BunkrMediaExtractor,
+ "#results" : "https://beer.bunkr.ru/acba241d-c1e8-40c3-aa73-94daf75fcd13.jpg",
+
+ "filename" : "'\"'",
+ "id" : "",
+ "id_url" : "53118207",
+ "name" : "'\"'",
+ "slug" : "Nzt1ID7lsgwR4",
+ "uuid" : "acba241d-c1e8-40c3-aa73-94daf75fcd13",
+},
+
)