Add Support for Python 3.12, update dependencies

This commit is contained in:
rlaphoenix 2023-12-02 21:17:41 +00:00
parent 8cd6dfb65a
commit 86635f9b7f
3 changed files with 493 additions and 475 deletions

View File

@ -6,7 +6,7 @@ from typing import Optional
import click import click
import yaml import yaml
from google.protobuf.json_format import MessageToDict from google.protobuf.json_format import MessageToDict
from pywidevine.device import Device from pywidevine.device import Device, DeviceTypes
from pywidevine.license_protocol_pb2 import FileHashes from pywidevine.license_protocol_pb2 import FileHashes
from rich.prompt import Prompt from rich.prompt import Prompt
from unidecode import UnidecodeError, unidecode from unidecode import UnidecodeError, unidecode
@ -182,7 +182,7 @@ def dump(wvd_paths: list[Path], out_dir: Path) -> None:
@click.argument("private_key", type=Path) @click.argument("private_key", type=Path)
@click.argument("client_id", type=Path) @click.argument("client_id", type=Path)
@click.argument("file_hashes", type=Path, required=False) @click.argument("file_hashes", type=Path, required=False)
@click.option("-t", "--type", "type_", type=click.Choice([x.name for x in Device.Types], case_sensitive=False), @click.option("-t", "--type", "type_", type=click.Choice([x.name for x in DeviceTypes], case_sensitive=False),
default="Android", help="Device Type") default="Android", help="Device Type")
@click.option("-l", "--level", type=click.IntRange(1, 3), default=1, help="Device Security Level") @click.option("-l", "--level", type=click.IntRange(1, 3), default=1, help="Device Security Level")
@click.option("-o", "--output", type=Path, default=None, help="Output Directory") @click.option("-o", "--output", type=Path, default=None, help="Output Directory")
@ -223,7 +223,7 @@ def new(
raise click.UsageError("file_hashes: Not a path to a file, or it doesn't exist.", ctx) raise click.UsageError("file_hashes: Not a path to a file, or it doesn't exist.", ctx)
device = Device( device = Device(
type_=Device.Types[type_.upper()], type_=DeviceTypes[type_.upper()],
security_level=level, security_level=level,
flags=None, flags=None,
private_key=private_key.read_bytes(), private_key=private_key.read_bytes(),

930
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@ include = [
"Changelog" = "https://github.com/devine-dl/devine/blob/master/CHANGELOG.md" "Changelog" = "https://github.com/devine-dl/devine/blob/master/CHANGELOG.md"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.9.0,<3.12" python = ">=3.9,<4.0"
appdirs = "^1.4.4" appdirs = "^1.4.4"
Brotli = "^1.1.0" Brotli = "^1.1.0"
click = "^8.1.7" click = "^8.1.7"
@ -43,34 +43,34 @@ jsonpickle = "^3.0.2"
langcodes = { extras = ["data"], version = "^3.3.0" } langcodes = { extras = ["data"], version = "^3.3.0" }
lxml = "^4.9.3" lxml = "^4.9.3"
pproxy = "^2.7.8" pproxy = "^2.7.8"
protobuf = "4.21.6" protobuf = "^4.24.4"
pycaption = "^2.1.1" pycaption = "^2.2.0"
pycryptodomex = "^3.19.0" pycryptodomex = "^3.19.0"
pyjwt = "^2.8.0" pyjwt = "^2.8.0"
pymediainfo = "^6.0.1" pymediainfo = "^6.1.0"
pymp4 = "^1.4.0" pymp4 = "^1.4.0"
pymysql = "^1.1.0" pymysql = "^1.1.0"
pywidevine = { extras = ["serve"], version = "^1.6.0" } pywidevine = { extras = ["serve"], version = "^1.7.0" }
PyYAML = "^6.0.1" PyYAML = "^6.0.1"
requests = { extras = ["socks"], version = "^2.31.0" } requests = { extras = ["socks"], version = "^2.31.0" }
rich = "^13.5.3" rich = "^13.7.0"
"rlaphoenix.m3u8" = "^3.4.0" "rlaphoenix.m3u8" = "^3.4.0"
"ruamel.yaml" = "^0.17.32" "ruamel.yaml" = "^0.17.40"
sortedcontainers = "^2.4.0" sortedcontainers = "^2.4.0"
subtitle-filter = "^1.4.6" subtitle-filter = "^1.4.8"
Unidecode = "^1.3.6" Unidecode = "^1.3.7"
urllib3 = "^2.0.4" urllib3 = "^2.1.0"
chardet = "^5.2.0" chardet = "^5.2.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pre-commit = "^3.4.0" pre-commit = "^3.5.0"
mypy = "^1.5.1" mypy = "^1.7.1"
mypy-protobuf = "^3.3.0" mypy-protobuf = "^3.5.0"
types-protobuf = "^4.24.0.1" types-protobuf = "^4.24.0.4"
types-PyMySQL = "^1.1.0.1" types-PyMySQL = "^1.1.0.1"
types-requests = "^2.31.0.2" types-requests = "^2.31.0.10"
isort = "^5.12.0" isort = "^5.12.0"
ruff = "^0.0.292" ruff = "~0.1.6"
[tool.poetry.scripts] [tool.poetry.scripts]
devine = "devine.core.__main__:main" devine = "devine.core.__main__:main"