示例#1
0
def test_lookup(config, library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    for track in feed.tracks():
        assert library.lookup(track.uri) == [track]
    newest_first = config['podcast']['lookup_order'] == 'desc'
    assert library.lookup(feed.uri) == list(feed.tracks(newest_first))
    assert feed.uri in library.backend.feeds
示例#2
0
def test_lookup(config, library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    for track in feed.tracks():
        assert library.lookup(track.uri) == [track]
    newest_first = config['podcast']['lookup_order'] == 'desc'
    assert library.lookup(feed.uri) == list(feed.tracks(newest_first))
    assert feed.uri in library.backend.feeds
示例#3
0
def test_get_images(library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    for uri, images in feed.images():
        assert library.get_images([uri]) == {uri: images}
    images = {uri: images for uri, images in feed.images()}
    assert library.get_images(list(images)) == images
    assert feed.uri in library.backend.feeds
示例#4
0
def test_get_images(library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    for uri, images in feed.images():
        assert library.get_images([uri]) == {uri: images}
    images = {uri: images for uri, images in feed.images()}
    assert library.get_images(list(images)) == images
    assert feed.uri in library.backend.feeds
示例#5
0
def test_items(opml):
    feed = feeds.parse(opml)
    assert list(feed.items()) == [
        models.Ref.album(
            uri='podcast+http://example.com/podcast1.rss', name='Podcast'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast2.xml', name='Podcast'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast3', name='Podcast'
        ),
        models.Ref.directory(
            uri='podcast+http://example.com/directory1', name='Directory'
        ),
        models.Ref.directory(
            uri='podcast+http://example.com/directory2.opml', name='Directory'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast4.xml', name='Podcast'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast5.xml', name='PODCAST'
        )
    ]
示例#6
0
def rss():
    from StringIO import StringIO

    class StringSource(StringIO):
        def geturl(self):
            return 'http://www.example.com/everything.xml'

    return feeds.parse(StringSource(XML))
示例#7
0
def test_refresh(library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    tracks = library.lookup(feed.uri)
    assert feed.uri in library.backend.feeds
    library.refresh(tracks[0].uri)
    assert feed.uri not in library.backend.feeds
    library.lookup(tracks[0].uri)
    assert feed.uri in library.backend.feeds
    library.refresh()
    assert not library.backend.feeds
示例#8
0
def test_refresh(library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    tracks = library.lookup(feed.uri)
    assert feed.uri in library.backend.feeds
    library.refresh(tracks[0].uri)
    assert feed.uri not in library.backend.feeds
    library.lookup(tracks[0].uri)
    assert feed.uri in library.backend.feeds
    library.refresh()
    assert not library.backend.feeds
示例#9
0
def test_items(opml):
    feed = feeds.parse(opml)
    assert list(feed.items()) == [
        models.Ref.album(
            uri='podcast+http://example.com/podcast1.rss', name='Podcast'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast2.xml', name='Podcast'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast3', name='Podcast'
        ),
        models.Ref.directory(
            uri='podcast+http://example.com/directory1', name='Directory'
        ),
        models.Ref.directory(
            uri='podcast+http://example.com/directory2.opml', name='Directory'
        ),
        models.Ref.album(
            uri='podcast+http://example.com/podcast4.xml', name='Podcast'
        )
    ]
示例#10
0
def test_parse(abspath, filename, expected):
    path = abspath(filename)
    feed = feeds.parse(path)
    assert isinstance(feed, expected)
    assert feed.uri == uritools.uricompose('podcast+file', '', path)
示例#11
0
def test_images(opml):
    feed = feeds.parse(opml)
    assert dict(feed.images()) == {}
示例#12
0
def test_tracks(opml):
    feed = feeds.parse(opml)
    assert list(feed.tracks()) == []
示例#13
0
def test_browse(config, library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    newest_first = config['podcast']['browse_order'] == 'desc'
    assert library.browse(feed.uri) == list(feed.items(newest_first))
    assert feed.uri in library.backend.feeds
示例#14
0
def test_browse(config, library, filename, abspath):
    feed = feeds.parse(abspath(filename))
    newest_first = config['podcast']['browse_order'] == 'desc'
    assert library.browse(feed.uri) == list(feed.items(newest_first))
    assert feed.uri in library.backend.feeds
示例#15
0
def test_translate_uri(playback, filename, abspath):
    feed = feeds.parse(abspath(filename))
    for track in feed.tracks():
        assert playback.translate_uri(track.uri) is not None
    assert playback.translate_uri(feed.uri + '#n/a') is None
    assert playback.translate_uri(feed.uri) is None