Compare commits
2 Commits
main
...
c4-intro-c
Author | SHA1 | Date | |
---|---|---|---|
a160df06a5 | |||
59dc8e7ec9 |
@ -267,13 +267,31 @@ class ALL4(Service):
|
|||||||
def get_chapters(self, title: Union[Movie, Episode]) -> list[Chapter]:
|
def get_chapters(self, title: Union[Movie, Episode]) -> list[Chapter]:
|
||||||
track = title.tracks.videos[0]
|
track = title.tracks.videos[0]
|
||||||
|
|
||||||
chapters = [
|
chapters = []
|
||||||
Chapter(
|
|
||||||
name=f"Chapter {i + 1:02}",
|
for x in track.data["adverts"]["breaks"]:
|
||||||
|
ms = x.get("breakOffset")
|
||||||
|
if ms != 0:
|
||||||
|
chapters.append(Chapter(
|
||||||
timestamp=datetime.fromtimestamp((ms / 1000), tz=timezone.utc).strftime("%H:%M:%S.%f")[:-3],
|
timestamp=datetime.fromtimestamp((ms / 1000), tz=timezone.utc).strftime("%H:%M:%S.%f")[:-3],
|
||||||
|
))
|
||||||
|
|
||||||
|
if intro_data := track.data.get("skipIntro"):
|
||||||
|
chapters.append(
|
||||||
|
Chapter(
|
||||||
|
name="Intro",
|
||||||
|
timestamp=datetime.fromtimestamp(
|
||||||
|
(intro_data["skipStart"] / 1000), tz=timezone.utc
|
||||||
|
).strftime("%H:%M:%S.%f")[:-3],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
chapters.append(
|
||||||
|
Chapter(
|
||||||
|
timestamp=datetime.fromtimestamp(
|
||||||
|
(intro_data["skipEnd"] / 1000), tz=timezone.utc
|
||||||
|
).strftime("%H:%M:%S.%f")[:-3],
|
||||||
|
)
|
||||||
)
|
)
|
||||||
for i, ms in enumerate(x["breakOffset"] for x in track.data["adverts"]["breaks"])
|
|
||||||
]
|
|
||||||
|
|
||||||
if track.data.get("endCredits", {}).get("squeezeIn"):
|
if track.data.get("endCredits", {}).get("squeezeIn"):
|
||||||
chapters.append(
|
chapters.append(
|
||||||
@ -284,8 +302,7 @@ class ALL4(Service):
|
|||||||
).strftime("%H:%M:%S.%f")[:-3],
|
).strftime("%H:%M:%S.%f")[:-3],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
return sorted(chapters, key=lambda x: x.timestamp)
|
||||||
return chapters
|
|
||||||
|
|
||||||
def get_widevine_service_certificate(self, **_: Any) -> str:
|
def get_widevine_service_certificate(self, **_: Any) -> str:
|
||||||
return WidevineCdm.common_privacy_cert
|
return WidevineCdm.common_privacy_cert
|
||||||
|
Loading…
x
Reference in New Issue
Block a user