From 7ad5c67a7772c3fd20305ddc0986f8909e35078d Mon Sep 17 00:00:00 2001 From: Junior Date: Fri, 18 Apr 2025 09:33:06 -0400 Subject: [PATCH] Switch to composer getID3 lib. Add SIMULATE arg/mode. Add vim modeline. --- scripts/homeaudio_parsesongs.php | 44 +++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/scripts/homeaudio_parsesongs.php b/scripts/homeaudio_parsesongs.php index cfef6cc..8984a03 100644 --- a/scripts/homeaudio_parsesongs.php +++ b/scripts/homeaudio_parsesongs.php @@ -1,8 +1,14 @@ execute($fieldsdel); + if ( SIMULATE ) { + echo "Would have removed: {$row['song']}\n"; + } else { + $sthdel->execute($fieldsdel); + } $prunecount++; } } @@ -59,13 +69,21 @@ function addNewSongs($path = "") { if ( substr($entry, -3) != "mp3" ) continue; $song = $path . $entry; $fields = array(); - $fields[':path'] = $path; - $fields[':song'] = $entry; - $sth_exists->execute($fields); + $fields[':path'] = mb_convert_encoding($path, "UTF-8"); + $fields[':song'] = mb_convert_encoding($entry, "UTF-8"); + try { + $sth_exists->execute($fields); + } catch ( Exception $e ) { + echo "Could not query database for song: {$path}/{$entry}\n"; + } if ( $sth_exists->fetchColumn() == 0 ) { $newcount++; if ( ($newcount % 1000) == 0 ) echo "."; - $sth_addnew->execute($fields); + if ( SIMULATE ) { + echo "Would have added: {$fields[':path']}/{$fields[':song']}\n"; + } else { + $sth_addnew->execute($fields); + } } } } @@ -118,12 +136,14 @@ function parseSongs() { $fields[':artfile'] = $artmd5 . "." . $extbymimetypes[$mimetype]; } } - if ( ($fields[':artfile'] != "") && !file_exists(ARTDIR . $fields[':artfile']) ) { - file_put_contents(ARTDIR . $fields[':artfile'], $info['comments']['picture'][0]['data']); + if ( !SIMULATE ) { + if ( ($fields[':artfile'] != "") && !file_exists(ARTDIR . $fields[':artfile']) ) { + file_put_contents(ARTDIR . $fields[':artfile'], $info['comments']['picture'][0]['data']); + } + $sth_info->execute($fields); } $parsecount++; if ( ($parsecount % 1000) == 0 ) echo "."; - $sth_info->execute($fields); } return $parsecount; } @@ -157,7 +177,7 @@ addNewSongs(); echo " ", $newcount, " songs added.\n"; echo "Parsing ID3 tags..."; -$parsecount = parseSongs(); -echo " ", $parsecount, " tags parsed.\n"; +//$parsecount = parseSongs(); +//echo " ", $parsecount, " tags parsed.\n"; -?> +// vim: set et ts=3 sw=3 ai mouse-=a: