zfill track number metadata

This commit is contained in:
Ritiek Malhotra
2020-05-05 14:17:27 +05:30
parent c3e8a0f0db
commit ec5704e050
4 changed files with 18 additions and 15 deletions

View File

@@ -185,15 +185,15 @@ def get_arguments(argv=None, base_config_file=spotdl.config.default_config_file)
"when YouTube API key is set)", "when YouTube API key is set)",
action="store_true", action="store_true",
) )
parser.add_argument( # parser.add_argument(
"--processor", # "--processor",
default=config["processor"], # default=config["processor"],
choices={"synchronous", "threaded"}, # choices={"synchronous", "threaded"},
help='list downloading strategy: - "synchronous" downloads ' # help='list downloading strategy: - "synchronous" downloads '
'tracks one-by-one. - "threaded" (highly experimental at the ' # 'tracks one-by-one. - "threaded" (highly experimental at the '
'moment! expect it to slash & burn) pre-fetches the next ' # 'moment! expect it to slash & burn) pre-fetches the next '
'track\'s metadata for more efficient downloading' # 'track\'s metadata for more efficient downloading'
) # )
parser.add_argument( parser.add_argument(
"-ns", "-ns",
"--no-spaces", "--no-spaces",
@@ -258,6 +258,9 @@ def get_arguments(argv=None, base_config_file=spotdl.config.default_config_file)
parsed = override_config(parsed.config, parser) parsed = override_config(parsed.config, parser)
parsed.log_level = log_leveller(parsed.log_level) parsed.log_level = log_leveller(parsed.log_level)
# TODO: Remove this line once we can experiement with other
# download processors (such as "threaded").
parsed.processor = "synchronous"
return Arguments(parser, parsed) return Arguments(parser, parsed)

View File

@@ -22,7 +22,7 @@ DEFAULT_CONFIGURATION = {
"dry_run": False, "dry_run": False,
"music_videos_only": False, "music_videos_only": False,
"no_spaces": False, "no_spaces": False,
"processor": "synchronous", # "processor": "synchronous",
"output_file": "{artist} - {track-name}.{output-ext}", "output_file": "{artist} - {track-name}.{output-ext}",
"search_format": "{artist} - {track-name} lyrics", "search_format": "{artist} - {track-name} lyrics",
"youtube_api_key": None, "youtube_api_key": None,
@@ -64,7 +64,7 @@ def get_config(config_file):
DEFAULT_CONFIGURATION["spotify-downloader"], default_flow_style=False DEFAULT_CONFIGURATION["spotify-downloader"], default_flow_style=False
).split("\n"): ).split("\n"):
if line.strip(): if line.strip():
log.info(line.strip()) logger.info(line.strip())
logger.info( logger.info(
"Please note that command line arguments have higher priority " "Please note that command line arguments have higher priority "
"than their equivalents in the configuration file" "than their equivalents in the configuration file"

View File

@@ -174,12 +174,13 @@ class EmbedderDefault(EmbedderBase):
audiofile[preset["discnumber"]] = str(metadata["disc_number"]) audiofile[preset["discnumber"]] = str(metadata["disc_number"])
else: else:
audiofile[preset["discnumber"]] = [(metadata["disc_number"], 0)] audiofile[preset["discnumber"]] = [(metadata["disc_number"], 0)]
zfilled_track_number = str(metadata["track_number"]).zfill(len(str(metadata["total_tracks"])))
if encoding == "flac": if encoding == "flac":
audiofile[preset["tracknumber"]] = str(metadata["track_number"]) audiofile[preset["tracknumber"]] = zfilled_track_number
else: else:
if preset["tracknumber"] == TAG_PRESET["tracknumber"]: if preset["tracknumber"] == TAG_PRESET["tracknumber"]:
audiofile[preset["tracknumber"]] = "{}/{}".format( audiofile[preset["tracknumber"]] = "{}/{}".format(
metadata["track_number"], metadata["total_tracks"] zfilled_track_number, metadata["total_tracks"]
) )
else: else:
audiofile[preset["tracknumber"]] = [ audiofile[preset["tracknumber"]] = [

View File

@@ -9,10 +9,9 @@ def format_string(string, metadata, output_extension="", sanitizer=lambda s: s):
"{duration}" : metadata["duration"], "{duration}" : metadata["duration"],
"{year}" : metadata["year"], "{year}" : metadata["year"],
"{original-date}": metadata["release_date"], "{original-date}": metadata["release_date"],
"{track-number}" : metadata["track_number"], "{track-number}" : str(metadata["track_number"]).zfill(len(str(metadata["total_tracks"]))),
"{total-tracks}" : metadata["total_tracks"], "{total-tracks}" : metadata["total_tracks"],
"{isrc}" : metadata["external_ids"]["isrc"], "{isrc}" : metadata["external_ids"]["isrc"],
# TODO: Call `str.zfill` fill on track-id
"{track-id}" : metadata.get("id", ""), "{track-id}" : metadata.get("id", ""),
"{output-ext}" : output_extension, "{output-ext}" : output_extension,
} }