From bb5d37bda490df6b27b37c538aa120f637e5f5c5 Mon Sep 17 00:00:00 2001 From: VineFeeder Date: Mon, 22 Jun 2026 19:53:57 +0100 Subject: [PATCH] Last of the fish --- .../src/envied/services/CRAV/__init__.py | 26 +++++++++---------- .../src/envied/services/DSCP/__init__.py | 8 +++--- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/envied/src/envied/services/CRAV/__init__.py b/packages/envied/src/envied/services/CRAV/__init__.py index a9cb6c0..7163cc7 100644 --- a/packages/envied/src/envied/services/CRAV/__init__.py +++ b/packages/envied/src/envied/services/CRAV/__init__.py @@ -7,13 +7,13 @@ from http.cookiejar import CookieJar from typing import Any import click -from envied.core.credential import Credential -from envied.core.manifests import DASH -from envied.core.service import Service -from envied.core.session import session -from envied.core.titles import Episode, Movie, Movies, Series -from envied.core.tracks import Audio, Chapter, Chapters, Subtitle, Tracks -from envied.core.cdm.detect import is_playready_cdm +from unshackle.core.credential import Credential +from unshackle.core.manifests import DASH +from unshackle.core.service import Service +from unshackle.core.session import session +from unshackle.core.titles import Episode, Movie, Movies, Series +from unshackle.core.tracks import Audio, Chapter, Chapters, Subtitle, Tracks +from unshackle.core.cdm.detect import is_playready_cdm class CRAV(Service): @@ -21,7 +21,7 @@ class CRAV(Service): Service code for Bell Media's Crave streaming service (https://crave.ca). \b - Version: 1.0.1 + Version: 1.0.2 Author: stabbedbybrick Authorization: Credentials Geofence: CA (API and downloads) @@ -70,7 +70,7 @@ class CRAV(Service): self.user_profile = "default" def get_session(self) -> session: - return session() + return session("OkHttp4_12", status_forcelist=[429, 502, 503, 504]) def authenticate(self, cookies: CookieJar | None = None, credential: Credential | None = None) -> None: if not credential: @@ -424,8 +424,8 @@ class CRAV(Service): service=self.__class__, title=episode.get("media", {}).get("title"), year=episode.get("media", {}).get("productionYear"), - season=int(episode.get("seasonNumber", 0)), - number=int(episode.get("episodeNumber", 0)), + season=int(episode.get("seasonNumber") or 0), + number=int(episode.get("episodeNumber") or 0), name=episode.get("title"), language=original_language, data=episode, @@ -535,8 +535,8 @@ class CRAV(Service): service=self.__class__, title=content.get("media", {}).get("title"), year=content.get("media", {}).get("productionYear"), - season=int(content.get("seasonNumber", 0)), - number=int(content.get("episodeNumber", 0)), + season=int(content.get("seasonNumber") or 0), + number=int(content.get("episodeNumber") or 0), name=content.get("title"), language=original_language, data=content, diff --git a/packages/envied/src/envied/services/DSCP/__init__.py b/packages/envied/src/envied/services/DSCP/__init__.py index eb92c90..6f8b260 100644 --- a/packages/envied/src/envied/services/DSCP/__init__.py +++ b/packages/envied/src/envied/services/DSCP/__init__.py @@ -20,7 +20,7 @@ from envied.core.credential import Credential from envied.core.manifests import DASH from envied.core.search_result import SearchResult from envied.core.service import Service -from envied.core.session import session as CurlSession +from envied.core.session import session from envied.core.titles import Episode, Movie, Movies, Series from envied.core.tracks import Audio, Chapter, Chapters, Subtitle, Track, Tracks from envied.core.utilities import is_close_match @@ -33,7 +33,7 @@ class DSCP(Service): Credit to @sp4rk.y for the subtitle fix. \b - Version: 1.0.3 + Version: 1.0.4 Author: stabbedbybrick Authorization: Cookies for subscription, none for freely available titles Robustness: @@ -96,8 +96,8 @@ class DSCP(Service): self.base_url = self.config["endpoints"]["default_url"] - def get_session(self) -> CurlSession: - return CurlSession("okhttp4", status_forcelist=[429, 502, 503, 504]) + def get_session(self) -> session: + return session("OkHttp4_12", status_forcelist=[429, 502, 503, 504]) def authenticate(self, cookies: CookieJar | None = None, credential: Credential | None = None) -> None: super().authenticate(cookies, credential)