Compare commits

..

2 Commits

Author SHA1 Message Date
Coding Idiot
d5a5f6b2c2 Modify base class and restaple test data 2024-01-20 10:10:51 -05:00
dasidiot
653308eb56
Apply suggestions from code review
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
2024-01-20 10:05:02 -05:00

View File

@ -177,6 +177,7 @@ class MotherlessIE(InfoExtractor):
class MotherlessPaginatedIE(InfoExtractor): class MotherlessPaginatedIE(InfoExtractor):
_EXTRA_QUERY = {}
_PAGE_SIZE = 60 _PAGE_SIZE = 60
def _correct_path(self, url, item_id): def _correct_path(self, url, item_id):
@ -199,7 +200,7 @@ class MotherlessPaginatedIE(InfoExtractor):
def get_page(idx): def get_page(idx):
page = idx + 1 page = idx + 1
current_page = webpage if not idx else self._download_webpage( current_page = webpage if not idx else self._download_webpage(
real_url, item_id, note=f'Downloading page {page}', query={'page': page}) real_url, item_id, note=f'Downloading page {page}', query={'page': page, **self._EXTRA_QUERY})
yield from self._extract_entries(current_page, real_url) yield from self._extract_entries(current_page, real_url)
return self.playlist_result( return self.playlist_result(
@ -213,7 +214,7 @@ class MotherlessGroupIE(MotherlessPaginatedIE):
'url': 'http://motherless.com/gv/movie_scenes', 'url': 'http://motherless.com/gv/movie_scenes',
'info_dict': { 'info_dict': {
'id': 'movie_scenes', 'id': 'movie_scenes',
'title': 'Movie Scenes', 'title': 'Movie Scenes - Videos - Hot and sexy scenes from "regular" movies... Beautiful actresses fully',
}, },
'playlist_mincount': 540, 'playlist_mincount': 540,
}, { }, {
@ -244,7 +245,7 @@ class MotherlessGalleryIE(MotherlessPaginatedIE):
'id': '338999F', 'id': '338999F',
'title': 'Random', 'title': 'Random',
}, },
'playlist_mincount': 190, 'playlist_mincount': 171,
}, { }, {
'url': 'https://motherless.com/GVABD6213', 'url': 'https://motherless.com/GVABD6213',
'info_dict': { 'info_dict': {
@ -273,7 +274,7 @@ class MotherlessGalleryIE(MotherlessPaginatedIE):
class MotherlessUploaderIE(MotherlessPaginatedIE): class MotherlessUploaderIE(MotherlessPaginatedIE):
_VALID_URL = r'https?://(?:www\.)?motherless\.com/u/(?P<id>[a-zA-Z0-9_]+)($|\?t=v)' _VALID_URL = r'https?://(?:www\.)?motherless\.com/u/(?P<id>\w+)/?(?:$|[?#])'
_TESTS = [{ _TESTS = [{
'url': 'https://motherless.com/u/Mrgo4hrs2023', 'url': 'https://motherless.com/u/Mrgo4hrs2023',
'info_dict': { 'info_dict': {
@ -290,20 +291,7 @@ class MotherlessUploaderIE(MotherlessPaginatedIE):
'playlist_mincount': 8, 'playlist_mincount': 8,
}] }]
def _real_extract(self, url): _EXTRA_QUERY = {'t': 'v'}
item_id = self._match_id(url)
real_url = self._correct_path(url, item_id)
webpage = self._download_webpage(real_url, item_id, 'Downloading page 1')
def get_page(idx):
page = idx + 1
current_page = webpage if not idx else self._download_webpage(
real_url, item_id, note=f'Downloading page {page}', query={'page': page, 't': 'v'})
yield from self._extract_entries(current_page, real_url)
return self.playlist_result(
OnDemandPagedList(get_page, self._PAGE_SIZE), item_id,
remove_end(self._html_extract_title(webpage), ' | MOTHERLESS.COM ™'))
def _correct_path(self, url, item_id): def _correct_path(self, url, item_id):
return urllib.parse.urljoin(url, f'/u/{item_id}?t=v') return urllib.parse.urljoin(url, f'/u/{item_id}?t=v')