release parser
Find a file
2025-06-29 06:31:08 +07:00
reutil initial 2022-03-13 14:05:45 +07:00
taginfo Adding SLOVAK language 2024-04-10 06:44:28 +07:00
.gitignore initial 2022-03-13 14:05:45 +07:00
bench_test.go initial 2022-03-13 14:05:45 +07:00
example_test.go adding q option to format 2022-03-13 15:20:08 +07:00
go.mod fix multi episodes 2025-06-29 06:31:08 +07:00
go.sum fix multi episodes 2025-06-29 06:31:08 +07:00
lex.go fix multi episodes 2025-06-29 06:31:08 +07:00
LICENSE initial 2022-03-13 14:05:45 +07:00
parse.go fix for single ep music parsing 2023-03-26 16:49:09 +07:00
README.md adding q option to format 2022-03-13 15:20:08 +07:00
rls.go fix multi episodes 2025-06-29 06:31:08 +07:00
rls_test.go fix multi episodes 2025-06-29 06:31:08 +07:00
scan.go initial 2022-03-13 14:05:45 +07:00
scan_test.go clean 2022-09-24 12:02:13 +07:00
tagtype_string.go feat: move hdr from codec to new field 2022-04-27 05:13:01 +07:00
test.sh initial 2022-03-13 14:05:45 +07:00
tests.yaml fix multi episodes 2025-06-29 06:31:08 +07:00

about

a package to parse release names. see go doc.

use

package main

import (
	"fmt"

	"github.com/moistari/rls"
)

func main() {
	const title = "The_Velvet_Underground-The_Complete_Matrix_Tapes-Reissue_Limited_Edition_Boxset-8LP-2019-NOiR"
	r := rls.ParseString(title)
	fmt.Printf("%q:\n", r)
	fmt.Printf("  type: %s\n", r.Type)
	fmt.Printf("  artist: %s\n", r.Artist)
	fmt.Printf("  title: %s\n", r.Title)
	fmt.Printf("  year: %d\n", r.Year)
	fmt.Printf("  disc: %s\n", r.Disc)
	fmt.Printf("  source: %s\n", r.Source)
	fmt.Printf("  edition: %q\n", r.Edition)
	fmt.Printf("  other: %q\n", r.Other)
	fmt.Printf("  group: %s\n", r.Group)
	// Output:
	// "The_Velvet_Underground-The_Complete_Matrix_Tapes-Reissue_Limited_Edition_Boxset-8LP-2019-NOiR":
	//   type: music
	//   artist: The Velvet Underground
	//   title: The Complete Matrix Tapes
	//   year: 2019
	//   disc: 8x
	//   source: LP
	//   edition: ["Limited.Edition"]
	//   other: ["REISSUE" "BOXSET"]
	//   group: NOiR
}