From a8d3851956389561865ffabcc5ee7ec09c8538d2 Mon Sep 17 00:00:00 2001 From: Alexander Graf <17130992+aandergr@users.noreply.github.com> Date: Sun, 2 Aug 2020 10:22:45 +0200 Subject: [PATCH] Nicer syntax for resumable_iteration usage --- instaloader/instaloader.py | 11 +++++------ instaloader/nodeiterator.py | 3 +-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/instaloader/instaloader.py b/instaloader/instaloader.py index 62a62f3..54a8bcb 100644 --- a/instaloader/instaloader.py +++ b/instaloader/instaloader.py @@ -758,17 +758,16 @@ class Instaloader: ), check_bbd=self.check_resume_bbd, enabled=self.resume_prefix is not None - ) as resume_info: - is_resuming, start_index = resume_info - for number, post in enumerate(posts): - if max_count is not None and number + start_index >= max_count: + ) as (is_resuming, start_index): + for number, post in enumerate(posts, start=start_index + 1): + if max_count is not None and number > max_count: break if displayed_count is not None: - self.context.log("[{0:{w}d}/{1:{w}d}] ".format(number + start_index + 1, displayed_count, + self.context.log("[{0:{w}d}/{1:{w}d}] ".format(number, displayed_count, w=len(str(displayed_count))), end="", flush=True) else: - self.context.log("[{:3d}] ".format(number + start_index + 1), end="", flush=True) + self.context.log("[{:3d}] ".format(number), end="", flush=True) if post_filter is not None: try: if not post_filter(post): diff --git a/instaloader/nodeiterator.py b/instaloader/nodeiterator.py index 62a44ee..c74b88c 100644 --- a/instaloader/nodeiterator.py +++ b/instaloader/nodeiterator.py @@ -219,8 +219,7 @@ def resumable_iteration(context: InstaloaderContext, load=lambda _, path: FrozenNodeIterator(**json.load(open(path))), save=lambda fni, path: json.dump(fni._asdict(), open(path, 'w')), format_path=lambda magic: "resume_info_{}.json".format(magic) - ) as resume_info: - is_resuming, start_index = resume_info + ) as (is_resuming, start_index): for post in post_iterator: do_something_with(post)