Closed yakra closed 2 years ago
melvin1.list
OR US20 ButMarRd US97(136)
WY US20 SheAve_W US14Alt/120_W
DEU-NW A61 23 108(A1)
DEU-NW A61Mon NLD/DEU DEU-BW A61 65
OR US20 US101 MA US20 MA2_E
melvin2.list
OR US20 ButMarRd US97(136)
WY US20 SheAve_W US14Alt/120_W
DEU-NW A61 23 108(A1)
DEU-BW A61 65 DEU-NW A61Mon NLD/DEU
MA US20 MA2_E OR US20 US101
Both produce identical logs for the purposes of discussing this bug. Will focus only on C++ <-> Python differences from here on out.
Route updated 2018-09-02: DEU-NW A61Mon
included once in both logs.
This is the only (ie, first & last) chopped route in its connected route.DEU-NW A61
is the first chopped route in its connected route, and has an updates entry.
No mention of it in the logs though. Why not? Because the route was first inserted into the traveler's routes
set when processing the initial good 4-field line. At that time, no notification was logged because the update is older than the .list file.DEU-BW A61
, the last chopped route, has no updates entries and thus will not appear in the logs.OR US20
, the first chopped route, has no updates entries and thus will not appear in the logs.MT US20
, the last chopped route in its connected route, reveals the bug mentioned in the OP:
4d3
< Route updated 2019-01-06: MT US20
210d208
< 2019-01-06 | (USA) Montana | US 20 | mt.us020 | Route truncated at east end from Wyoming border to Yellowstone National Park Entrance
WY US20
is the first chopped route in its connected route, and has an updates entry.
No mention of it in the logs though. Why not? Because the route was first inserted into the traveler's routes
set when processing the initial good 4-field line. At that time, no notification was logged because the update is older than the .list file.MA US20
, the last chopped route, has no updates entries and thus will not appear in the logs.The bug where insertions on good lines prevent notifications on bad lines also affects 4-field lines. Fixing this fixes yakra#202 in the process, and we get a whole bunch of notifications that were missed before, e.g. terescoj.log:
1c1
< Log file created at: 2022-02-26 12:38:49.598201
---
> Log file created at: Sat Feb 26 13:24:22 2022
5a6
> Route updated 2021-07-05: WI US45
These code blocks appear to be indented 1 "unit" (4 spaces) too far: https://github.com/TravelMapping/DataProcessing/blob/3cc4219090eb4bc2341571a7287442dcdfe054ed/siteupdate/python-teresco/siteupdate.py#L1602-L1607 https://github.com/TravelMapping/DataProcessing/blob/3cc4219090eb4bc2341571a7287442dcdfe054ed/siteupdate/python-teresco/siteupdate.py#L1614-L1619
C++ version has it right, I believe. Make test cases & check for diffs: