diff options
| author | 2025-01-06 01:56:35 -0500 | |
|---|---|---|
| committer | 2025-01-06 01:56:35 -0500 | |
| commit | f816c2364b515fa54052976720323a65fdf28e79 (patch) | |
| tree | 14d72a9c5ea76b162776dd43841963b26c71a08a /gallery_dl/extractor/subscribestar.py | |
| parent | bdbc5d703947e14c9fa1e81e8744dfb92c26555f (diff) | |
| parent | 63b6119a44afe2be9563acffd72aa974bb9d7f17 (diff) | |
Update upstream source from tag 'upstream/1.28.3'
Update to upstream version '1.28.3'
with Debian dir fe41cbe50ee9a08af1064b39f7e0695bbb30046b
Diffstat (limited to 'gallery_dl/extractor/subscribestar.py')
| -rw-r--r-- | gallery_dl/extractor/subscribestar.py | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/gallery_dl/extractor/subscribestar.py b/gallery_dl/extractor/subscribestar.py index 7c760ac..8668330 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)" @@ -98,9 +99,10 @@ class SubscribestarExtractor(Extractor): media.append(item) attachments = text.extr( - html, 'class="uploads-docs"', 'data-role="post-edit_form"') + 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="', '"')), @@ -110,6 +112,20 @@ class SubscribestarExtractor(Extractor): "type": "attachment", }) + audios = text.extr( + html, 'class="uploads-audios"', 'class="post-edit_form"') + if audios: + for audio in re.split( + r'class="audio_preview-data[" ]', audios)[1:]: + media.append({ + "id" : text.parse_int(text.extr( + audio, 'data-upload-id="', '"')), + "name": text.unescape(text.extr( + audio, 'audio_preview-title">', '<')), + "url" : text.unescape(text.extr(audio, 'src="', '"')), + "type": "audio", + }) + return media def _data_from_post(self, html): @@ -121,9 +137,7 @@ class SubscribestarExtractor(Extractor): "author_nick": text.unescape(extr('>', '<')), "date" : self._parse_datetime(extr( 'class="post-date">', '</').rpartition(">")[2]), - "content" : (extr( - '<div class="post-content', '<div class="post-uploads') - .partition(">")[2]), + "content" : extr('<body>', '</body>').strip(), } def _parse_datetime(self, dt): @@ -180,7 +194,5 @@ class SubscribestarPostExtractor(SubscribestarExtractor): "author_nick": text.unescape(extr('alt="', '"')), "date" : self._parse_datetime(extr( '<span class="star_link-types">', '<')), - "content" : (extr( - '<div class="post-content', '<div class="post-uploads') - .partition(">")[2]), + "content" : extr('<body>', '</body>').strip(), } |
