diff --git a/guidebook/sync_guidebook.py b/guidebook/sync_guidebook.py index a3658ab..43e4b98 100755 --- a/guidebook/sync_guidebook.py +++ b/guidebook/sync_guidebook.py @@ -173,12 +173,24 @@ def get_guide(self): def get_x_map_id(self): response = requests.get( - self.URLS["x-maps"], headers=self.x_headers + self.URLS["x-maps"] + "?guide=%d" % self.guide, + headers=self.x_headers, ).json() for r in response["results"]: if r["name"]["en-US"] == self.REGIONED_MAP: + self.logger.debug( + "Found map '%s' with id=%d for guide=%d", + self.REGIONED_MAP, + r["id"], + self.guide, + ) return r["id"] - self.logger.critical("ERROR: Did not find expected map") + self.logger.critical( + "ERROR: Did not find expected map '%s' for guide %d", + self.REGIONED_MAP, + self.guide, + ) + sys.exit(1) def get_things(self, thing): """ @@ -307,7 +319,7 @@ def add_x_map_region(self, map_region, update, rid, location_id): } self.add_thing("x-map-regions", name, data, update, rid) - def get_x_map_region_for_room(self, room): + def get_x_map_region_for_room(self, location_id): return next( ( reg @@ -315,7 +327,7 @@ def get_x_map_region_for_room(self, room): if ( reg["location"] is not None and "name" in reg["location"] - and reg["location"]["id"] == room + and reg["location"]["id"] == location_id ) ), None, @@ -333,13 +345,12 @@ def setup_x_map_regions(self): continue update = False rid = None - guidebook_map_region = self.get_x_map_region_for_room(room) + location_id = self.x_rooms[room]["id"] + guidebook_map_region = self.get_x_map_region_for_room(location_id) if guidebook_map_region: update = True rid = guidebook_map_region["id"] - location_id = self.x_rooms[room]["id"] - if self.update: # Update room's Guidebook location to work the map region. # NOTE: Changing the type to gb-interactive hides the location