From 671297a8cc61bc3f14d98e2d92cfa6fcc429b00b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 2 Jan 2025 18:22:15 +0100 Subject: [PATCH] [subscribestar] extend fix + add test some attachments are inside an element with an additional class besides 'doc_preview', e.g. 'class="doc_preview for_post"' --- gallery_dl/extractor/subscribestar.py | 7 +++++-- test/results/subscribestar.py | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/subscribestar.py b/gallery_dl/extractor/subscribestar.py index b22310c3..c0a46cc0 100644 --- a/gallery_dl/extractor/subscribestar.py +++ b/gallery_dl/extractor/subscribestar.py @@ -11,6 +11,7 @@ from .common import Extractor, Message from .. import text, util, exception from ..cache import cache +import re BASE_PATTERN = r"(?:https?://)?(?:www\.)?subscribestar\.(com|adult)" @@ -100,7 +101,8 @@ class SubscribestarExtractor(Extractor): attachments = text.extr( html, 'class="uploads-docs"', 'class="post-edit_form"') if attachments: - for att in attachments.split('class="doc_preview"')[1:]: + for att in re.split( + r'class="doc_preview[" ]', attachments)[1:]: media.append({ "id" : text.parse_int(text.extr( att, 'data-upload-id="', '"')), @@ -113,7 +115,8 @@ class SubscribestarExtractor(Extractor): audios = text.extr( html, 'class="uploads-audios"', 'class="post-edit_form"') if audios: - for audio in audios.split('class="audio_preview-data"')[1:]: + for audio in re.split( + r'class="audio_preview-data[" ]', audios)[1:]: media.append({ "id" : text.parse_int(text.extr( audio, 'data-upload-id="', '"')), diff --git a/test/results/subscribestar.py b/test/results/subscribestar.py index 8fe6d8dc..c99f2b46 100644 --- a/test/results/subscribestar.py +++ b/test/results/subscribestar.py @@ -70,6 +70,24 @@ __tests__ = ( "width" : 700, }, +{ + "#url" : "https://www.subscribestar.com/posts/920015", + "#comment" : "attachment (#6721)", + "#category": ("", "subscribestar", "post"), + "#class" : subscribestar.SubscribestarPostExtractor, + "#range" : "2", + "#pattern" : r"https://ss-uploads-prod\.b-cdn\.net/uploads_v2/users/11/posts/920015/bc018a55-9668-47f4-a664-b5fd66b56aaa\.pdf\?token=.+", + + "date" : "dt:2023-05-30 09:20:00", + "extension": "pdf", + "filename" : "Training for freelancers - Fiverr", + "id" : 1957727, + "name" : "Training for freelancers - Fiverr.pdf", + "num" : 2, + "post_id" : 920015, + "type" : "attachment", +}, + { "#url" : "https://subscribestar.adult/posts/22950", "#category": ("", "subscribestar", "post-adult"),