From 548bc7f5475d396779fb4a60274c34efe46f773c Mon Sep 17 00:00:00 2001 From: VineFeeder Date: Mon, 29 Jun 2026 13:08:31 +0100 Subject: [PATCH] updates --- README.md | 2 ++ packages/envied/src/envied/services/ITV/__init__.py | 3 ++- packages/envied/src/envied/services/TPTV/__init__.py | 6 +++--- .../vinefeeder/src/vinefeeder/services/TPTV/__init__.py | 9 ++++----- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8b22492..5346e34 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ TwinVine combines two Python packages: TwinVine helps you find, select, and download media. Use the graphical front end when you want search and selection assistance, and use the command-line downloader for exact URLs. +Envied is forked from unshackle github.com/unshackle-dl/unshackle and I thank the developers for thier effort. + ## Key workflows - Use `envied` when you already have an exact program URL. diff --git a/packages/envied/src/envied/services/ITV/__init__.py b/packages/envied/src/envied/services/ITV/__init__.py index 489a74e..1c8655a 100644 --- a/packages/envied/src/envied/services/ITV/__init__.py +++ b/packages/envied/src/envied/services/ITV/__init__.py @@ -73,7 +73,8 @@ class ITV(Service): self.cdm = ctx.obj.cdm self.drm_system = "playready" if is_playready_cdm(self.cdm) else "widevine" - self.security_level = f"SL{self.cdm.security_level}" if self.drm_system == "playready" else f"L{self.cdm.security_level}" + if self.cdm != None: + self.security_level = f"SL{self.cdm.security_level}" if self.drm_system == "playready" else f"L{self.cdm.security_level}" self.session.headers.update(self.config["headers"]) diff --git a/packages/envied/src/envied/services/TPTV/__init__.py b/packages/envied/src/envied/services/TPTV/__init__.py index be85a08..722650a 100644 --- a/packages/envied/src/envied/services/TPTV/__init__.py +++ b/packages/envied/src/envied/services/TPTV/__init__.py @@ -43,7 +43,7 @@ class TPTV(Service): Service code for TPTVencore streaming service (https://www.TPTVencore.co.uk/). \b - version 1.0.6 + version 1.1.0 Date: June 2026 Author: A_n_g_e_l_a Authorization: email/password for service in envied.yaml @@ -119,7 +119,7 @@ class TPTV(Service): 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/151.0', 'Accept': '*/*', 'Accept-Language': 'en-GB,en;q=0.5', - 'api-key': 'zq5pyPd0RTbNg3Fyj52PrkKL9c2Af38HHh4itgZTKDaCzjAyhd', + 'api-key': self.config['session']['api-key'], 'Content-Type': 'application/json', 'Origin': 'https://tptvencore.co.uk', 'DNT': '1', @@ -201,7 +201,7 @@ class TPTV(Service): "Accept": "*/*", "Accept-Language": "en-GB,en;q=0.5", "Referer": "https://tptvencore.co.uk/", - "tenant": "encore", + #"tenant": "encore", "Origin": "https://tptvencore.co.uk", "DNT": "1", "Connection": "keep-alive", diff --git a/packages/vinefeeder/src/vinefeeder/services/TPTV/__init__.py b/packages/vinefeeder/src/vinefeeder/services/TPTV/__init__.py index d8f8b7c..9047078 100644 --- a/packages/vinefeeder/src/vinefeeder/services/TPTV/__init__.py +++ b/packages/vinefeeder/src/vinefeeder/services/TPTV/__init__.py @@ -36,7 +36,6 @@ class TptvLoader(BaseLoader): 'Accept-Language': 'en-GB,en;q=0.5', 'api-key': 'zq5pyPd0RTbNg3Fyj52PrkKL9c2Af38HHh4itgZTKDaCzjAyhd', 'Referer': 'https://tptvencore.co.uk/', - 'tenant': 'encore', 'Content-Type': 'application/json', 'Origin': 'https://tptvencore.co.uk', 'DNT': '1', @@ -47,14 +46,14 @@ class TptvLoader(BaseLoader): 'Priority': 'u=0', } super().__init__(headers) - payload = {} r = self.client.get("https://tptvencore.co.uk/", headers=headers) if r.status_code != 200: raise ConnectionError else: - #headers = r.headers - #self.client.headers.update({'headers': headers.get('headers')}) - pass + # belt and braces; not strictly needed + headers = r.headers + self.client.headers.update({'headers': headers.get('set-cookie')}) + def receive(