Skip to content

Commit 8c5f375

Browse files
author
pSpitzner
committed
removed taglib dependency
1 parent e2faf04 commit 8c5f375

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

Dockerfile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,7 @@ RUN --mount=type=cache,target=/var/cache/apk \
3131
keyfinder-cli \
3232
npm \
3333
tmux \
34-
shadow \
35-
build-base \
36-
taglib
37-
38-
# build-base and taglib needed for pytaglib :/
34+
shadow
3935

4036
# Install our package (backend)
4137
COPY ./backend /repo/backend

backend/beets_flask/beets_sessions.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import os
44
import sys
55

6-
import taglib
76
from beets import importer, plugins
87
from beets.autotag import AlbumMatch, TrackMatch
8+
from beets.library import MediaFile
99
from beets.ui import UserError, _open_library, colorize, print_
1010
from beets.ui.commands import show_change, summarize_items
1111
from beets.util import displayable_path
@@ -439,11 +439,15 @@ def __init__(
439439
# afaik the import_task only gives paths when we _copied_
440440
# so, because with as_is data its more likely that people
441441
# _move_ the files, we keep track of the paths before import
442-
self.track_paths_before_import = list(self.track_paths_before_import)
443-
self.taglib_tags = [
444-
taglib.File(fp).tags for fp in self.track_paths_before_import
442+
self._track_paths_before_import = list(super().track_paths_before_import)
443+
self._tags_before_import = [
444+
MediaFile(fp).as_dict() for fp in self._track_paths_before_import
445445
]
446446

447+
@property
448+
def track_paths_before_import(self) -> list[str]:
449+
return self._track_paths_before_import
450+
447451
def debug(self):
448452
return config
449453

@@ -456,20 +460,23 @@ def run_and_capture_output(self) -> tuple[str, str]:
456460
err, out = super().run_and_capture_output()
457461

458462
# add some basic info of the added items to the preview
459-
# I do not know how to get a quick dump of file metadata using beets,
460-
# so we simply use taglib for now
461463
self.preview += "\n\n"
462-
if len(self.track_paths_before_import) == 0:
464+
if len(self._track_paths_before_import) == 0:
463465
self.preview += "No files to import."
464466
else:
465467
self.preview += (
466-
f"Metadata in {len(self.track_paths_before_import)} file(s)\n\n"
468+
f"Metadata in {len(self._track_paths_before_import)} file(s)\n\n"
467469
)
468-
for fp in self.track_paths_before_import:
470+
for idx, fp in enumerate(self._track_paths_before_import):
469471
self.preview += f" {fp}\n"
470-
tags = taglib.File(fp).tags
471-
for tag in tags.keys():
472-
self.preview += f" {tag.lower()}: {tags[tag][0]}\n"
472+
tags = self._tags_before_import[idx]
473+
for key, val in tags.items():
474+
if val is not None and key not in ["art", "images"]:
475+
self.preview += f" {key.lower()}: {val}\n"
476+
if key == "art":
477+
self.preview += f" art: found artwork\n"
478+
if key == "images":
479+
self.preview += f" images: found 3\n"
473480
self.preview += "--------------------------------------------\n"
474481

475482
self.preview += "\n\n (This is no guarantee the import worked)"

backend/pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ dependencies = [
3030
"gunicorn>=22.0.0",
3131
"eventlet>=0.32.0",
3232
# beets plugin dependencies
33-
"pylast>=5.2.0",
34-
# taglib for as-is imports, temporary
35-
"pytaglib>=3.0.0",
33+
"pylast>=5.2.0"
3634
]
3735

3836
[project.optional-dependencies]

0 commit comments

Comments
 (0)