Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
725480adf0 | ||
|
|
da1beae28f | ||
|
|
739c17bf4c | ||
|
|
9932fa3f7a | ||
|
|
3b5a199f31 | ||
|
|
5624232e5e | ||
|
|
fc19358de4 |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -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
|
||||||
|
|||||||
@@ -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"]:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
__version__ = "1.3.0"
|
__version__ = "1.3.1"
|
||||||
|
|||||||
@@ -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>']
|
||||||
|
|||||||
Reference in New Issue
Block a user