Enable %B (barcode) and %C (catalog number) template variables

Already included but were not allowed.
Improved documentation.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
This commit is contained in:
JoeLametta
2021-05-15 13:32:02 +00:00
parent 0eaf80c4bb
commit e6d9838148
5 changed files with 12 additions and 2 deletions

View File

@@ -94,6 +94,8 @@ Template schemes
| - %A: release artist
| - %S: release sort name
| - %B: release barcode
| - %C: release catalog number
| - %d: disc title
| - %y: release year
| - %r: release type, lowercase

View File

@@ -54,6 +54,8 @@ filling in the variables and adding the file extension. Variables for both
disc and track template are:
- %A: release artist
- %S: release sort name
- %B: release barcode
- %C: release catalog number
- %d: disc title
- %y: release year
- %r: release type, lowercase

View File

@@ -277,9 +277,9 @@ def getRelativePath(targetPath, collectionPath):
def validate_template(template, kind):
"""Raise exception if disc/track template includes invalid variables."""
if kind == 'disc':
matches = re.findall(r'%[^ARSXdrxy]', template)
matches = re.findall(r'%[^ABCRSXdrxy]', template)
elif kind == 'track':
matches = re.findall(r'%[^ARSXadnrstxy]', template)
matches = re.findall(r'%[^ABCRSXadnrstxy]', template)
if '%' in template and matches:
raise ValueError(kind + ' template string contains invalid '
'variable(s): {}'.format(', '.join(matches)))

View File

@@ -71,6 +71,10 @@ class DiscMetadata:
:vartype tracks: list of :any:`TrackMetadata`
:cvar countries: MusicBrainz release countries
:vartype countries: list or None
:cvar catalogNumber: release catalog number
:vartype catalogNumber: str or None
:cvar barcode: release barcode
:vartype barcode: str or None
"""
artist = None

View File

@@ -176,6 +176,8 @@ class Program:
* ``%A``: release artist
* ``%S``: release artist sort name
* ``%B``: release barcode
* ``%C``: release catalog number
* ``%d``: disc title
* ``%y``: release year
* ``%r``: release type, lowercase