def test_unique_cycle(self): src_a = src([1, 2, 3, 4]) src_b = src([]) src_c = src(['a', 1, 5, 'b']) source = conduit.unique(conduit.cyclic(src_a, src_b, src_c)) assert_list_equal([1, 'a', 2, 3, 5, 4, 'b'], list(source)) source.reset() assert_list_equal([1, 'a', 2, 3, 5, 4, 'b'], list(source))
def test_cyclic_basic(self): src_and_expected = [ ([], []), ([1, 2, 3], [1, 2, 3]), ([1, 2, 2, 1], [1, 2]), ([None, None, None, 1], [None, 1]), ] for (s, e) in src_and_expected: source = src(s) assert_list_equal(e, list(conduit.unique(source)))
def test_reset(self): first = src([1, 2, 3, 3, 2, 1]) unique = conduit.unique(first) assert_equal(1, next(unique)) assert_equal(2, next(unique)) assert_equal(3, next(unique)) unique.reset() assert_equal(1, next(unique)) assert_equal(2, next(unique)) assert_equal(3, next(unique)) with assert_raises(StopIteration): assert_equal(3, next(unique))
from picdump.folder import Folder, Updater from picdump import pixiv from picdump import log from picdump.conduit import unique, cyclic from picdump.webconsole import WebConsole from picdump.pixiv.filters import filter_manga log.init_logger() cache_dir = "cache" pixiv = pixiv.create(username="******", password="******") default_source = filter_manga(unique(cyclic( pixiv.ranking(span=pixiv.span.daily), pixiv.ranking_log.days_ago(1), pixiv.ranking_log.days_ago(2)))) folders = [ Folder( name="default", path="default", source=default_source, updater=Updater( interval=timedelta(seconds=5), clear_dir=True, source_reset=True, size=pixiv.page_size * 2 ) ) ]
def test_spec(self): first = src([1, 2, 3, 3, 2, 1]) unique = conduit.unique(first) source_spec(unique)