mirror of
https://github.com/vinefeeder/TwinVine.git
synced 2026-07-15 18:10:04 +02:00
Last of the fish
This commit is contained in:
@@ -7,13 +7,13 @@ from http.cookiejar import CookieJar
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import click
|
import click
|
||||||
from envied.core.credential import Credential
|
from unshackle.core.credential import Credential
|
||||||
from envied.core.manifests import DASH
|
from unshackle.core.manifests import DASH
|
||||||
from envied.core.service import Service
|
from unshackle.core.service import Service
|
||||||
from envied.core.session import session
|
from unshackle.core.session import session
|
||||||
from envied.core.titles import Episode, Movie, Movies, Series
|
from unshackle.core.titles import Episode, Movie, Movies, Series
|
||||||
from envied.core.tracks import Audio, Chapter, Chapters, Subtitle, Tracks
|
from unshackle.core.tracks import Audio, Chapter, Chapters, Subtitle, Tracks
|
||||||
from envied.core.cdm.detect import is_playready_cdm
|
from unshackle.core.cdm.detect import is_playready_cdm
|
||||||
|
|
||||||
|
|
||||||
class CRAV(Service):
|
class CRAV(Service):
|
||||||
@@ -21,7 +21,7 @@ class CRAV(Service):
|
|||||||
Service code for Bell Media's Crave streaming service (https://crave.ca).
|
Service code for Bell Media's Crave streaming service (https://crave.ca).
|
||||||
|
|
||||||
\b
|
\b
|
||||||
Version: 1.0.1
|
Version: 1.0.2
|
||||||
Author: stabbedbybrick
|
Author: stabbedbybrick
|
||||||
Authorization: Credentials
|
Authorization: Credentials
|
||||||
Geofence: CA (API and downloads)
|
Geofence: CA (API and downloads)
|
||||||
@@ -70,7 +70,7 @@ class CRAV(Service):
|
|||||||
self.user_profile = "default"
|
self.user_profile = "default"
|
||||||
|
|
||||||
def get_session(self) -> session:
|
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:
|
def authenticate(self, cookies: CookieJar | None = None, credential: Credential | None = None) -> None:
|
||||||
if not credential:
|
if not credential:
|
||||||
@@ -424,8 +424,8 @@ class CRAV(Service):
|
|||||||
service=self.__class__,
|
service=self.__class__,
|
||||||
title=episode.get("media", {}).get("title"),
|
title=episode.get("media", {}).get("title"),
|
||||||
year=episode.get("media", {}).get("productionYear"),
|
year=episode.get("media", {}).get("productionYear"),
|
||||||
season=int(episode.get("seasonNumber", 0)),
|
season=int(episode.get("seasonNumber") or 0),
|
||||||
number=int(episode.get("episodeNumber", 0)),
|
number=int(episode.get("episodeNumber") or 0),
|
||||||
name=episode.get("title"),
|
name=episode.get("title"),
|
||||||
language=original_language,
|
language=original_language,
|
||||||
data=episode,
|
data=episode,
|
||||||
@@ -535,8 +535,8 @@ class CRAV(Service):
|
|||||||
service=self.__class__,
|
service=self.__class__,
|
||||||
title=content.get("media", {}).get("title"),
|
title=content.get("media", {}).get("title"),
|
||||||
year=content.get("media", {}).get("productionYear"),
|
year=content.get("media", {}).get("productionYear"),
|
||||||
season=int(content.get("seasonNumber", 0)),
|
season=int(content.get("seasonNumber") or 0),
|
||||||
number=int(content.get("episodeNumber", 0)),
|
number=int(content.get("episodeNumber") or 0),
|
||||||
name=content.get("title"),
|
name=content.get("title"),
|
||||||
language=original_language,
|
language=original_language,
|
||||||
data=content,
|
data=content,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ from envied.core.credential import Credential
|
|||||||
from envied.core.manifests import DASH
|
from envied.core.manifests import DASH
|
||||||
from envied.core.search_result import SearchResult
|
from envied.core.search_result import SearchResult
|
||||||
from envied.core.service import Service
|
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.titles import Episode, Movie, Movies, Series
|
||||||
from envied.core.tracks import Audio, Chapter, Chapters, Subtitle, Track, Tracks
|
from envied.core.tracks import Audio, Chapter, Chapters, Subtitle, Track, Tracks
|
||||||
from envied.core.utilities import is_close_match
|
from envied.core.utilities import is_close_match
|
||||||
@@ -33,7 +33,7 @@ class DSCP(Service):
|
|||||||
Credit to @sp4rk.y for the subtitle fix.
|
Credit to @sp4rk.y for the subtitle fix.
|
||||||
|
|
||||||
\b
|
\b
|
||||||
Version: 1.0.3
|
Version: 1.0.4
|
||||||
Author: stabbedbybrick
|
Author: stabbedbybrick
|
||||||
Authorization: Cookies for subscription, none for freely available titles
|
Authorization: Cookies for subscription, none for freely available titles
|
||||||
Robustness:
|
Robustness:
|
||||||
@@ -96,8 +96,8 @@ class DSCP(Service):
|
|||||||
|
|
||||||
self.base_url = self.config["endpoints"]["default_url"]
|
self.base_url = self.config["endpoints"]["default_url"]
|
||||||
|
|
||||||
def get_session(self) -> CurlSession:
|
def get_session(self) -> session:
|
||||||
return CurlSession("okhttp4", status_forcelist=[429, 502, 503, 504])
|
return session("OkHttp4_12", status_forcelist=[429, 502, 503, 504])
|
||||||
|
|
||||||
def authenticate(self, cookies: CookieJar | None = None, credential: Credential | None = None) -> None:
|
def authenticate(self, cookies: CookieJar | None = None, credential: Credential | None = None) -> None:
|
||||||
super().authenticate(cookies, credential)
|
super().authenticate(cookies, credential)
|
||||||
|
|||||||
Reference in New Issue
Block a user