diff --git a/src/c3nav/mapdata/grid.py b/src/c3nav/mapdata/grid.py index 1bec04be..3b7ac1df 100644 --- a/src/c3nav/mapdata/grid.py +++ b/src/c3nav/mapdata/grid.py @@ -10,11 +10,11 @@ class AbstractGrid(ABC): enabled = False @abstractmethod - def get_cell_for_point(self, x, y) -> Optional[str]: + def get_square_for_point(self, x, y) -> Optional[str]: pass @abstractmethod - def get_cells_for_bounds(self, bounds) -> Optional[str]: + def get_squares_for_bounds(self, bounds) -> Optional[str]: pass @@ -41,7 +41,7 @@ class Grid(AbstractGrid): else: raise ValueError('column coordinates are not ordered') - def get_cell_for_point(self, x, y): + def get_square_for_point(self, x, y): x = bisect.bisect(self.cols, x) if x <= 0 or x >= len(self.cols): return None @@ -57,7 +57,7 @@ class Grid(AbstractGrid): return '%s%d' % (string.ascii_uppercase[x-1], y) - def get_cells_for_bounds(self, bounds): + def get_squares_for_bounds(self, bounds): minx, miny, maxx, maxy = bounds if self.invert_x: @@ -65,22 +65,22 @@ class Grid(AbstractGrid): if self.invert_y: miny, maxy = maxy, miny - min_cell = self.get_cell_for_point(minx, miny) - max_cell = self.get_cell_for_point(maxx, maxy) + min_square = self.get_square_for_point(minx, miny) + max_square = self.get_square_for_point(maxx, maxy) - if not min_cell or not max_cell: + if not min_square or not max_square: return None - if min_cell == max_cell: - return min_cell - return '%s-%s' % (min_cell, max_cell) + if min_square == max_square: + return min_square + return '%s-%s' % (min_square, max_square) class DummyGrid(AbstractGrid): - def get_cell_for_point(self, x, y): + def get_square_for_point(self, x, y): return None - def get_cells_for_bounds(self, bounds): + def get_squares_for_bounds(self, bounds): return None diff --git a/src/c3nav/mapdata/models/geometry/level.py b/src/c3nav/mapdata/models/geometry/level.py index 7c1ade21..52725f94 100644 --- a/src/c3nav/mapdata/models/geometry/level.py +++ b/src/c3nav/mapdata/models/geometry/level.py @@ -130,8 +130,8 @@ class Space(LevelGeometryMixin, SpecificLocation, models.Model): return result @property - def grid_cell(self): - return grid.get_cells_for_bounds(self.geometry.bounds) or '' + def grid_square(self): + return grid.get_squares_for_bounds(self.geometry.bounds) or '' def details_display(self, editor_url=True, **kwargs): result = super().details_display(**kwargs) diff --git a/src/c3nav/mapdata/models/geometry/space.py b/src/c3nav/mapdata/models/geometry/space.py index 7343611f..5b950a80 100644 --- a/src/c3nav/mapdata/models/geometry/space.py +++ b/src/c3nav/mapdata/models/geometry/space.py @@ -127,8 +127,8 @@ class Area(SpaceGeometryMixin, SpecificLocation, models.Model): return result @property - def grid_cell(self): - return grid.get_cells_for_bounds(self.geometry.bounds) or '' + def grid_square(self): + return grid.get_squares_for_bounds(self.geometry.bounds) or '' def details_display(self, editor_url=True, **kwargs): result = super().details_display(**kwargs) @@ -237,8 +237,8 @@ class POI(SpaceGeometryMixin, SpecificLocation, models.Model): return result @property - def grid_cell(self): - return grid.get_cell_for_point(self.x, self.y) or '' + def grid_square(self): + return grid.get_square_for_point(self.x, self.y) or '' @property def x(self): diff --git a/src/c3nav/mapdata/models/locations.py b/src/c3nav/mapdata/models/locations.py index e246ca3c..854a6c29 100644 --- a/src/c3nav/mapdata/models/locations.py +++ b/src/c3nav/mapdata/models/locations.py @@ -117,7 +117,7 @@ class Location(LocationSlug, AccessRestrictionMixin, TitledMixin, models.Model): return '' @property - def grid_cell(self): + def grid_square(self): return None def get_color(self, instance=None): @@ -139,9 +139,9 @@ class SpecificLocation(Location, models.Model): def _serialize(self, detailed=True, **kwargs): result = super()._serialize(detailed=detailed, **kwargs) if grid.enabled: - grid_cell = self.grid_cell - if grid_cell is not None: - result['cell'] = grid_cell or None + grid_square = self.grid_square + if grid_square is not None: + result['cell'] = grid_square or None if detailed: groups = {} for group in self.groups.all(): @@ -160,10 +160,10 @@ class SpecificLocation(Location, models.Model): groupcategories.setdefault(group.category, []).append(group) if grid.enabled: - grid_cell = self.grid_cell - if grid_cell is not None: - grid_square_title = (_('Grid Squares') if grid_cell and '-' in grid_cell else _('Grid Square')) - result['display'].insert(3, (grid_square_title, grid_cell or None)) + grid_square = self.grid_square + if grid_square is not None: + grid_square_title = (_('Grid Squares') if grid_square and '-' in grid_square else _('Grid Square')) + result['display'].insert(3, (grid_square_title, grid_square or None)) for category, groups in sorted(groupcategories.items(), key=lambda item: item[0].priority): result['display'].insert(3, ( @@ -183,8 +183,8 @@ class SpecificLocation(Location, models.Model): groups = tuple(self.groups.all() if 'groups' in getattr(self, '_prefetched_objects_cache', ()) else ()) groups = tuple(group for group in groups if group.can_describe) subtitle = groups[0].title if groups else self.__class__._meta.verbose_name - if self.grid_cell: - return '%s, %s' % (subtitle, self.grid_cell) + if self.grid_square: + return '%s, %s' % (subtitle, self.grid_square) return subtitle @cached_property diff --git a/src/c3nav/mapdata/utils/locations.py b/src/c3nav/mapdata/utils/locations.py index 5c5ea936..e8bbb552 100644 --- a/src/c3nav/mapdata/utils/locations.py +++ b/src/c3nav/mapdata/utils/locations.py @@ -367,13 +367,13 @@ class CustomLocation: return self.description.near_poi @cached_property - def grid_cell(self): - return grid.get_cell_for_point(self.x, self.y) or '' + def grid_square(self): + return grid.get_square_for_point(self.x, self.y) or '' @cached_property def title_subtitle(self): - grid_cell = self.grid_cell - level_subtitle = self.level.title if not grid_cell else ','.join((grid_cell, str(self.level.title))) + grid_square = self.grid_square + level_subtitle = self.level.title if not grid_square else ','.join((grid_square, str(self.level.title))) title = _('In %(level)s') % {'level': self.level.title} if not self.space: @@ -395,7 +395,7 @@ class CustomLocation: else: return _('In %(space)s') % {'space': self.space.title}, level_subtitle - subtitle_segments = chain((grid_cell, ), subtitle, (self.space.title, self.level.title)) + subtitle_segments = chain((grid_square, ), subtitle, (self.space.title, self.level.title)) subtitle = ', '.join(str(title) for title in subtitle_segments if title) return title, subtitle