Better error reporting from xyzgrid. Resolve #2482.
This commit is contained in:
parent
8d423431db
commit
1c9e8fef0d
3 changed files with 22 additions and 6 deletions
|
|
@ -188,7 +188,10 @@ def _option_list(*suboptions):
|
||||||
|
|
||||||
xymap_data = xyzgrid.grid
|
xymap_data = xyzgrid.grid
|
||||||
if not xymap_data:
|
if not xymap_data:
|
||||||
print("The XYZgrid is currently empty. Use 'add' to add paths to your map data.")
|
if xyzgrid.db.map_data:
|
||||||
|
print("Grid could not load due to errors.")
|
||||||
|
else:
|
||||||
|
print("The XYZgrid is currently empty. Use 'add' to add paths to your map data.")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not suboptions:
|
if not suboptions:
|
||||||
|
|
@ -265,7 +268,12 @@ def _option_add(*suboptions):
|
||||||
print(f" XYMaps from {path}:\n {mapnames}")
|
print(f" XYMaps from {path}:\n {mapnames}")
|
||||||
xymap_data_list.extend(maps)
|
xymap_data_list.extend(maps)
|
||||||
grid.add_maps(*xymap_data_list)
|
grid.add_maps(*xymap_data_list)
|
||||||
print(f"Added (or readded) {len(xymap_data_list)} XYMaps to grid.")
|
try:
|
||||||
|
grid.reload()
|
||||||
|
except Exception as err:
|
||||||
|
print(err)
|
||||||
|
else:
|
||||||
|
print(f"Added (or readded) {len(xymap_data_list)} XYMaps to grid.")
|
||||||
|
|
||||||
|
|
||||||
def _option_spawn(*suboptions):
|
def _option_spawn(*suboptions):
|
||||||
|
|
|
||||||
|
|
@ -256,8 +256,10 @@ class XYMap:
|
||||||
return "\n".join("".join(line) for line in self.display_map[::-1])
|
return "\n".join("".join(line) for line in self.display_map[::-1])
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return (f"<XYMap(Z={self.Z}), {self.max_X + 1}x{self.max_Y + 1}, "
|
nnodes = 0
|
||||||
f"{len(self.node_index_map)} nodes>")
|
if self.node_index_map:
|
||||||
|
nnodes = len(self.node_index_map)
|
||||||
|
return (f"<XYMap(Z={self.Z}), {self.max_X + 1}x{self.max_Y + 1}, {nnodes} nodes>")
|
||||||
|
|
||||||
def log(self, msg):
|
def log(self, msg):
|
||||||
if self.xyzgrid:
|
if self.xyzgrid:
|
||||||
|
|
|
||||||
|
|
@ -266,11 +266,14 @@ class XYZGrid(DefaultScript):
|
||||||
xymap.spawn_links(xy=(x, y), directions=directions)
|
xymap.spawn_links(xy=(x, y), directions=directions)
|
||||||
|
|
||||||
|
|
||||||
def get_xyzgrid():
|
def get_xyzgrid(print_errors=True):
|
||||||
"""
|
"""
|
||||||
Helper for getting the grid. This will create the XYZGrid global script if it didn't
|
Helper for getting the grid. This will create the XYZGrid global script if it didn't
|
||||||
previously exist.
|
previously exist.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
print_errors (bool, optional): Print errors directly to console rather than to log.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
xyzgrid = XYZGrid.objects.all()
|
xyzgrid = XYZGrid.objects.all()
|
||||||
if not xyzgrid:
|
if not xyzgrid:
|
||||||
|
|
@ -288,5 +291,8 @@ def get_xyzgrid():
|
||||||
if not xyzgrid.ndb.loaded:
|
if not xyzgrid.ndb.loaded:
|
||||||
xyzgrid.reload()
|
xyzgrid.reload()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
xyzgrid.log(str(err))
|
if print_errors:
|
||||||
|
print(err)
|
||||||
|
else:
|
||||||
|
xyzgrid.log(str(err))
|
||||||
return xyzgrid
|
return xyzgrid
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue