Example #1
0
def test_properties():
    flac_dir = '/tmp/flac_dir'
    mp3_dir = '/tmp/mp3_dir'
    song = Song('/tmp/flac_dir/Artist - 2000 - Album - 01 - Title.flac', flac_dir, mp3_dir)

    song.flac_artist = 'artist'
    assert song.bad_artist
    song.flac_artist = 'Artist'
    assert not song.bad_artist

    song.flac_date = 2000
    assert song.bad_date
    song.flac_date = '200'
    assert song.bad_date
    song.flac_date = '2000'
    assert not song.bad_date

    song.filename_date = '200'
    song.flac_date = '200'
    assert song.bad_date
    song.filename_date = '20000'
    song.flac_date = '20000'
    assert song.bad_date
    song.filename_date = '200a'
    song.flac_date = '200a'
    assert song.bad_date
    song.filename_date = '2000.1'
    song.flac_date = '2000.1'
    assert song.bad_date
    song.filename_date = '2000'
    song.flac_date = '2000'
    assert not song.bad_date

    song.flac_album = 'album'
    assert song.bad_album
    song.flac_album = 'Album'
    assert not song.bad_album
    song.filename_album = 'Album (Disc 1)'
    assert song.bad_album
    song.flac_disc = '1'
    assert not song.bad_album

    song.flac_track = 1
    assert song.bad_track
    song.flac_track = '1'
    assert song.bad_track
    song.flac_track = '01'
    assert not song.bad_track

    song.filename_track = '1'
    song.flac_track = '1'
    assert song.bad_track
    song.filename_track = '0001'
    song.flac_track = '0001'
    assert song.bad_track
    song.filename_track = 'a1'
    song.flac_track = 'a1'
    assert song.bad_track
    song.filename_track = '.1'
    song.flac_track = '.1'
    assert song.bad_track
    song.filename_track = '001'
    song.flac_track = '001'
    assert not song.bad_track

    song.flac_title = 'title'
    assert song.bad_title
    song.flac_title = 'Title'
    assert not song.bad_title

    OPTIONS['--ignore-lyrics'] = True
    assert not song.bad_lyrics
    OPTIONS['--ignore-lyrics'] = False
    assert song.bad_lyrics
    song.flac_has_lyrics = True
    assert not song.bad_lyrics

    OPTIONS['--ignore-art'] = True
    assert not song.bad_picture
    OPTIONS['--ignore-art'] = False
    assert song.bad_picture
    song.flac_has_picture = True
    assert not song.bad_picture

    assert song.metadata_ok
    song.flac_has_picture = False
    assert not song.metadata_ok

    song.flac_current_mtime = 0
    song.flac_current_size = 0
    song.mp3_current_mtime = 0
    song.mp3_current_size = 0
    assert not song.skip_conversion
    song.flac_stored_mtime = 0
    song.flac_stored_size = 0
    song.mp3_stored_mtime = 0
    song.mp3_stored_size = 0
    assert song.skip_conversion