Loading karaokatalog/organize/move.py +11 −6 Changes for karaokatalog/organize/move.py: 11 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ import re from collections.abc import Sequence from pathlib import Path from tqdm import tqdm from karaokatalog.instructions.MoveInstruction import MoveInstruction from karaokatalog.Song import Song Loading @@ -26,30 +28,33 @@ def move(songs: Sequence[Song], base_dir: Path) -> Sequence[MoveInstruction]: Create move instructions to move every song into the proper song directory within the given base_dir. """ song_dirs = set(song.dir.relative_to(base_dir) for song in songs) song_dir_strs_lower = set( str(song.dir.relative_to(base_dir)).lower() for song in songs ) move_instructions = [] for song in songs: for song in tqdm(songs, unit=" songs"): absolute_song_dir = song.dir song_dir = absolute_song_dir.relative_to(base_dir) song_dir_str_lower = str(song_dir).lower() canonical_song_dir = _get_canonical_song_dir(song) if song_dir not in song_dirs: if song_dir_str_lower not in song_dir_strs_lower: # A move instruction has already been generated for the dir this song is in # (which is possible, because some dirs contain multiple (variants of) songs) continue if song_dir != canonical_song_dir: # song_dir is not a good name, we want to replace it, so this path will soon be free song_dirs.remove(song_dir) song_dir_strs_lower.remove(song_dir_str_lower) # Find a canonical song dir variant that does not yet exist variant = 1 while canonical_song_dir in song_dirs: while str(canonical_song_dir).lower() in song_dir_strs_lower: canonical_song_dir = _get_canonical_song_dir(song, variant) variant += 1 song_dirs.add(canonical_song_dir) song_dir_strs_lower.add(str(canonical_song_dir).lower()) move_instructions.append( MoveInstruction(absolute_song_dir, base_dir / canonical_song_dir) ) Loading Loading
karaokatalog/organize/move.py +11 −6 Changes for karaokatalog/organize/move.py: 11 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ import re from collections.abc import Sequence from pathlib import Path from tqdm import tqdm from karaokatalog.instructions.MoveInstruction import MoveInstruction from karaokatalog.Song import Song Loading @@ -26,30 +28,33 @@ def move(songs: Sequence[Song], base_dir: Path) -> Sequence[MoveInstruction]: Create move instructions to move every song into the proper song directory within the given base_dir. """ song_dirs = set(song.dir.relative_to(base_dir) for song in songs) song_dir_strs_lower = set( str(song.dir.relative_to(base_dir)).lower() for song in songs ) move_instructions = [] for song in songs: for song in tqdm(songs, unit=" songs"): absolute_song_dir = song.dir song_dir = absolute_song_dir.relative_to(base_dir) song_dir_str_lower = str(song_dir).lower() canonical_song_dir = _get_canonical_song_dir(song) if song_dir not in song_dirs: if song_dir_str_lower not in song_dir_strs_lower: # A move instruction has already been generated for the dir this song is in # (which is possible, because some dirs contain multiple (variants of) songs) continue if song_dir != canonical_song_dir: # song_dir is not a good name, we want to replace it, so this path will soon be free song_dirs.remove(song_dir) song_dir_strs_lower.remove(song_dir_str_lower) # Find a canonical song dir variant that does not yet exist variant = 1 while canonical_song_dir in song_dirs: while str(canonical_song_dir).lower() in song_dir_strs_lower: canonical_song_dir = _get_canonical_song_dir(song, variant) variant += 1 song_dirs.add(canonical_song_dir) song_dir_strs_lower.add(str(canonical_song_dir).lower()) move_instructions.append( MoveInstruction(absolute_song_dir, base_dir / canonical_song_dir) ) Loading