7 Commits

Author SHA1 Message Date
rlaphoenix
725480adf0 Update Changelog for v1.3.1 2023-02-23 09:25:46 +00:00
rlaphoenix
da1beae28f Bump to v1.3.1 2023-02-23 09:25:34 +00:00
rlaphoenix
739c17bf4c Initialize config when adding auth if non-existant 2023-02-23 09:09:09 +00:00
rlaphoenix
9932fa3f7a Fix mistake when logging where the cookie file was moved 2023-02-23 09:07:21 +00:00
rlaphoenix
3b5a199f31 Fix regression of missing title & track when licensing with Widevine
For some reason I had the partial removed and replaced with the direct function, meaning services using `title` and `track` during the license and service cert functions would crash.
2023-02-23 08:56:37 +00:00
rlaphoenix
5624232e5e Merge pull request #33 from varyg1001/master
always define track.path if track.descriptor is URL
2023-02-23 08:45:06 +00:00
varyg
fc19358de4 Fix regression of missing track.path on URL downloads 2023-02-23 08:44:50 +00:00
5 changed files with 30 additions and 7 deletions

View File

@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.3.1] - 2023-02-23
### Fixed
- Fixed a regression where the `track.path` was only updated for `Descriptor.URL` downloads if it had DRM. This caused
downloads of subtitles or DRM-free tracks using the `URL` descriptor to be broken (#33).
- Fixed a regression where `title` and `track` were not passed to the Service's functions for getting Widevine Service
Certificates and Widevine Licenses.
- Corrected the Cookie Path that was logged when adding cookies with `devine auth add`.
- The Config data is now defaulted to an empty dictionary when completely empty or non-existent. This fixes a crash if
you try to use `devine auth add` without a config file.
## [1.3.0] - 2023-02-22 ## [1.3.0] - 2023-02-22
## Deprecated ## Deprecated
@@ -124,6 +136,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Initial public release under the name Devine. Initial public release under the name Devine.
[1.3.1]: https://github.com/devine-dl/devine/releases/tag/v1.3.1
[1.3.0]: https://github.com/devine-dl/devine/releases/tag/v1.3.0 [1.3.0]: https://github.com/devine-dl/devine/releases/tag/v1.3.0
[1.2.0]: https://github.com/devine-dl/devine/releases/tag/v1.2.0 [1.2.0]: https://github.com/devine-dl/devine/releases/tag/v1.2.0
[1.1.0]: https://github.com/devine-dl/devine/releases/tag/v1.1.0 [1.1.0]: https://github.com/devine-dl/devine/releases/tag/v1.1.0

View File

@@ -1,6 +1,6 @@
import logging import logging
import sys
import shutil import shutil
import sys
import tkinter.filedialog import tkinter.filedialog
from collections import defaultdict from collections import defaultdict
from pathlib import Path from pathlib import Path
@@ -248,13 +248,15 @@ def add(ctx: click.Context, profile: str, service: str, cookie: Optional[str] =
log.error(f"A Cookie file for the Profile {profile} on {service} already exists.") log.error(f"A Cookie file for the Profile {profile} on {service} already exists.")
sys.exit(1) sys.exit(1)
shutil.move(cookie, final_path) shutil.move(cookie, final_path)
log.info(f"Moved Cookie file to: {cookie}") log.info(f"Moved Cookie file to: {final_path}")
if credential: if credential:
config_path = Config._Directories.user_configs / Config._Filenames.root_config config_path = Config._Directories.user_configs / Config._Filenames.root_config
yaml, data = YAML(), None yaml, data = YAML(), None
yaml.default_flow_style = False yaml.default_flow_style = False
data = yaml.load(config_path) data = yaml.load(config_path)
if not data:
data = {}
if "credentials" not in data: if "credentials" not in data:
data["credentials"] = {} data["credentials"] = {}
if service not in data["credentials"]: if service not in data["credentials"]:

View File

@@ -437,8 +437,16 @@ class dl:
self.prepare_drm, self.prepare_drm,
track=track, track=track,
title=title, title=title,
certificate=service.get_widevine_service_certificate, certificate=partial(
licence=service.get_widevine_license, service.get_widevine_service_certificate,
title=title,
track=track
),
licence=partial(
service.get_widevine_license,
title=title,
track=track
),
cdm_only=cdm_only, cdm_only=cdm_only,
vaults_only=vaults_only, vaults_only=vaults_only,
export=export export=export
@@ -630,6 +638,7 @@ class dl:
service.session.headers, service.session.headers,
proxy if track.needs_proxy else None proxy if track.needs_proxy else None
)) ))
track.path = save_path
if not track.drm and isinstance(track, (Video, Audio)): if not track.drm and isinstance(track, (Video, Audio)):
try: try:
@@ -645,7 +654,6 @@ class dl:
prepare_drm(drm) prepare_drm(drm)
drm.decrypt(save_path) drm.decrypt(save_path)
track.drm = None track.drm = None
track.path = save_path
if callable(track.OnDecrypted): if callable(track.OnDecrypted):
track.OnDecrypted(track) track.OnDecrypted(track)
else: else:

View File

@@ -1 +1 @@
__version__ = "1.3.0" __version__ = "1.3.1"

View File

@@ -4,7 +4,7 @@ build-backend = 'poetry.core.masonry.api'
[tool.poetry] [tool.poetry]
name = 'devine' name = 'devine'
version = '1.3.0' version = '1.3.1'
description = 'Open-Source Movie, TV, and Music Downloading Solution' description = 'Open-Source Movie, TV, and Music Downloading Solution'
license = 'GPL-3.0-only' license = 'GPL-3.0-only'
authors = ['rlaphoenix <rlaphoenix@pm.me>'] authors = ['rlaphoenix <rlaphoenix@pm.me>']