🐛 fix: catch `NoAccessPermissionError` at get info stage (#464)

This commit is contained in:
Nyakku Shigure 2025-03-15 14:12:11 +08:00 committed by GitHub
parent 66ac62edbd
commit 7c29fa43a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 14 additions and 14 deletions

View File

@ -8,7 +8,7 @@ from yutto._typing import EpisodeData, MId, SeriesId
from yutto.api.collection import get_collection_details
from yutto.api.space import get_user_name
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.processor.selector import parse_episodes_selection
@ -86,7 +86,7 @@ class CollectionExtractor(BatchExtractor):
ugc_video_list["pubdate"],
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue

View File

@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
from yutto._typing import EpisodeData, FId, MId
from yutto.api.space import get_favourite_avids, get_favourite_info, get_user_name
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.utils.asynclib import CoroutineWrapper
@ -65,7 +65,7 @@ class FavouritesExtractor(BatchExtractor):
ugc_video_list["pubdate"],
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue

View File

@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
from yutto._typing import EpisodeData, MId, SeriesId
from yutto.api.space import get_medialist_avids, get_medialist_title, get_user_name
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.utils.asynclib import CoroutineWrapper
@ -69,7 +69,7 @@ class SeriesExtractor(BatchExtractor):
ugc_video_list["pubdate"],
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue

View File

@ -5,7 +5,7 @@ from typing import TYPE_CHECKING
from yutto._typing import AId, AvId, BvId, EpisodeData
from yutto.api.ugc_video import get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.processor.selector import parse_episodes_selection
@ -70,7 +70,7 @@ class UgcVideoBatchExtractor(BatchExtractor):
try:
ugc_video_list = await get_ugc_video_list(ctx, client, self.avid)
Logger.custom(ugc_video_list["title"], Badge("投稿视频", fore="black", back="cyan"))
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
# 由于获取 info 时候也会因为视频不存在而报错,因此这里需要捕捉下
Logger.error(e.message)
return []

View File

@ -6,7 +6,7 @@ from typing import TYPE_CHECKING
from yutto._typing import EpisodeData, MId
from yutto.api.space import get_all_favourites, get_favourite_avids, get_user_name
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.utils.asynclib import CoroutineWrapper
@ -61,7 +61,7 @@ class UserAllFavouritesExtractor(BatchExtractor):
series_title,
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue

View File

@ -6,7 +6,7 @@ from typing import TYPE_CHECKING
from yutto._typing import EpisodeData, MId
from yutto.api.space import get_user_name, get_user_space_all_videos_avids
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError
from yutto.exceptions import NoAccessPermissionError, NotFoundError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.utils.asynclib import CoroutineWrapper
@ -56,7 +56,7 @@ class UserAllUgcVideosExtractor(BatchExtractor):
ugc_video_list["pubdate"],
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue

View File

@ -5,7 +5,7 @@ from typing import TYPE_CHECKING
from yutto.api.space import get_watch_later_avids
from yutto.api.ugc_video import UgcVideoListItem, get_ugc_video_list
from yutto.exceptions import NotFoundError, NotLoginError
from yutto.exceptions import NoAccessPermissionError, NotFoundError, NotLoginError
from yutto.extractor._abc import BatchExtractor
from yutto.extractor.common import extract_ugc_video_data
from yutto.utils.asynclib import CoroutineWrapper
@ -61,7 +61,7 @@ class UserWatchLaterExtractor(BatchExtractor):
"稍后再看",
)
)
except NotFoundError as e:
except (NotFoundError, NoAccessPermissionError) as e:
Logger.error(e.message)
continue