Services: translate to envied

This commit is contained in:
VineFeeder
2025-11-11 20:02:54 +00:00
parent 89f0f22cff
commit 62323c8307
20 changed files with 119 additions and 119 deletions
@@ -15,12 +15,12 @@ from click import Context
from Crypto.Util.Padding import unpad from Crypto.Util.Padding import unpad
from Cryptodome.Cipher import AES from Cryptodome.Cipher import AES
from pywidevine.cdm import Cdm as WidevineCdm from pywidevine.cdm import Cdm as WidevineCdm
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Subtitle, Tracks from envied.core.tracks import Chapter, Subtitle, Tracks
class ALL4(Service): class ALL4(Service):
@@ -10,12 +10,12 @@ from urllib.parse import urljoin
import click import click
from click import Context from click import Context
from requests import Request from requests import Request
from unshackle.core.constants import AnyTrack from envied.core.constants import AnyTrack
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Subtitle, Tracks from envied.core.tracks import Chapter, Chapters, Subtitle, Tracks
class AUBC(Service): class AUBC(Service):
@@ -11,13 +11,13 @@ from urllib.parse import urljoin
import click import click
from click import Context from click import Context
from requests import Request from requests import Request
from unshackle.core.constants import AnyTrack from envied.core.constants import AnyTrack
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests import DASH, HLS from envied.core.manifests import DASH, HLS
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class CBC(Service): class CBC(Service):
@@ -9,14 +9,14 @@ from urllib.parse import urljoin
import click import click
from requests import Request from requests import Request
from unshackle.core.constants import AnyTrack from envied.core.constants import AnyTrack
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Series, Title_T, Titles_T from envied.core.titles import Episode, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
from unshackle.core.utils.sslciphers import SSLCiphers from envied.core.utils.sslciphers import SSLCiphers
from unshackle.core.utils.xml import load_xml from envied.core.utils.xml import load_xml
class CBS(Service): class CBS(Service):
@@ -11,12 +11,12 @@ from typing import Any, Optional
import click import click
from pywidevine.cdm import Cdm as WidevineCdm from pywidevine.cdm import Cdm as WidevineCdm
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T from envied.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Audio, Chapter, Subtitle, Tracks, Video from envied.core.tracks import Audio, Chapter, Subtitle, Tracks, Video
class CTV(Service): class CTV(Service):
@@ -11,11 +11,11 @@ import click
from click import Context from click import Context
from lxml import etree from lxml import etree
from requests import Request from requests import Request
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class CWTV(Service): class CWTV(Service):
@@ -11,12 +11,12 @@ from typing import Any, Optional, Union
import click import click
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from click import Context from click import Context
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Subtitle, Tracks from envied.core.tracks import Chapter, Chapters, Subtitle, Tracks
class ITV(Service): class ITV(Service):
@@ -12,12 +12,12 @@ import click
import requests import requests
from click import Context from click import Context
from pywidevine.cdm import Cdm as WidevineCdm from pywidevine.cdm import Cdm as WidevineCdm
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Tracks from envied.core.tracks import Chapter, Tracks
from unshackle.core.utils.sslciphers import SSLCiphers from envied.core.utils.sslciphers import SSLCiphers
class MY5(Service): class MY5(Service):
@@ -12,12 +12,12 @@ from urllib.parse import quote, urljoin, urlparse
import click import click
from click import Context from click import Context
from requests import Request from requests import Request
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests import DASH, HLS from envied.core.manifests import DASH, HLS
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class PLEX(Service): class PLEX(Service):
@@ -7,12 +7,12 @@ from http.cookiejar import CookieJar
from typing import Any, Optional from typing import Any, Optional
import click import click
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests import DASH, HLS from envied.core.manifests import DASH, HLS
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T from envied.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapters, Tracks from envied.core.tracks import Chapters, Tracks
class PLUTO(Service): class PLUTO(Service):
@@ -5,7 +5,7 @@ Clone repository:
`git clone https://github.com/stabbedbybrick/services.git` `git clone https://github.com/stabbedbybrick/services.git`
Add folder to `unshackle.yaml`: Add folder to `envied.yaml`:
``` ```
directories: directories:
@@ -10,12 +10,12 @@ from urllib.parse import unquote, urlparse
import click import click
import requests import requests
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T from envied.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapter, Tracks from envied.core.tracks import Chapter, Tracks
class ROKU(Service): class ROKU(Service):
@@ -9,13 +9,13 @@ from urllib.parse import urljoin
import click import click
from requests import Request from requests import Request
from unshackle.core.constants import AnyTrack from envied.core.constants import AnyTrack
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T from envied.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
from unshackle.core.utils.xml import load_xml from envied.core.utils.xml import load_xml
class RTE(Service): class RTE(Service):
@@ -10,12 +10,12 @@ from uuid import uuid4
import click import click
from click import Context from click import Context
from pyplayready.cdm import Cdm as PlayReadyCdm from pyplayready.cdm import Cdm as PlayReadyCdm
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class SEVEN(Service): class SEVEN(Service):
@@ -9,11 +9,11 @@ from urllib.parse import urlparse
import click import click
from click import Context from click import Context
from lxml import etree from lxml import etree
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class STV(Service): class STV(Service):
@@ -20,14 +20,14 @@ import m3u8
from click import Context from click import Context
from langcodes import Language from langcodes import Language
from requests import Request from requests import Request
from unshackle.core.config import config from envied.core.config import config
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.downloaders import requests from envied.core.downloaders import requests
from unshackle.core.manifests import HLS from envied.core.manifests import HLS
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Subtitle, Tracks, Video from envied.core.tracks import Chapter, Chapters, Subtitle, Tracks, Video
class TEN(Service): class TEN(Service):
@@ -10,12 +10,12 @@ from typing import Any
import click import click
from langcodes import Language from langcodes import Language
from unshackle.core.downloaders import aria2c, requests from envied.core.downloaders import aria2c, requests
from unshackle.core.manifests import DASH from envied.core.manifests import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T from envied.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapter, Chapters, Subtitle, Track, Tracks from envied.core.tracks import Chapter, Chapters, Subtitle, Track, Tracks
class TUBI(Service): class TUBI(Service):
@@ -12,12 +12,12 @@ from click import Context
from lxml import etree from lxml import etree
from pywidevine.cdm import Cdm as WidevineCdm from pywidevine.cdm import Cdm as WidevineCdm
from requests import Request from requests import Request
from unshackle.core.credential import Credential from envied.core.credential import Credential
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapters, Tracks from envied.core.tracks import Chapters, Tracks
class TVNZ(Service): class TVNZ(Service):
@@ -8,11 +8,11 @@ from typing import Any, Union
import click import click
from click import Context from click import Context
from lxml import etree from lxml import etree
from unshackle.core.manifests.dash import DASH from envied.core.manifests.dash import DASH
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Chapter, Chapters, Tracks from envied.core.tracks import Chapter, Chapters, Tracks
class UKTV(Service): class UKTV(Service):
@@ -14,13 +14,13 @@ from typing import Any, Union
import click import click
from bs4 import XMLParsedAsHTMLWarning from bs4 import XMLParsedAsHTMLWarning
from click import Context from click import Context
from unshackle.core.manifests import DASH, HLS from envied.core.manifests import DASH, HLS
from unshackle.core.search_result import SearchResult from envied.core.search_result import SearchResult
from unshackle.core.service import Service from envied.core.service import Service
from unshackle.core.titles import Episode, Movie, Movies, Series from envied.core.titles import Episode, Movie, Movies, Series
from unshackle.core.tracks import Audio, Chapters, Subtitle, Tracks, Video from envied.core.tracks import Audio, Chapters, Subtitle, Tracks, Video
from unshackle.core.utils.collections import as_list from envied.core.utils.collections import as_list
from unshackle.core.utils.sslciphers import SSLCiphers from envied.core.utils.sslciphers import SSLCiphers
warnings.filterwarnings("ignore", category=XMLParsedAsHTMLWarning) warnings.filterwarnings("ignore", category=XMLParsedAsHTMLWarning)