diff --git a/siteupdate/cplusplus/.gitignore b/siteupdate/cplusplus/.gitignore index ed4aabd2..2ffd6054 100644 --- a/siteupdate/cplusplus/.gitignore +++ b/siteupdate/cplusplus/.gitignore @@ -2,7 +2,7 @@ graphs logs nmp_merged stats - siteupdate siteupdateST TravelMapping.sql +listupdates.txt diff --git a/siteupdate/cplusplus/classes/TravelerList/mark_chopped_route_segments.cpp b/siteupdate/cplusplus/classes/TravelerList/mark_chopped_route_segments.cpp index 4a069d1d..01965457 100644 --- a/siteupdate/cplusplus/classes/TravelerList/mark_chopped_route_segments.cpp +++ b/siteupdate/cplusplus/classes/TravelerList/mark_chopped_route_segments.cpp @@ -60,6 +60,8 @@ if (lit1 == r->alt_label_hash.end() || lit2 == r->alt_label_hash.end()) if (invalid_char) log << " [contains invalid character(s)]"; log << '\n'; splist << orig_line << endlines[l]; + if (routes.insert(r).second && r->last_update && update && (*r->last_update)[0] >= *update) + log << "Route updated " << (*r->last_update)[0] << ": " << r->readable_name() << '\n'; continue; } // are either of the labels used duplicates? @@ -78,12 +80,16 @@ if (r->duplicate_labels.find(fields[3]) != r->duplicate_labels.end()) } if (duplicate) { splist << orig_line << endlines[l]; + if (routes.insert(r).second && r->last_update && update && (*r->last_update)[0] >= *update) + log << "Route updated " << (*r->last_update)[0] << ": " << r->readable_name() << '\n'; continue; } // if both labels reference the same waypoint... if (lit1->second == lit2->second) { log << "Equivalent waypoint labels mark zero distance traveled in line: " << trim_line << '\n'; splist << orig_line << endlines[l]; + if (routes.insert(r).second && r->last_update && update && (*r->last_update)[0] >= *update) + log << "Route updated " << (*r->last_update)[0] << ": " << r->readable_name() << '\n'; } // otherwise both labels are valid; mark in use & proceed else { r->system->lniu_mtx.lock(); diff --git a/siteupdate/cplusplus/classes/TravelerList/mark_connected_route_segments.cpp b/siteupdate/cplusplus/classes/TravelerList/mark_connected_route_segments.cpp index ea56219a..7af599ef 100644 --- a/siteupdate/cplusplus/classes/TravelerList/mark_connected_route_segments.cpp +++ b/siteupdate/cplusplus/classes/TravelerList/mark_connected_route_segments.cpp @@ -41,6 +41,24 @@ Route* r2 = rit2->second; if (r1->con_route != r2->con_route) { log << lookup1 << " and " << lookup2 << " not in same connected route in line: " << trim_line << '\n'; splist << orig_line << endlines[l]; + // log updates for routes beginning/ending r1's ConnectedRoute + Route* cr = r1->con_route->roots.front(); + if (routes.insert(cr).second && cr->last_update && update && (*cr->last_update)[0] >= *update) + log << "Route updated " << (*cr->last_update)[0] << ": " << cr->readable_name() << '\n'; + if (r1->con_route->roots.size() > 1) + { Route* cr = r1->con_route->roots.back(); + if (routes.insert(cr).second && cr->last_update && update && (*cr->last_update)[0] >= *update) + log << "Route updated " << (*cr->last_update)[0] << ": " << cr->readable_name() << '\n'; + } + // log updates for routes beginning/ending r2's ConnectedRoute + cr = r2->con_route->roots.front(); + if (routes.insert(cr).second && cr->last_update && update && (*cr->last_update)[0] >= *update) + log << "Route updated " << (*cr->last_update)[0] << ": " << cr->readable_name() << '\n'; + if (r2->con_route->roots.size() > 1) + { Route* cr = r2->con_route->roots.back(); + if (routes.insert(cr).second && cr->last_update && update && (*cr->last_update)[0] >= *update) + log << "Route updated " << (*cr->last_update)[0] << ": " << cr->readable_name() << '\n'; + } continue; } if (r1->system->devel()) @@ -111,6 +129,8 @@ if (r1 == r2) if (index1 == index2) { log << "Equivalent waypoint labels mark zero distance traveled in line: " << trim_line << '\n'; splist << orig_line << endlines[l]; + if (routes.insert(r1).second && r1->last_update && update && (*r1->last_update)[0] >= *update) + log << "Route updated " << (*r1->last_update)[0] << ": " << r1->readable_name() << '\n'; continue; } if (index1 <= index2) diff --git a/siteupdate/python-teresco/.gitignore b/siteupdate/python-teresco/.gitignore index ace94555..78d23188 100644 --- a/siteupdate/python-teresco/.gitignore +++ b/siteupdate/python-teresco/.gitignore @@ -3,3 +3,4 @@ logs nmp_merged stats TravelMapping.sql +listupdates.txt diff --git a/siteupdate/python-teresco/siteupdate.py b/siteupdate/python-teresco/siteupdate.py index 029aad59..8fd33e6a 100755 --- a/siteupdate/python-teresco/siteupdate.py +++ b/siteupdate/python-teresco/siteupdate.py @@ -1361,6 +1361,10 @@ def __init__(self,travelername,update,el,path="../../../UserData/list_files"): self.log_entries.append(log_entry) if invchar: self.log_entries[-1] += " [contains invalid character(s)]" + if r not in self.routes: + self.routes.add(r) + if r.last_update and self.update and r.last_update[0] >= self.update: + self.log_entries.append("Route updated " + r.last_update[0] + ": " + r.readable_name()) continue # are either of the labels used duplicates? duplicate = False @@ -1377,10 +1381,18 @@ def __init__(self,travelername,update,el,path="../../../UserData/list_files"): self.log_entries.append(log_entry) duplicate = True if duplicate: + if r not in self.routes: + self.routes.add(r) + if r.last_update and self.update and r.last_update[0] >= self.update: + self.log_entries.append("Route updated " + r.last_update[0] + ": " + r.readable_name()) continue # if both labels reference the same waypoint... if index1 == index2: self.log_entries.append("Equivalent waypoint labels mark zero distance traveled in line: " + line) + if r not in self.routes: + self.routes.add(r) + if r.last_update and self.update and r.last_update[0] >= self.update: + self.log_entries.append("Route updated " + r.last_update[0] + ": " + r.readable_name()) # otherwise both labels are valid; mark in use & proceed else: r.system.listnamesinuse.add(lookup) @@ -1435,6 +1447,30 @@ def __init__(self,travelername,update,el,path="../../../UserData/list_files"): continue if r1.con_route != r2.con_route: self.log_entries.append(lookup1 + " and " + lookup2 + " not in same connected route in line: " + line) + # log updates for routes beginning/ending r1's ConnectedRoute + cr = r1.con_route.roots[0] + if cr not in self.routes: + self.routes.add(cr) + if cr.last_update and self.update and cr.last_update[0] >= self.update: + self.log_entries.append("Route updated " + cr.last_update[0] + ": " + cr.readable_name()) + if len(r1.con_route.roots) > 1: + cr = r1.con_route.roots[-1] + if cr not in self.routes: + self.routes.add(cr) + if cr.last_update and self.update and cr.last_update[0] >= self.update: + self.log_entries.append("Route updated " + cr.last_update[0] + ": " + cr.readable_name()) + # log updates for routes beginning/ending r2's ConnectedRoute + cr = r2.con_route.roots[0] + if cr not in self.routes: + self.routes.add(cr) + if cr.last_update and self.update and cr.last_update[0] >= self.update: + self.log_entries.append("Route updated " + cr.last_update[0] + ": " + cr.readable_name()) + if len(r2.con_route.roots) > 1: + cr = r2.con_route.roots[-1] + if cr not in self.routes: + self.routes.add(cr) + if cr.last_update and self.update and cr.last_update[0] >= self.update: + self.log_entries.append("Route updated " + cr.last_update[0] + ": " + cr.readable_name()) continue if r1.system.devel(): self.log_entries.append("Ignoring line matching highway in system in development: " + line) @@ -1495,6 +1531,10 @@ def __init__(self,travelername,update,el,path="../../../UserData/list_files"): # if both labels reference the same waypoint... if index1 == index2: self.log_entries.append("Equivalent waypoint labels mark zero distance traveled in line: " + line) + if r1 not in self.routes: + self.routes.add(r1) + if r1.last_update and self.update and r1.last_update[0] >= self.update: + self.log_entries.append("Route updated " + r1.last_update[0] + ": " + r1.readable_name()) continue if index1 <= index2: r1.store_traveled_segments(self, index1, index2)