Added logging e outputs

This commit is contained in:
Fabio Scotto di Santolo
2024-10-25 10:19:51 +02:00
parent de6138870d
commit dd01ddb5cf
3 changed files with 12 additions and 0 deletions

View File

@@ -1,8 +1,11 @@
import logging
import os
from typing import Any
import magic
logger = logging.getLogger(__name__)
def scan_folder(src: str):
for (root, dirs, files) in os.walk(top=src):
@@ -12,4 +15,5 @@ def scan_folder(src: str):
def accepted_file_type(file: Any) -> bool:
mime = magic.from_file(file, mime=True)
logger.info(f"MIME {mime} for file {file}")
return mime in ('audio/mpeg', 'audio/mp3')

View File

@@ -22,6 +22,7 @@ def arg_parser():
async def main(src, dst) -> Any:
for song_file in scan_folder(src):
if accepted_file_type(song_file):
print(f"Found file {song_file}")
track_info = await search_song(song_file)
logging.info(f"Recognize file {song_file} as {track_info}")
album_path: str = os.path.join(dst, track_info.artist,
@@ -32,6 +33,8 @@ async def main(src, dst) -> Any:
# I can copy to file now
shutil.copy(song_file,
os.path.join(album_path, f"{track_info.track_number} - {track_info.title}.mp3"))
else:
print(f"Skipped file {song_file}")
if __name__ == '__main__':

View File

@@ -1,9 +1,13 @@
import itertools
import json
import logging
from typing import Any
from api import shazam
from models.track import TrackInfo, Album
logger = logging.getLogger(__name__)
async def __extract_data(data: dict[str, Any]) -> dict[str, Any]:
def album_field(x: str, lst: list) -> str | int:
@@ -18,6 +22,7 @@ async def __extract_data(data: dict[str, Any]) -> dict[str, Any]:
return t["attributes"]
return {}
logger.debug(json.dumps(data, indent=2))
track_data = data["track"]
track_attrs = list(itertools.chain(*[x["metadata"] for x in track_data["sections"] if "metadata" in x]))
album_attrs = seek_track(