{"action":"created","issue":{"url":"https://api.github.com/repos/sampsyo/beets/issues/1593","labels_url":"https://api.github.com/repos/sampsyo/beets/issues/1593/labels{/name}","comments_url":"https://api.github.com/repos/sampsyo/beets/issues/1593/comments","events_url":"https://api.github.com/repos/sampsyo/beets/issues/1593/events","html_url":"https://github.com/sampsyo/beets/issues/1593","id":105263966,"number":1593,"title":"import formatting hard to parse mentally","user":{"login":"Profpatsch","id":3153638,"avatar_url":"https://avatars.githubusercontent.com/u/3153638?v=3","gravatar_id":"","url":"https://api.github.com/users/Profpatsch","html_url":"https://github.com/Profpatsch","followers_url":"https://api.github.com/users/Profpatsch/followers","following_url":"https://api.github.com/users/Profpatsch/following{/other_user}","gists_url":"https://api.github.com/users/Profpatsch/gists{/gist_id}","starred_url":"https://api.github.com/users/Profpatsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Profpatsch/subscriptions","organizations_url":"https://api.github.com/users/Profpatsch/orgs","repos_url":"https://api.github.com/users/Profpatsch/repos","events_url":"https://api.github.com/users/Profpatsch/events{/privacy}","received_events_url":"https://api.github.com/users/Profpatsch/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sampsyo/beets/labels/discussion","name":"discussion","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":61,"created_at":"2015-09-07T20:24:32Z","updated_at":"2015-11-02T00:51:31Z","closed_at":null,"body":"With the current formatting output, it’s extremely hard to find the crucial information. Current output might look like this (minus the colors):\r\n\r\n```\r\n4. Austin Wintory - The Banner Saga (26.9%) (tracks, missing tracks, album, ...) (Digital Media, 2014, XW, Reference Recordings)\r\n5. Austin Wintory - Monaco: What’s Yours Is Mine / The Gentleman’s Private Collection (25.3%) (missing tracks, tracks, album, ...) (Digital Media, 2013, XW)\r\n# selection (default 1), Skip, Use as-is, as Tracks, Group albums,\r\nEnter search, enter Id, aBort? s\r\n/home/philip/Downloads/music/Austin Wintory - The Conformation (4 items)\r\nFinding tags for album \"Austin Wintory - The Conformation\".\r\nCandidates:\r\n1. Austin Wintory - Monaco: The Gentleman’s Private Collection (28.7%) (missing tracks, tracks, album, ...) (CD, 2013, US, T-65b Records)\r\n2. Austin Wintory - Monaco: The Gentleman’s Private Collection (28.7%) (missing tracks, tracks, album, ...) (Digital Media, 2013, XW)\r\n3. Austin Wintory - The River Why (27.7%) (missing tracks, tracks, album) (2012)\r\n4. Austin Wintory - The Banner Saga (19.1%) (missing tracks, tracks, album, ...) (Digital Media, 2014, XW, Reference Recordings)\r\n5. Austin Wintory - Monaco: What’s Yours Is Mine / The Gentleman’s Private Collection (17.3%) (missing tracks, tracks, album, ...) (Digital Media, 2013, XW)\r\n# selection (default 1), Skip, Use as-is, as Tracks, Group albums,\r\nEnter search, enter Id, aBort? \r\n```\r\n\r\nI deliberately cut one output in half and used a terminal with half a screen’s width.\r\nThe crucial information I need for a decision is:\r\n* What record is this about\r\n* What gets changed\r\n* What can I do\r\n\r\nEspecially the first point is hard at the moment.\r\n\r\n## A few points to break it down\r\n\r\n### new entry\r\n```\r\n# selection (default 1), Skip, Use as-is, as Tracks, Group albums,\r\nEnter search, enter Id, aBort? s\r\n/home/philip/Downloads/music/Austin Wintory - The Conformation (4 items)\r\nFinding tags for album \"Austin Wintory - The Conformation\".\r\n```\r\n\r\nA newline would greatly increase readability.\r\n\r\n### paths\r\n\r\n     /home/philip/Downloads/music/Austin Wintory - The Conformation (4 items)\r\n\r\nSince you invoke the import with `beets import <path>`, it would make sense to use relative paths to reduce clutter (and  overlong lines).\r\n\r\n### noise\r\n\r\nSome chars are mostly noise after the first time:\r\n\r\n```\r\nFinding tags for album\r\nCandidates:\r\nCorrecting tags from:\r\nTo:\r\nURL:\r\n```\r\n\r\n## Suggestion for reformatting\r\n\r\n```\r\n<previous entry>\r\n\r\n./Austin Wintory - Monaco- What's Yours Is Mine (17 items)\r\n    Austin Wintory - Monaco: What's Yours Is Mine\r\n->  Austin Wintory - Monaco: What’s Yours Is Mine\r\n * What's Yours Is Mine          -> What’s Yours Is Mine\r\n * Prison life                   -> Prison Life\r\n * The Devil's Trick             -> The Devil’s Trick\r\n * Can't Resist (ft. Laura Vall) -> Can’t Resist (title)\r\nhttp://musicbrainz.org/release/8bae12ae-945d-4f8c-866c-0892e5f31e15\r\n(Similarity: 99.9%) (tracks) (CD, 2013, US, T-65b Records)\r\n\r\n./Austin Wintory - Soul Fjord (8 items)\r\n    Austin Wintory - Soul Fjord\r\n    http://musicbrainz.org/release/a75abdad-57be-40bf-8464-ac5090225ff5\r\n(Similarity: 100.0%) (Digital Media, 2014, XW)\r\n\r\n./Austin Wintory - Spirit of the Cosmos (13 items)\r\n---\r\n1. Austin Wintory - Monaco: The Gentleman’s Private Collection (33.5%) (tracks, missing tracks, album, ...) (CD, 2013, US, T-65b Records)\r\n2. Austin Wintory - Monaco: The Gentleman’s Private Collection (33.5%) (tracks, missing tracks, album, ...) (Digital Media, 2013, XW)\r\n3. Austin Wintory - The River Why (31.5%) (tracks, missing tracks, album) (2012)\r\n4. Austin Wintory - The Banner Saga (26.9%) (tracks, missing tracks, album, ...) (Digital Media, 2014, XW, Reference Recordings)\r\n5. Austin Wintory - Monaco: What’s Yours Is Mine / The Gentleman’s Private Collection (25.3%) (missing tracks, tracks, album, ...) (Digital Media, 2013, XW)\r\n---\r\n# selection (default 1), Skip, Use as-is, as Tracks, Group albums,\r\nEnter search, enter Id, aBort? s\r\n\r\n```\r\n\r\nI’m not entirely happy with the last one, the list should be clearly visible and the prompt is two lines.\r\nProbably even the word `Similarity` should be taken out, the color-coded percentage is self-explaining."},"comment":{"url":"https://api.github.com/repos/sampsyo/beets/issues/comments/152884031","html_url":"https://github.com/sampsyo/beets/issues/1593#issuecomment-152884031","issue_url":"https://api.github.com/repos/sampsyo/beets/issues/1593","id":152884031,"user":{"login":"sampsyo","id":188033,"avatar_url":"https://avatars.githubusercontent.com/u/188033?v=3","gravatar_id":"","url":"https://api.github.com/users/sampsyo","html_url":"https://github.com/sampsyo","followers_url":"https://api.github.com/users/sampsyo/followers","following_url":"https://api.github.com/users/sampsyo/following{/other_user}","gists_url":"https://api.github.com/users/sampsyo/gists{/gist_id}","starred_url":"https://api.github.com/users/sampsyo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sampsyo/subscriptions","organizations_url":"https://api.github.com/users/sampsyo/orgs","repos_url":"https://api.github.com/users/sampsyo/repos","events_url":"https://api.github.com/users/sampsyo/events{/privacy}","received_events_url":"https://api.github.com/users/sampsyo/received_events","type":"User","site_admin":false},"created_at":"2015-11-02T00:51:31Z","updated_at":"2015-11-02T00:51:31Z","body":"Awesome! Amazing work so far; this is not too far off from matching your hand-made mockups.\r\n\r\nHow do you feel about pulling this into a branch on the main repository? That way, we can collaborate in a central place—and even send pull requests to the development branch.\r\n\r\nOn word wrapping: Yes, this is a pain. In fact, you'll see we deal with exactly the same issue when [wrapping difference displays](https://github.com/sampsyo/beets/blob/c617033476f455ef1578238087097e8e732f08fd/beets/ui/commands.py#L265-L267) by drawing along the *length* of the uncolored strings. As painful as it is, I actually think there's a chance it could get even more painful to use an ANSI-ignoring length calculation—adding in codes and then stripping them out again could become error-prone. Maybe we can find a better way to do this that computes the wrapping points in a first pass and then colorizes in a second pass.\r\n\r\nA similar approach could help with multi-line `colordiff` stuff. If we first find the wrap points, then the colorization positions, and then apply both to the string at once, we might be able to avoid most of the unpleasantness."}}