Loading karaokatalog/Library.py +2 −3 Changes for karaokatalog/Library.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from collections.abc import Sequence from dataclasses import dataclass from pathlib import Path from typing import Self from dataclasses import dataclass from collections.abc import Sequence from tqdm import tqdm from karaokatalog.Song import Song Loading karaokatalog/Song.py +2 −3 Changes for karaokatalog/Song.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from __future__ import annotations from pathlib import Path from typing import Self import filecmp from dataclasses import dataclass from pathlib import Path from typing import Self type Title = str type Artist = str Loading karaokatalog/deduplicate/__main__.py +11 −8 Changes for karaokatalog/deduplicate/__main__.py: 11 added lines, 8 removed lines. Original line number Diff line number Diff line from karaokatalog.Library import Library from karaokatalog.Song import Song import logging import sys from pathlib import Path from tqdm import tqdm from karaokatalog.deduplicate.find_duplicates import find_duplicates from karaokatalog.deduplicate.prune import prune from karaokatalog.Library import Library from karaokatalog.Song import Song from karaokatalog.util.get_equivalence_classes import get_equivalence_classes from pathlib import Path from tqdm import tqdm import sys import logging logging.basicConfig( format="%(asctime)s [%(levelname)s] %(message)s", level=logging.INFO ) Loading Loading @@ -39,7 +40,9 @@ if __name__ == "__main__": for equivalence_class in tqdm(exact_duplicates, unit=" exact duplicates") for instruction in prune(equivalence_class) ) logging.info(f"{len(pruning_instructions)} exactly duplicated songs will be deleted") logging.info( f"{len(pruning_instructions)} exactly duplicated songs will be deleted" ) # TODO Call all pruning_instructions, to actually delete the files Loading karaokatalog/deduplicate/find_duplicates.py +2 −2 Changes for karaokatalog/deduplicate/find_duplicates.py: 2 added lines, 2 removed lines. Original line number Diff line number Diff line from collections.abc import Mapping, Sequence from collections import defaultdict from collections.abc import Mapping, Sequence from tqdm import tqdm from karaokatalog.Library import Library from karaokatalog.Song import Song, Title, Artist from karaokatalog.Song import Artist, Song, Title type TitleAndArtist = tuple[Title, Artist] Loading karaokatalog/deduplicate/instructions/Instruction.py +2 −3 Changes for karaokatalog/deduplicate/instructions/Instruction.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from typing import Protocol class Instruction(Protocol): def __call__(self) -> None: ... class Instruction(Protocol): def __call__(self) -> None: ... Loading
karaokatalog/Library.py +2 −3 Changes for karaokatalog/Library.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from collections.abc import Sequence from dataclasses import dataclass from pathlib import Path from typing import Self from dataclasses import dataclass from collections.abc import Sequence from tqdm import tqdm from karaokatalog.Song import Song Loading
karaokatalog/Song.py +2 −3 Changes for karaokatalog/Song.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from __future__ import annotations from pathlib import Path from typing import Self import filecmp from dataclasses import dataclass from pathlib import Path from typing import Self type Title = str type Artist = str Loading
karaokatalog/deduplicate/__main__.py +11 −8 Changes for karaokatalog/deduplicate/__main__.py: 11 added lines, 8 removed lines. Original line number Diff line number Diff line from karaokatalog.Library import Library from karaokatalog.Song import Song import logging import sys from pathlib import Path from tqdm import tqdm from karaokatalog.deduplicate.find_duplicates import find_duplicates from karaokatalog.deduplicate.prune import prune from karaokatalog.Library import Library from karaokatalog.Song import Song from karaokatalog.util.get_equivalence_classes import get_equivalence_classes from pathlib import Path from tqdm import tqdm import sys import logging logging.basicConfig( format="%(asctime)s [%(levelname)s] %(message)s", level=logging.INFO ) Loading Loading @@ -39,7 +40,9 @@ if __name__ == "__main__": for equivalence_class in tqdm(exact_duplicates, unit=" exact duplicates") for instruction in prune(equivalence_class) ) logging.info(f"{len(pruning_instructions)} exactly duplicated songs will be deleted") logging.info( f"{len(pruning_instructions)} exactly duplicated songs will be deleted" ) # TODO Call all pruning_instructions, to actually delete the files Loading
karaokatalog/deduplicate/find_duplicates.py +2 −2 Changes for karaokatalog/deduplicate/find_duplicates.py: 2 added lines, 2 removed lines. Original line number Diff line number Diff line from collections.abc import Mapping, Sequence from collections import defaultdict from collections.abc import Mapping, Sequence from tqdm import tqdm from karaokatalog.Library import Library from karaokatalog.Song import Song, Title, Artist from karaokatalog.Song import Artist, Song, Title type TitleAndArtist = tuple[Title, Artist] Loading
karaokatalog/deduplicate/instructions/Instruction.py +2 −3 Changes for karaokatalog/deduplicate/instructions/Instruction.py: 2 added lines, 3 removed lines. Original line number Diff line number Diff line from typing import Protocol class Instruction(Protocol): def __call__(self) -> None: ... class Instruction(Protocol): def __call__(self) -> None: ...