mirror of https://gitlab.com/pamhyr/pamhyr2
Solver: Mage: Fix node name generator.
parent
4a333ff988
commit
fa9ffccb19
|
|
@ -123,11 +123,15 @@ class Mage(CommandLineSolver):
|
|||
|
||||
_l_alph = len(_alph)
|
||||
|
||||
_nodes_cnt = 0
|
||||
_nodes_names = {}
|
||||
_nodes_views = set()
|
||||
|
||||
def get_reach_name(self, reach):
|
||||
return f"Reach_{reach.pamhyr_id:>3}".replace(" ", "0")
|
||||
|
||||
def get_node_name(self, node):
|
||||
"""Generate a 3 char name from node pamhyr_id
|
||||
"""Generate a 3 char name for node
|
||||
|
||||
Args:
|
||||
node: The node
|
||||
|
|
@ -137,18 +141,33 @@ class Mage(CommandLineSolver):
|
|||
"""
|
||||
n = node.pamhyr_id
|
||||
|
||||
return "".join(
|
||||
list(
|
||||
if n in self._nodes_names:
|
||||
return self._nodes_names[n]
|
||||
|
||||
name = ""
|
||||
|
||||
checked_new = False
|
||||
while not checked_new:
|
||||
self._nodes_cnt += 1
|
||||
nc = self._nodes_cnt
|
||||
|
||||
name = "".join(
|
||||
map(
|
||||
lambda i: self._alph[i % self._l_alph],
|
||||
[
|
||||
int(n/1000),
|
||||
int(n/10),
|
||||
n
|
||||
int(nc / (self._l_alph * self._l_alph)),
|
||||
int(nc / self._l_alph),
|
||||
nc
|
||||
]
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
checked_new = name not in self._nodes_views
|
||||
|
||||
self._nodes_views.add(name)
|
||||
self._nodes_names[n] = name
|
||||
|
||||
return name
|
||||
|
||||
def cmd_args(self, study):
|
||||
lst = super(Mage, self).cmd_args(study)
|
||||
|
|
|
|||
Loading…
Reference in New Issue