#!/usr/bin/env python3 ''' Utility class to manage MP3 files in batch ''' import os from pydub import AudioSegment import eyed3 # logging from common import Logger, ExitSignal, CLIParser logger = Logger.getLogger() # disable debug from libraries import logging logging.getLogger("pydub").setLevel(logging.WARNING) logging.getLogger("eyed3").setLevel(logging.WARNING) logging.getLogger("ffmpeg").setLevel(logging.WARNING) class MP3File: def __init__(self, path): self.name = os.path.basename(path) self.__audio_stream = AudioSegment.from_mp3(path) self.length = self.__audio_stream.duration_seconds self.channels = self.__audio_stream.channels self.max_vol = self.__audio_stream.max_dBFS self.avg_vol = self.__audio_stream.dBFS audiofile = eyed3.load(path) self.bitrate = audiofile.info.bit_rate[1] self.artist = audiofile.tag.artist self.album = audiofile.tag.album self.title = audiofile.tag.title def vol_up(self, gain=None):