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]:
 | 
			
		||||
        track = title.tracks.videos[0]
 | 
			
		||||
 | 
			
		||||
        chapters = [
 | 
			
		||||
            Chapter(
 | 
			
		||||
                name=f"Chapter {i + 1:02}",
 | 
			
		||||
                timestamp=datetime.fromtimestamp((ms / 1000), tz=timezone.utc).strftime("%H:%M:%S.%f")[:-3],
 | 
			
		||||
        chapters = []
 | 
			
		||||
 | 
			
		||||
        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],
 | 
			
		||||
                ))
 | 
			
		||||
 | 
			
		||||
        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"):
 | 
			
		||||
            chapters.append(
 | 
			
		||||
@ -284,8 +302,7 @@ class ALL4(Service):
 | 
			
		||||
                    ).strftime("%H:%M:%S.%f")[:-3],
 | 
			
		||||
                )
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        return chapters
 | 
			
		||||
        return sorted(chapters, key=lambda x: x.timestamp)
 | 
			
		||||
 | 
			
		||||
    def get_widevine_service_certificate(self, **_: Any) -> str:
 | 
			
		||||
        return WidevineCdm.common_privacy_cert
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user