'beet import' in pretend mode with autotagging off should show the destination
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
### Background
I want to see the destination of an import so I know I didn't make a mistake that will send my music collection sprawling across my hdd.
I have a large directory of perfectly tagged files. I simply want to import them to beets and move them to directories based on their tags.
### Commands executed, output displayed
kaeru:~ flight16$ beet import -A --pretend /Volumes/Music/Vanilla/Music/BT\ -\ ESCM/
Album: /Volumes/Music/Vanilla/Music/BT - ESCM
/Volumes/Music/Vanilla/Music/BT - ESCM/101 Firewater.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/102 Orbitus Teranium.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/103 Flaming June.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/104 Lullaby For Gaia.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/105 Memories In A Sea Of Forgetfulness.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/106 Solar Plexus.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/107 Nectar.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/108 Remember.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/109 Love, Peace, And Grease.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/110 Content.m4a
kaeru:~ flight16$
That output doesn't isn't useful to me. It doesn't allow me to verify the files will go where I think they will go, that the files have all of the metadata to be used for the path template, and that I don't have any errors in my path template.
kaeru:~ flight16$ beet import -A /Volumes/Music/Vanilla/Music/BT\ -\ ESCM/
/Volumes/Music/Vanilla/Music/BT - ESCM
kaeru:~ flight16$ tree /Volumes/Music/Vanilla/Beets/
/Volumes/Music/Vanilla/Beets/
├── BT\ -\ ESCM
│ ├── $disk01\ Firewater.m4a
│ ├── $disk02\ Orbitus\ Teranium.m4a
│ ├── $disk03\ Flaming\ June.m4a
│ ├── $disk04\ Lullaby\ For\ Gaia.m4a
│ ├── $disk05\ Memories\ In\ A\ Sea\ Of\ Forgetfulness.m4a
│ ├── $disk06\ Solar\ Plexus.m4a
│ ├── $disk07\ Nectar.m4a
│ ├── $disk08\ Remember.m4a
│ ├── $disk09\ Love,\ Peace,\ And\ Grease.m4a
│ └── $disk10\ Content.m4a
└── library.blb1 directory, 11 files
kaeru:~ flight16$
Whoops! Syntax error in my path template caused my files to go to the wrong destination.
### What I expected to see
kaeru:~ flight16$ beet import -A --pretend /Volumes/Music/Vanilla/Music/BT\ -\ ESCM/
Source Target
/Volumes/Music/Vanilla/Music/BT - ESCM/101 Firewater.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk01 Firewater.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/102 Orbitus Teranium.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk02 Orbitus Teranium.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/103 Flaming June.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk03 Flaming June.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/104 Lullaby For Gaia.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk04 Lullaby For Gaia.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/105 Memories In A Sea Of Forgetfulness.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk05 Memories In A Sea Of Forgetfulness.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/106 Solar Plexus.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk06 Solar Plexus.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/107 Nectar.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk07 Nectar.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/108 Remember.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk08 Remember.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/109 Love, Peace, And Grease.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk09 Love, Peace, And Grease.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/110 Content.m4a -> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk10 Content.m4a
(10 files)
Or if beets detects my terminal isn't wide enough
kaeru:~ flight16$ beet import -A --pretend /Volumes/Music/Vanilla/Music/BT\ -\ ESCM/
/Volumes/Music/Vanilla/Music/BT - ESCM/101 Firewater.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk01 Firewater.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/102 Orbitus Teranium.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk02 Orbitus Teranium.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/103 Flaming June.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk03 Flaming June.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/104 Lullaby For Gaia.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk04 Lullaby For Gaia.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/105 Memories In A Sea Of Forgetfulness.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk05 Memories In A Sea Of Forgetfulness.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/106 Solar Plexus.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk06 Solar Plexus.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/107 Nectar.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk07 Nectar.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/108 Remember.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk08 Remember.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/109 Love, Peace, And Grease.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk09 Love, Peace, And Grease.m4a
/Volumes/Music/Vanilla/Music/BT - ESCM/110 Content.m4a
-> /Volumes/Music/Vanilla/Beets/BT - ESCM/$disk10 Content.m4a
(10 files)
I also expect to see the above when I run the command for real.
(This isn't some made-up example. It was honestly my very first experience with beets 5 minutes ago.)
Contributor guide
Research direction
Start at the `beet import` command's `--pretend` output path, especially the behavior when autotagging is disabled. Compare pretend and real imports using the example command and verify that output shows each source file, its destination, and the file count, including a readable narrow-terminal layout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100