Merge pull request #4866 from JOJ0/duplicates_verbose

This commit is contained in:
J0J0 Todos 2023-08-23 09:05:08 +02:00 committed by GitHub
commit 717f379435
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 0 deletions

View file

@ -31,6 +31,7 @@ import:
album: albumartist album album: albumartist album
item: artist title item: artist title
duplicate_action: ask duplicate_action: ask
duplicate_verbose_prompt: no
bell: no bell: no
set_fields: {} set_fields: {}
ignored_alias_types: [] ignored_alias_types: []

View file

@ -872,11 +872,20 @@ class TerminalImportSession(importer.ImportSession):
list(duplicate.items()) if task.is_album else [duplicate], list(duplicate.items()) if task.is_album else [duplicate],
not task.is_album, not task.is_album,
)) ))
if config['import']['duplicate_verbose_prompt']:
if task.is_album:
for dup in duplicate.items():
print(f" {dup}")
else:
print(f" {duplicate}")
print_("New: " + summarize_items( print_("New: " + summarize_items(
task.imported_items(), task.imported_items(),
not task.is_album, not task.is_album,
)) ))
if config['import']['duplicate_verbose_prompt']:
for item in task.imported_items():
print(f" {item}")
sel = ui.input_options( sel = ui.input_options(
('Skip new', 'Keep all', 'Remove old', 'Merge all') ('Skip new', 'Keep all', 'Remove old', 'Merge all')

View file

@ -109,6 +109,9 @@ New features:
:bug: `4863` :bug: `4863`
* Make ArtResizer work with :pypi:`PIL`/:pypi:`pillow` 10.0.0 removals. * Make ArtResizer work with :pypi:`PIL`/:pypi:`pillow` 10.0.0 removals.
:bug:`4869` :bug:`4869`
* A new configuration option, :ref:`duplicate_verbose_prompt`, allows changing
how duplicates are presented during import.
:bug: `4866`
Bug fixes: Bug fixes:

View file

@ -728,6 +728,29 @@ Controls how duplicates are treated in import task.
item; "merge" means merge into one album; "ask" means the user item; "merge" means merge into one album; "ask" means the user
should be prompted for the action each time. The default is ``ask``. should be prompted for the action each time. The default is ``ask``.
.. _duplicate_verbose_prompt:
duplicate_verbose_prompt
~~~~~~~~~~~~~~~~~~~~~~~~
Usually when duplicates are detected during import, information about the
existing and the newly imported album is summarized. Enabling this option also
lists details on individual tracks. The :ref:`format_item setting
<format_item>` is applied, which would, considering the default, look like
this:
.. code-block:: console
This item is already in the library!
Old: 1 items, MP3, 320kbps, 5:56, 13.6 MiB
Artist Name - Album Name - Third Track Title
New: 2 items, MP3, 320kbps, 7:18, 17.1 MiB
Artist Name - Album Name - First Track Title
Artist Name - Album Name - Second Track Title
[S]kip new, Keep all, Remove old, Merge all?
Default: ``no``.
.. _bell: .. _bell:
bell bell