🛠️ Fixed wrong symlink creation. Hot fixed extension detection of tidalapi.

This commit is contained in:
Robert Honz
2024-12-16 16:40:21 +01:00
parent f1a069f211
commit 824ae6a20f
3 changed files with 33 additions and 21 deletions
Generated
+22 -18
View File
@@ -178,13 +178,13 @@ files = [
[[package]]
name = "certifi"
version = "2024.8.30"
version = "2024.12.14"
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
files = [
{file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"},
{file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"},
{file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"},
{file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"},
]
[[package]]
@@ -971,13 +971,13 @@ pyyaml = ">=5.1"
[[package]]
name = "mkdocs-material"
version = "9.5.48"
version = "9.5.49"
description = "Documentation that simply works"
optional = false
python-versions = ">=3.8"
files = [
{file = "mkdocs_material-9.5.48-py3-none-any.whl", hash = "sha256:b695c998f4b939ce748adbc0d3bff73fa886a670ece948cf27818fa115dc16f8"},
{file = "mkdocs_material-9.5.48.tar.gz", hash = "sha256:a582531e8b34f4c7ed38c29d5c44763053832cf2a32f7409567e0c74749a47db"},
{file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"},
{file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"},
]
[package.dependencies]
@@ -2024,19 +2024,23 @@ name = "tidalapi"
version = "0.8.2"
description = "Unofficial API for TIDAL music streaming service."
optional = false
python-versions = "<4.0,>=3.8"
files = [
{file = "tidalapi-0.8.2-py3-none-any.whl", hash = "sha256:46998ecb9103aee6d1346ad2974df05fe9bc03a429a89d5a701571fe4d9c4525"},
{file = "tidalapi-0.8.2.tar.gz", hash = "sha256:9eab07291f92f506694b6d326dd1e6651349eaa71597cef634a62915312db38c"},
]
python-versions = "^3.8"
files = []
develop = false
[package.dependencies]
isodate = ">=0.7.2,<0.8.0"
mpegdash = ">=0.4.0,<0.5.0"
python-dateutil = ">=2.8.2,<3.0.0"
ratelimit = ">=2.2.1,<3.0.0"
requests = ">=2.32.3,<3.0.0"
typing-extensions = ">=4.12.2,<5.0.0"
isodate = "^0.7.2"
mpegdash = "^0.4.0"
python-dateutil = "^2.8.2"
ratelimit = "^2.2.1"
requests = "^2.32.3"
typing-extensions = "^4.12.2"
[package.source]
type = "git"
url = "git@github.com:exislow/python-tidal.git"
reference = "309-file-extension"
resolved_reference = "2f4a0dcc93fe40748c1ff0fd4773c9a6eeb6cc36"
[[package]]
name = "tokenize-rt"
@@ -2267,4 +2271,4 @@ gui = ["pyqtdarktheme-fork", "pyside6"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<3.13"
content-hash = "dce4c40a6d0552a6d21c5801e7fecbcb8254f3abc4fbc5a39c31c8ac14aec2c4"
content-hash = "fbac1f69d010fa9495b26a3e4ee83dda2c61a4c1116d88e1d75bcd1d5c99ae98"
+1 -1
View File
@@ -41,7 +41,7 @@ rich = "^13.9.4"
toml = "^0.10.2"
typer = "^0.15.1"
ffmpeg-python = "^0.2.0"
tidalapi = "^0.8.2"
tidalapi = { git = "git@github.com:exislow/python-tidal.git", branch = "309-file-extension" }
[tool.poetry.extras]
gui = ["pyside6", "pyqtdarktheme-fork"]
+10 -2
View File
@@ -468,14 +468,20 @@ class Download:
# Move item and symlink it
if path_media_dst != path_media_src:
if self.skip_existing:
skip_file: bool = check_file_exists(path_media_dst, extension_ignore=True)
skip_file: bool = check_file_exists(path_media_dst, extension_ignore=False)
skip_symlink: bool = path_media_src.is_symlink()
else:
skip_file: bool = False
skip_symlink: bool = False
if not skip_file:
self.fn_logger.debug(f"Move: {path_media_src} -> {path_media_dst}")
shutil.move(path_media_src, path_media_dst)
os.symlink(path_media_dst, path_media_src)
if not skip_symlink:
self.fn_logger.debug(f"Symlink: {path_media_src} -> {path_media_dst}")
path_media_src.unlink(missing_ok=True)
path_media_src.symlink_to(path_media_dst)
return path_media_dst
@@ -712,6 +718,8 @@ class Download:
path_playlist = dir_scoped / (PLAYLIST_PREFIX + name_list + PLAYLIST_EXTENSION)
path_playlist = pathlib.Path(path_file_sanitize(path_playlist, adapt=True))
self.fn_logger.debug(f"Playlist: Creating {path_playlist}")
# Get all tracks in the directory
path_tracks: [pathlib.Path] = []