diff --git a/insomniac.py b/insomniac.py index 7daf13b4..71dc27aa 100644 --- a/insomniac.py +++ b/insomniac.py @@ -235,9 +235,10 @@ def _parse_arguments(): metavar='300', default=1000) parser.add_argument('--interactions-count', - help='number of interactions per each blogger, 100 by default', - metavar='100', - default=100) + help='number of interactions per each blogger, 70 by default. Only successful interactions' + ' count', + metavar='70', + default=70) parser.add_argument('--repeat', help='repeat the same session again after N minutes after completion, disabled by default', metavar='180') @@ -278,7 +279,7 @@ def _on_like(): session_state.totalLikes += 1 -def _on_interaction(blogger, succeed, followed, count, interactions_limit, likes_limit, on_likes_limit_reached): +def _on_interaction(blogger, succeed, followed, interactions_limit, likes_limit, on_likes_limit_reached): session_state = sessions[-1] session_state.add_interaction(blogger, succeed, followed) @@ -289,8 +290,9 @@ def _on_interaction(blogger, succeed, followed, count, interactions_limit, likes on_likes_limit_reached() can_continue = False - if count >= interactions_limit: - print("Made " + str(count) + " interactions, finish.") + successful_interactions_count = session_state.get_successful_interactions_count() + if successful_interactions_count >= interactions_limit: + print("Made " + str(successful_interactions_count) + " successful interactions, finish.") can_continue = False return can_continue diff --git a/src/action_handle_blogger.py b/src/action_handle_blogger.py index c260a057..e72a8eac 100644 --- a/src/action_handle_blogger.py +++ b/src/action_handle_blogger.py @@ -93,7 +93,6 @@ def is_at_least_one_follower(): def _iterate_over_followers(device, interaction, storage, on_interaction, is_myself): followers_per_screen = None - interactions_count = 0 def scrolled_to_top(): row_search = device(resourceId='com.instagram.android:id/row_search_edit_text', @@ -128,10 +127,8 @@ def scrolled_to_top(): can_follow = not is_myself and storage.get_following_status(username) == FollowingStatus.NONE interaction_succeed, followed = interaction(device, username=username, can_follow=can_follow) storage.add_interacted_user(username, followed=followed) - interactions_count += 1 can_continue = on_interaction(succeed=interaction_succeed, - followed=followed, - count=interactions_count) + followed=followed) if not can_continue: return diff --git a/src/session_state.py b/src/session_state.py index aabb45e5..81ff3ff9 100644 --- a/src/session_state.py +++ b/src/session_state.py @@ -36,5 +36,8 @@ def add_interaction(self, blogger, succeed, followed): if followed: self.totalFollowed += 1 + def get_successful_interactions_count(self): + return sum(self.successfulInteractions.values()) + def is_finished(self): return self.finishTime is not None