From a177b7f142efb3b4cb550d82bb0a0be4ee8edc2b Mon Sep 17 00:00:00 2001 From: Eli White Date: Fri, 29 Jul 2016 11:41:10 -0700 Subject: [PATCH] Making the SpiralNavigator a worker (#1683) * Making the SpiralNavigator a worker * Passing pylint * Passing linter --- pokemongo_bot/__init__.py | 7 ++--- pokemongo_bot/cell_workers/__init__.py | 1 + .../cell_workers/move_to_fort_worker.py | 1 - .../{ => cell_workers}/spiral_navigator.py | 28 +++++++++---------- 4 files changed, 17 insertions(+), 20 deletions(-) rename pokemongo_bot/{ => cell_workers}/spiral_navigator.py (76%) diff --git a/pokemongo_bot/__init__.py b/pokemongo_bot/__init__.py index b4909b8863..f4a959827a 100644 --- a/pokemongo_bot/__init__.py +++ b/pokemongo_bot/__init__.py @@ -22,7 +22,6 @@ from pokemongo_bot.event_handlers import LoggingHandler from pokemongo_bot.event_handlers import SocketIoHandler from pokemongo_bot.socketio_server.runner import SocketIoRunner -from spiral_navigator import SpiralNavigator from worker_result import WorkerResult from event_manager import EventManager from api_wrapper import ApiWrapper @@ -38,7 +37,8 @@ class PokemonGoBot(object): cell_workers.CatchVisiblePokemonWorker, cell_workers.MoveToFortWorker, cell_workers.CatchLuredPokemonWorker, - cell_workers.SeenFortWorker + cell_workers.SeenFortWorker, + cell_workers.SpiralNavigator ] @property @@ -62,7 +62,6 @@ def __init__(self, config): def start(self): self._setup_logging() self._setup_api() - self.navigator = SpiralNavigator(self) random.seed() def _setup_event_system(self): @@ -94,8 +93,6 @@ def tick(self): if worker(self).work() == WorkerResult.RUNNING: return - self.navigator.take_step() - def get_meta_cell(self): location = self.position[0:2] cells = self.find_close_cells(*location) diff --git a/pokemongo_bot/cell_workers/__init__.py b/pokemongo_bot/cell_workers/__init__.py index e176c1adf0..9005767c36 100644 --- a/pokemongo_bot/cell_workers/__init__.py +++ b/pokemongo_bot/cell_workers/__init__.py @@ -9,3 +9,4 @@ from recycle_items_worker import RecycleItemsWorker from incubate_eggs_worker import IncubateEggsWorker from catch_lured_pokemon_worker import CatchLuredPokemonWorker +from spiral_navigator import SpiralNavigator diff --git a/pokemongo_bot/cell_workers/move_to_fort_worker.py b/pokemongo_bot/cell_workers/move_to_fort_worker.py index 3924141e73..44c7258fd5 100644 --- a/pokemongo_bot/cell_workers/move_to_fort_worker.py +++ b/pokemongo_bot/cell_workers/move_to_fort_worker.py @@ -13,7 +13,6 @@ def __init__(self, bot): self.config = bot.config self.fort_timeouts = bot.fort_timeouts self.recent_forts = bot.recent_forts - self.navigator = bot.navigator self.position = bot.position def should_run(self): diff --git a/pokemongo_bot/spiral_navigator.py b/pokemongo_bot/cell_workers/spiral_navigator.py similarity index 76% rename from pokemongo_bot/spiral_navigator.py rename to pokemongo_bot/cell_workers/spiral_navigator.py index 63e83ce02e..20fa869af2 100644 --- a/pokemongo_bot/spiral_navigator.py +++ b/pokemongo_bot/cell_workers/spiral_navigator.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- -import logger -from cell_workers.utils import distance, i2f, format_dist -from human_behaviour import sleep -from step_walker import StepWalker - +from pokemongo_bot import logger +from pokemongo_bot.cell_workers.utils import distance, format_dist +from pokemongo_bot.step_walker import StepWalker class SpiralNavigator(object): def __init__(self, bot): @@ -44,7 +42,7 @@ def _generate_spiral(starting_lat, starting_lng, step_size, step_limit): m += 1 return coords - def take_step(self): + def work(self): point = self.points[self.ptr] self.cnt += 1 @@ -64,9 +62,11 @@ def take_step(self): ) if self.cnt == 1: - logger.log('Walking from ' + str((self.api._position_lat, - self.api._position_lng)) + " to " + str([point['lat'], point['lng']]) + " " + format_dist(dist, - self.config.distance_unit)) + logger.log('Walking from {} to {} {}'.format( + str((self.api._position_lat, self.api._position_lng)), + str([point['lat'], point['lng']]), + format_dist(dist, self.config.distance_unit) + )) if step_walker.step(): step_walker = None @@ -74,11 +74,11 @@ def take_step(self): self.api.set_position(point['lat'], point['lng']) if distance( - self.api._position_lat, - self.api._position_lng, - point['lat'], - point['lng'] - ) <= 1 or (self.config.walk > 0 and step_walker == None): + self.api._position_lat, + self.api._position_lng, + point['lat'], + point['lng'] + ) <= 1 or (self.config.walk > 0 and step_walker is None): if self.ptr + self.direction == len(self.points) or self.ptr + self.direction == -1: self.direction *= -1 self.ptr += self.direction