Beispiel #1
0
def test_full_match():
    match = match_filename('_07.mp3',
                           r'_(\d+).mp3',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           full=True)
    assert match is not None, 'full match should cover everything'
    assert match.name_to == '07_NeverGonnaGiveYouUp.mp3'

    match = match_filename('_07.mp3',
                           r'(\d+)',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           full=True)
    assert match is None

    match = match_filename('_07.mp3',
                           r'_(\d+).mp3',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           full=False)
    assert match is not None
    assert match.name_to == '07_NeverGonnaGiveYouUp.mp3'

    match = match_filename('_07.mp3',
                           r'(\d+)',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           full=False)
    assert match is not None, 'non-full match can apply in the middle of string'
    assert match.name_to == '07_NeverGonnaGiveYouUp.mp3'
Beispiel #2
0
def test_numerical_padding_by_prefix():
    match = match_filename('42-1', r'(\d+)-(\d*)', '\\P4\\1 - \\P2\\2.mp3')
    assert match is not None
    assert match.name_to == '0042 - 01.mp3', 'padding adds leading zeros'

    match = match_filename('42.m', r'(\d+).m', '\\P2\\1.mp3')
    assert match is not None
    assert match.name_to == '42.mp3'
Beispiel #3
0
def test_numerical_padding():
    match = match_filename('42.mp3',
                           r'(\d+).mp3',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           padding=3)
    assert match is not None
    assert match.name_to == '042_NeverGonnaGiveYouUp.mp3', 'padding adds leading zeros'

    match = match_filename('42.mp3',
                           r'(\d+).mp3',
                           '\\1_NeverGonnaGiveYouUp.mp3',
                           padding=0)
    assert match is not None
    assert match.name_to == '42_NeverGonnaGiveYouUp.mp3'
def test_file_without_none_group_padding():
    match = match_filename('1.txt',
                           r'(\d+)(\.XXX)?.txt',
                           '\\1\\2.txt',
                           padding=2)
    assert match is not None
    assert match.name_to == '01.txt'
def test_file_with_none_group():
    match = match_filename('1.XXX.txt',
                           r'(\d+)(\.XXX)?.txt',
                           '\\1\\2.txt',
                           padding=0)
    assert match is not None
    assert match.name_to == '1.XXX.txt'
Beispiel #6
0
def test_replace_lowercase():
    match = match_filename('ABC-DEF.mp3', r'([A-Z]+)-([A-Z]+).mp3',
                           '\\L\\1-\\2.mp3')
    assert match is not None
    assert match.name_to == 'abc-DEF.mp3'
Beispiel #7
0
def test_replace_uppercase():
    match = match_filename('abc-def.mp3', r'([a-z]+)-([a-z]+).mp3',
                           '\\1-\\U\\2.mp3')
    assert match is not None
    assert match.name_to == 'abc-DEF.mp3'
def test_prefix_padding_with_none():
    match = match_filename('1.txt', r'(\d+)(XXX)?.txt', '\\1\\P2\\2.txt')
    assert match is not None
    assert match.name_to == '1.txt'