feat: fetches per default every category
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/tag/woodpecker Pipeline was successful Details

This commit is contained in:
Hazel 2024-05-13 13:53:36 +02:00
parent 760e12889c
commit dd3714f8c8
1 changed files with 15 additions and 4 deletions

View File

@ -7,7 +7,7 @@ import json
from functools import wraps
from .exceptions import SponsorBlockError, SponsorBlockIdNotFoundError, ReturnDefault
from .constants import Segment
from .constants import Segment, Category
def error_handling(default: Any) -> Callable:
@ -99,14 +99,25 @@ class SponsorBlock:
return data
@error_handling(default=[])
def get_segments(self, video: str) -> List[Segment]:
def get_segments(self, video: str, categories: List[Category] = None) -> List[Segment]:
"""
Retrieves the skip segments for a given video.
Args:
video (str): The video identifier.
categories (List[Category], optional): A list of categories to filter the skip segments. Defaults to all categories.
Returns:
List[Segment]: A list of skip segments for the given video.
"""
video_id = self._get_video_id(video)
categories = categories or [c for c in Category]
# build query parameters
query = {
"videoID": video_id
"videoID": video_id,
"categories": json.dumps([c.value for c in categories])
}
print(query)
r = self._request(method="GET", endpoint="/api/skipSegments?" + urlencode(query))
return [constants.Segment(**d) for d in r]