Exemple #1
0
def test_is_itunes_bought_file_for_itunes_file(monkeypatch):
    monkeypatch.setattr(
        'mutagen.mp4.MP4', lambda *args: MagicMock(tags={
            'apID': 'owner information',
            'aART': 'Album Artist',
        }))
    assert is_itunes_bought_file(Path('tests/fixtures/1 itunes file.m4a'))

    monkeypatch.setattr(
        'mutagen.mp4.MP4', lambda *args: MagicMock(tags={
            'ownr': 'owner information',
            'aART': 'Album Artist',
        }))
    assert is_itunes_bought_file(Path('tests/fixtures/1 itunes file.m4a'))
Exemple #2
0
def test_is_itunes_bought_file(monkeypatch):
    class MockCompletedProcess:
        def __init__(self, stdout):
            self.stdout = stdout

    monkeypatch.setattr(
        'apit.atomic_parser.read_metadata',
        lambda *args: MockCompletedProcess('Atom "ownr" contains'))
    assert is_itunes_bought_file('tests/fixtures/1 itunes file.m4a')
Exemple #3
0
def to_action_options(file: Path, options) -> Mapping[str, Union[Optional[Song], bool, Optional[int], Optional[Path]]]:
    disc_and_track = extract_disc_and_track_number(file)
    disc: Optional[int] = None
    track: Optional[int] = None
    if disc_and_track is not None:
        disc, track = disc_and_track

    return {
        'song': find_song(options['songs'], disc=disc, track=track),
        'disc': disc,
        'track': track,
        'is_original': is_itunes_bought_file(file),
        'should_backup': options['should_backup'],
        'cover_path': options['cover_path'],
    }
Exemple #4
0
def test_is_itunes_bought_file_error(monkeypatch):
    def _raise(*args):
        raise ApitError

    monkeypatch.setattr('apit.atomic_parser.read_metadata', _raise)
    assert not is_itunes_bought_file(Path('tests/fixtures/1 itunes file.m4a'))
Exemple #5
0
    def __init__(self, file: Path, options):
        super().__init__(file, options)

        self.album: Album = self.options['album']
        self.is_original = is_itunes_bought_file(self.file)
        self.file_match = extract_disc_and_track_number(self.file)