Example #1
0
 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))
Example #2
0
 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)))
Example #3
0
 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))
Example #4
0
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
        )
    )
]
Example #5
0
 def test_spec(self):
     first = src([1, 2, 3, 3, 2, 1])
     unique = conduit.unique(first)
     source_spec(unique)