unshackle-services/HMAX/__init__.py
TPD94 61befd1a2a 1.0.5 release
- Update version number

- Refactor cookie check to raise error when no cookies are found (required)
2025-10-07 00:35:44 -04:00

60 lines
1.8 KiB
Python

import base64
import hashlib
import json
import re
from codecs import Codec
from collections.abc import Generator
from datetime import datetime, timedelta
from http.cookiejar import CookieJar
from typing import Optional, Union
import click
from langcodes import Language
from unshackle.core.console import console
from unshackle.core.constants import AnyTrack
from unshackle.core.credential import Credential
from unshackle.core.manifests import DASH
from unshackle.core.search_result import SearchResult
from unshackle.core.service import Service
from unshackle.core.session import session
from unshackle.core.titles import Episode, Movie, Movies, Series, Title_T, Titles_T
from unshackle.core.tracks import Chapter, Subtitle, Tracks, Video, Chapters
class HMAX(Service):
"""
Service code for HBO Max
Author: TPD94
Version: 1.0.0
Authorization:
Security:
Use Series ID/URL (for example - ).
"""
@staticmethod
@click.command(name="HMAX", short_help="https://hbomax.com/",
help="""
Service code for HBO Max\n
Author: TPD94\n
Version: 1.0.0\n
Authorization:\n
Security:\n
Use full URL (for example - ).
"""
)
@click.argument("title", type=str)
@click.pass_context
def cli(ctx, **kwargs):
return HMAX(ctx, **kwargs)
def __init__(self, ctx, title):
super().__init__(ctx)
def get_session(self):
# Create a session using curl_cffi as it can impersonate browsers and avoid bot detection by HBO Max
return session("chrome124")
def authenticate(self, cookies: Optional[CookieJar] = None, credential: Optional[Credential] = None) -> None:
super().authenticate(cookies, credential)