From 144d9747312092f58b3e6ac6636ef61bba9cec50 Mon Sep 17 00:00:00 2001 From: Lucas Media Date: Thu, 8 Oct 2026 10:38:54 +0000 Subject: [PATCH] add log to audiobooks edit database asd --- audiobook_metadata/metadata_edit_database.py | 42 +++++++++++++++----- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/audiobook_metadata/metadata_edit_database.py b/audiobook_metadata/metadata_edit_database.py index 37b6b15..c07a1f8 100755 --- a/audiobook_metadata/metadata_edit_database.py +++ b/audiobook_metadata/metadata_edit_database.py @@ -57,39 +57,63 @@ def main(): list_genres = load_genre(cur,True) - for genre in list_genres: - print(genre) - for book_id, genres_json in cur.execute("SELECT id, genres FROM books"): + #for genre in list_genres: + # print(genre) + rows = cur.execute( + "SELECT id, genres FROM books" + ).fetchall() + + for book_id, genres_json in rows: if not genres_json: continue - genres = json.loads(genres_json) new_genres = [] - + print("=================================") + print(f"Before sed: {genres}") for genre in genres: genre = re.sub(r'(?i)^audio\s*books?$', '', genre) genre = re.sub(r'(?i)^audiobooks?$', '', genre) - genre = re.sub(r'(?i)^hörb(uch|ücher)$', '', genre) - genre = re.sub(r'(?i)^hörspiele?$', '', genre) + genre = re.sub(r'(?i)\bhörb(uch|ücher)\b', '', genre) + genre = re.sub(r'(?i)^(hörspiele?|hoerspiele?)$', '', genre) genre = re.sub(r'(?i)^spoken\s*word$', '', genre) genre = re.sub(r'(?i)^speech$', '', genre) genre = re.sub(r'(?i)^(sci[- ]?fi|sf)$', 'Science Fiction', genre) genre = re.sub(r'(?i)^nonfiction$', 'NonFiction', genre) + genre = re.sub(r'^-\s*|\s*-$', '', genre) genre = genre.strip() - if genre: - new_genres.append(genre) + new_genres.append(genre) new_genres = sorted(set(new_genres)) print("Write to Database") + print(f"After sed: {new_genres}") + print("=================================") + + list_difference = False + + for old,new in zip(genres,new_genres): + if old != new: + list_difference = True + break + + if not list_difference: + print("No difference: Dont Commit to Database") + continue + + if args.print_only: + print("Print only: Dont Commit to database") + continue + + print("Write to Database") cur.execute( "UPDATE books SET genres=? WHERE id=?", (json.dumps(new_genres), book_id), ) + print("Database Updated") db.commit()