docs: server comments say what the code does, not how it came to be (#6277)
Comment blocks in cmd/minstrel and 30 smaller internal packages, rewritten
to rule 32's standard with each citation read in context: task, milestone
and rule ids go, and so do the stories they were attached to ("used to",
"Before #N", measurements from one install, quotes, pointers to Fabled
Librarian's records and to docs/superpowers files that are not in the
repo). Where a story wrapped a real constraint, the constraint stays as a
present-tense fact.
Comments that had gone stale are corrected:
- taste.Config: the tuned values are overlaid by internal/recsettings;
it is no longer "a later follow-up".
- StorageConfig: the data dir holds art, caches and the stream secret,
not only playlist covers.
- the Subsonic album list and getUser comments describe what they do
today rather than a milestone that would change it.
Checked: the non-comment token stream of every changed file matches
HEAD, and gofmt -l is empty.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -64,11 +64,11 @@ type Importer struct {
|
||||
Catalogue Catalogue
|
||||
Printer Printer
|
||||
// Roots are the library's folders (the scan paths), read on every use
|
||||
// because they change in Settings (#6129). New music is filed under the
|
||||
// because they change in Settings. New music is filed under the
|
||||
// one the settings name, or the first.
|
||||
Roots func() []string
|
||||
// DataDir is where cached art lives, for tidying an artist an upgrade
|
||||
// leaves with nothing (#5524). Empty skips it.
|
||||
// leaves with nothing. Empty skips it.
|
||||
DataDir string
|
||||
// ClientFor builds the download client a grab went to. Defaults to
|
||||
// acquire.DownloadClientFor.
|
||||
@@ -195,7 +195,7 @@ func (im *Importer) passClient(ctx context.Context, q *dbq.Queries, code string,
|
||||
}
|
||||
t, ok := byHash[indexer.NormalizeHash(g.InfoHash)]
|
||||
if !ok {
|
||||
continue // gone from the client: the lifecycle settles it (#5523)
|
||||
continue // gone from the client: the lifecycle settles it
|
||||
}
|
||||
if !g.WantID.Valid {
|
||||
wait(g, "Its album is no longer wanted.")
|
||||
|
||||
@@ -26,7 +26,7 @@ type Printer interface {
|
||||
var ErrNoPrints = errors.New("importer: fingerprints are not available")
|
||||
|
||||
// AcoustIDPrinter fingerprints with fpcalc and asks AcoustID, under the
|
||||
// operator's settings (key, minimum score). Each call reads the settings, so
|
||||
// AcoustID settings (key, minimum score). Each call reads the settings, so
|
||||
// a change takes effect on the next file.
|
||||
type AcoustIDPrinter struct {
|
||||
Settings interface {
|
||||
|
||||
@@ -21,7 +21,7 @@ type Placement struct {
|
||||
}
|
||||
|
||||
// Plan names every file's destination under root the way the library is
|
||||
// already named (note #5527), so new arrivals sit beside what is there:
|
||||
// conventionally named, so new arrivals sit beside what is there:
|
||||
//
|
||||
// {Artist}/{Album} ({Year})/{Artist} - {Album} - {track:00} - {Title}.ext
|
||||
//
|
||||
|
||||
@@ -40,9 +40,9 @@ type Tags struct {
|
||||
// gets the plain names only.
|
||||
//
|
||||
// A Vorbis track or disc number is the number alone, its count in
|
||||
// TRACKTOTAL and DISCTOTAL, as Picard writes them: dhowden/tag reads
|
||||
// TRACKNUMBER "3/20" as 0, and every album imported before #6171 lost its
|
||||
// order that way. ID3 and MP4 take "3/20", which their readers parse.
|
||||
// TRACKTOTAL and DISCTOTAL, as Picard writes them: dhowden/tag reads a
|
||||
// TRACKNUMBER of "3/20" as 0, which would lose the album's order. ID3 and MP4
|
||||
// take "3/20", which their readers parse.
|
||||
func (t Tags) args(ext string) []string {
|
||||
vorbis := ext == ".flac" || ext == ".ogg" || ext == ".opus"
|
||||
track, disc := ofN(t.Track, t.Tracks), ofN(t.Disc, t.Discs)
|
||||
@@ -111,7 +111,7 @@ func Place(ctx context.Context, src, dst string, t Tags) (tagged bool, err error
|
||||
return placeFile(ctx, src, dst, t, false)
|
||||
}
|
||||
|
||||
// Overwrite is Place onto a file an upgrade replaces (#5524): the new copy
|
||||
// Overwrite is Place onto a file an upgrade replaces: the new copy
|
||||
// takes the old one's path in one rename, so the library never sees the
|
||||
// path empty, and the track row at that path, history and all, carries on
|
||||
// with the new file.
|
||||
|
||||
@@ -17,7 +17,7 @@ import (
|
||||
"git.fabledsword.com/bvandeusen/minstrel/internal/release"
|
||||
)
|
||||
|
||||
// Importing an upgrade (M502 #5524): a better copy of an album the library
|
||||
// Importing an upgrade: a better copy of an album the library
|
||||
// holds. Each file is matched to the track it would replace, by recording
|
||||
// and then by disc and track. It replaces that track when the track is a
|
||||
// video rip or the new file is a better tier; otherwise the old track stays.
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
// Package importer checks a finished download against the album it was
|
||||
// grabbed for and files it into the library (M502 #5522). Nothing reaches
|
||||
// grabbed for and files it into the library. Nothing reaches
|
||||
// the library before the check says the files are the album: a wrong album,
|
||||
// another version of it, a video rip or an incomplete copy is refused, its
|
||||
// release is blocked and the album is searched for again.
|
||||
//
|
||||
// Ported from Fabled Librarian's importer and relocate packages, with the
|
||||
// check rewritten for music: the files are matched to one of the album's
|
||||
// MusicBrainz editions by AcoustID fingerprints, track lengths, titles and
|
||||
// the tags they carry.
|
||||
// The files are matched to one of the album's MusicBrainz editions by
|
||||
// AcoustID fingerprints, track lengths, titles and the tags they carry.
|
||||
package importer
|
||||
|
||||
import (
|
||||
@@ -67,7 +65,7 @@ type File struct {
|
||||
RecordingMBID string
|
||||
LengthMs int
|
||||
// Recordings are the MusicBrainz recordings AcoustID says the audio is,
|
||||
// at or above the operator's minimum score.
|
||||
// at or above the configured minimum score.
|
||||
Recordings []string
|
||||
// Video: the file name says it is a music video, a lyric video or the
|
||||
// like (library.SourceMarkersFor).
|
||||
@@ -113,7 +111,7 @@ type Want struct {
|
||||
Year int
|
||||
PrimaryType string
|
||||
SecondaryTypes []string
|
||||
// Upgrade: a held album wanted for a better copy (#5524), quality or
|
||||
// Upgrade: a held album wanted for a better copy, quality or
|
||||
// rip; AlbumID is the library album it holds, whose tracks the import
|
||||
// replaces.
|
||||
Upgrade string
|
||||
|
||||
@@ -220,7 +220,7 @@ func TestTagsArgs(t *testing.T) {
|
||||
t.Errorf("flac args lack %q: %s", s, flac)
|
||||
}
|
||||
}
|
||||
// dhowden/tag reads a Vorbis TRACKNUMBER of "8/13" as 0 (#6171).
|
||||
// dhowden/tag reads a Vorbis TRACKNUMBER of "8/13" as 0.
|
||||
if strings.Contains(flac, "/13") {
|
||||
t.Errorf("flac track number carries its count: %s", flac)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user