Source code for audiorename

"""Rename audio files from metadata tags."""

import sys
from importlib import metadata

from .args import fields, parse_args
from .batch import Batch
from .job import Job
from .message import job_info, stats

fields

__version__: str = metadata.version("audiorename")


[docs] def execute(*argv: str) -> None: """Main function :param list argv: The command line arguments specified as a list: e. g :code:`['--dry-run', '.']` """ job = None try: args = parse_args(argv) job = Job(args) job.stats.counter.reset() job.stats.timer.start() if job.cli_output.job_info: job_info(job) if job.rename.dry_run: job.msg.output("Dry run") batch = Batch(job) batch.execute() job.stats.timer.stop() if job.cli_output.stats: stats(job) except KeyboardInterrupt: if job: job.stats.timer.stop() if job.cli_output.stats: stats(job) sys.exit(0)