Commit graph

140 commits

Author SHA1 Message Date
Alexey Zakharenkov
fa5e036053 Clean requirements 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
fc60bf56fa Add --cities-info-url CLI parameter to the main script and utilities 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
d5f2026301 Run the code through flake8 and black 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
037d299943 Create universal serializable transit data format, use it in GTFS processor 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
a7f135f1b0 Factory pattern for route instantiation in City class 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
2c71990f0e Fix calculating stop positions for route with rails reversed relative to stops order 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
4bb99a37ea Refactoring: move a nested function to the module level; add tests for it 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
cf0ce1c55e Add two new checks 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
45f247d793 Create method to allow overriding 2023-03-14 19:15:44 +01:00
Alexey Zakharenkov
89e4d5c261 Take into account that City.validate() method may never be called for a city - in case a CriticalValidationError occured 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
aab668f550 Validation error 'Stop ... is nowhere near the tracks' was mistakenly supressed and now returned 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
0478791cf2 Fix attribute assignment 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
ee913b6d2d Fixes to GTFS generation 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
82707f8528 Make City.is_good a property 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
d88755de99 Use csv.DictReader instead of csv.reader to load city data 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
123d0f96d3 Add tests on adjusting rails geometry; configure GitHub Actions for the tests 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
28c455d368 Methods to adjust rails at route start/end 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
78304da88f Refactor Route.__init_() to separate stops processing from rails processing 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
2224b9f318 GTFS output 2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
fd27851c0b Revert PR #18 as incorrect: there may be lines with the same ref in a network 2023-03-14 19:15:43 +01:00
Jiaxun Yang
7072494bbd Suggest the parent route of platform with invalid role
The wraning message now looks like: 
Platform "" (w1055889735) with invalid role '' in route (relation 2336456, "")
It will be easier for us to sort those issues.
2023-03-14 19:15:43 +01:00
Alexey Zakharenkov
7df15a390d Check route ref uniqueness within a city 2022-04-21 19:19:33 +03:00
Alexey Zakharenkov
d28b2f1503 Make "Route has no stops" a warning, not an error 2022-04-21 14:24:42 +03:00
Alexey Zakharenkov
ef5bbab672 Return "error_if"-logic for tram lines count 2021-11-08 12:22:57 +03:00
Claudius
0bc8f779ae More user friendly UX for severity level messaging
More user friendly severity level messaging

Included the changes I mentioned in [my earlier comment](https://github.com/alexey-zakharenkov/subways/pull/14#issuecomment-948391863) to:
- Add section headers to the different severity level messages
- Change the errors red colour to a accessible one
- Changed copy of entrance errors from "e:" to "ent:"
- Shortened an error message slightly to reduce possibility of it wrapping into a new line and have the "Under construction" keyword at the beginning of the sentence

CSS property width=fit-content is not supported in Firefox; shorten tooltip text; exclude empty validation message during HTML genertion
2021-11-03 10:56:10 +01:00
Alexey Zakharenkov
0a1115f4ec Make three levels of severity for validation errors 2021-10-16 00:50:02 +03:00
Alexey Zakharenkov
6596d9789c PEPify-8 with black -l 79 -S 2021-08-02 15:45:56 +03:00
Alexey Zakharenkov
cc0fee6167
Update subway_structure.py 2021-04-20 00:24:41 +03:00
Alexey Zakharenkov
e64fbbee97 Fixes after review 2020-10-13 11:21:56 +03:00
Alexey Zakharenkov
14e96bb806 While checking stops order on tracks, take into account repeated tracks/stations in a route like Line 5 of Oslo metro or spoon-shaped Line 7bis in Paris 2020-10-13 11:21:56 +03:00
Alexey Zakharenkov
6eb7ec8586 While checking stops order on tracks, take into account that more than one stop can reside on the same track segment 2020-10-13 11:21:56 +03:00
Alexey Zakharenkov
7e575b36cd Check stops order on tracks 2020-10-13 11:21:56 +03:00
Alexey Zakharenkov
75dd90e02e Disallow railway=station tag on relations other than multipolygons, in particular on stop_areas 2020-08-31 18:51:44 +03:00
Alexey Zakharenkov
9b74358c1b Recursively calculate centers of all relations 2020-08-21 19:02:48 +03:00
Zakharenkov Alexey
1b0888c6f0 Avoid false 'Missing station=<mode>' error 2020-07-23 15:14:42 +03:00
Maksim Andrianov
48fe701c03
Merge pull request #94 from alexey-zakharenkov/check-stop_area_group-members
Check members of a stop_area_group
2020-07-16 17:43:15 +03:00
Alexey Zakharenkov
d812c11261 Discard all members of a stop_area_group that are not stop_areas 2020-07-15 15:36:55 +03:00
Alexey Zakharenkov
b90b03f6e9 Improve error message 2020-07-08 17:56:09 +03:00
Alexey Zakharenkov
16b62ca63c Make an error message more informative 2020-03-18 14:49:33 +03:00
Alexey Zakharenkov
aa94bf8b45 Skip route members in 'inactive' role 2020-02-20 18:10:58 +03:00
Alexey Zakharenkov
5c8bfb1667 Separate processing of 3 types of errors 2020-02-20 15:30:04 +03:00
Alexey Zakharenkov
d79efc3d26 Check actual stop/platform elements role in routes 2020-01-29 12:58:39 +03:00
Alexey Zakharenkov
27cb1dd04e Report more correct node as hole spot 2020-01-09 12:56:18 +03:00
Alexey Zakharenkov
18ef5d5466 Fix a syntax bug 2019-07-05 16:37:09 +03:00
Alexey Zakharenkov
cc8339c545 Do not consider a duplication two platforms in a route: an exit-only one and an entry-only one 2019-07-05 16:35:22 +03:00
Sergey Yershov
57c459175a
Merge pull request #79 from alexey-zakharenkov/continue-on-bad-bbox
Recover after 'Item is not in dataset' exception to continue validating other cities
2019-07-05 13:24:27 +03:00
Alexey Zakharenkov
a1ecc7429d City.errors array may be needed earlier than you thought 2019-07-02 18:18:23 +03:00
Alexey Zakharenkov
45a214892c No need to validate() a city after critical error 2019-07-02 16:33:35 +03:00
Alexey Zakharenkov
5e347b09a1 Recover after 'Item is not in dataset' exception to continue validating other cities 2019-07-02 11:46:27 +03:00
Rolf Eike Beer
9975ecfbad list which subway entrances are not in stop areas 2019-06-22 11:13:27 +02:00