starting a tool to more granularly manage data files. my half, uploading

This commit is contained in:
Dustin Carlino 2020-05-01 19:22:03 -07:00
parent 02c5b6617b
commit 43fe432e07
7 changed files with 204 additions and 178 deletions

7
Cargo.lock generated
View File

@ -3390,6 +3390,13 @@ dependencies = [
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "updater"
version = "0.1.0"
dependencies = [
"walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "url"
version = "1.7.2"

View File

@ -13,6 +13,7 @@ members = [
"map_editor",
"map_model",
"sim",
"updater",
]
# See https://doc.rust-lang.org/cargo/reference/profiles.html#overrides. This

View File

@ -1,172 +1,99 @@
d4a8e733045b28c0385fb81359d6df03 data/input/seattle/trips_2014.csv
8c3d6c9b28efa6922c71912c36af8eae data/input/seattle/osm/montlake.osm
6b3ea17f3a23039dba45c5904128321d data/input/seattle/osm/huge_seattle.osm
ab122e013e18d9bfe923162ad27deb54 data/input/seattle/osm/ballard.osm
58d9ebb924a3571178f4f16cade0edec data/input/seattle/osm/23rd.osm
67b25efb8cc3c566e7b37b8d5761a3ae data/input/seattle/osm/downtown.osm
02c3ac59dc92ffd846318c9be9378d5c data/input/seattle/osm/intl_district.osm
f17e480bd803309c92d58c96bebb0ca1 data/input/seattle/osm/caphill.osm
c3198bbcdf00c4cdcc429d4679d68202 data/input/seattle/osm/lakeslice.osm
0052ec465666b0c49ef1d1221c9e3a53 data/input/seattle/osm/Seattle.osm
19e8073a9f6c807b4492681b2c7570de data/input/seattle/blockface.bin
db63d7d606e8702d12f9399e87e6a00f data/input/seattle/parcels_urbansim.txt
7cbf604cb6d080292a5e69fdf0caf3b3 data/input/seattle/popdat.bin
428bc2e92ea02089cedbb614ce1d8f25 data/input/seattle/polygons/caphill.poly
4f291bbe84ac32a98d7d100be79ddc4b data/input/seattle/polygons/huge_seattle.poly
6b221b5e68a38f16f34e46a208c7ca15 data/input/seattle/polygons/lakeslice.poly
418bcd5b335d12a1aa8ef556367e0bad data/input/seattle/polygons/montlake.poly
502f3bf285833fc061099a52f2f70819 data/input/seattle/polygons/intl_district.poly
5d48031ff3b288ecb22bd2a96809a0ab data/input/seattle/polygons/ballard.poly
0304847f270859fcfc19c8ca122ed793 data/input/seattle/polygons/23rd.poly
54f5f16e5ec925cb29b4d1405a89ef94 data/input/seattle/polygons/downtown.poly
58485a3bdff2aea9769fffd207e3cf30 data/input/seattle/offstreet_parking.bin
129b460f56f5eb41cab3bfd70fb5fde9 data/input/seattle/sidewalks.bin
0db4e23e51f7680538b0bbbc72208e07 data/input/seattle/N47W122.hgt
51dbf7a263fe5f0ea24e43c3aad3fec2 data/input/seattle/google_transit/stop_times.txt
308c4e4ab385b7e8c1a1f75c4dc96e3f data/input/seattle/google_transit/routes.txt
9d3deb093076d7eaf748114829802292 data/input/seattle/google_transit/calendar_dates.txt
1800e4da804a8d9809d8b636742b9d00 data/input/seattle/google_transit/fare_rules.txt
9502d1a6e03a21c7e6987c036d5aea6f data/input/seattle/google_transit/block_trip.txt
b66cb4c0a24b2d038427aa6e1aa1954a data/input/seattle/google_transit/block.txt
7211c370ecf3d8839ea0eb6651ed18e9 data/input/seattle/google_transit/calendar.txt
33f4f1264b3c982f0d6922ce7fb45e73 data/input/seattle/google_transit/shapes.txt
8a4fbb3846249777afae319d64e6241e data/input/seattle/google_transit/trips.txt
ca5a7569e1af41e0046fe5e8865cf733 data/input/seattle/google_transit/fare_attributes.txt
8610cdc491d036eee88c9b7ae24d692d data/input/seattle/google_transit/stops.txt
75f564fcc06b1950b7b33acf9d61f696 data/input/seattle/google_transit/agency.txt
55a13d6252de8273153fce7f3d43864b data/input/raw_maps/huge_seattle.bin
9ff05ead40b54f842ea99c97c274f2f9 data/input/raw_maps/ballard.bin
34aea57a80555addd96406917e472357 data/input/raw_maps/downtown.bin
e6972c81efaa95e891660a3e565a4760 data/input/raw_maps/caphill.bin
8926263ac28d92fe264f977fb851a99e data/input/raw_maps/lakeslice.bin
b50223a417508afb924252ae3ecd24ad data/input/raw_maps/huge_austin.bin
d4f6ece8ef35c594c794928d651c5916 data/input/raw_maps/downtown_atx.bin
530521311e09da554127fd08bb43c34b data/input/raw_maps/montlake.bin
984e24fd958aedf7f9dcf030ecbd0b42 data/input/raw_maps/intl_district.bin
f7ea2e3cfcd688e0effae80ec9440af0 data/input/raw_maps/downtown_la.bin
9bfd89ddbc346a4e74fd8e64d6c6a0c0 data/input/raw_maps/23rd.bin
9b2c4729d3031553a477bb2e1134a6bf data/input/los_angeles/osm/downtown_la.osm
1dd1b7d3a6d38829a8266b0b6ea60b85 data/input/los_angeles/osm/socal.osm.pbf
97672583e0e9bc2e3d076645a1ccb8f5 data/input/los_angeles/polygons/downtown_la.poly
a30b0f460a481598e494f16a9d07a822 data/input/austin/osm/downtown_atx.osm
7c8d72cf97072af34cee665006b1e9e6 data/input/austin/osm/Austin.osm
fb166029fc8006bd20dc959fbbbde3b6 data/input/austin/osm/huge_austin.osm
8c6570b3bad2a362e0e6f4bb6f4a8fda data/input/austin/polygons/huge_austin.poly
dc9a8a05f8f2e508af7a9841866f8cd3 data/input/austin/polygons/downtown_atx.poly
50bbba4cfde0e2b6f3672a52ffb11e15 data/input/screenshots/montlake/03x06_i27.png
3aafac45d70f8a4b76868f07346678b2 data/input/screenshots/montlake/01x03_i0.png
17616e1cf2d66780e58ef05c8f6dfc2b data/input/screenshots/montlake/03x01_i13.png
7f7ceac82ca1aa8cecd36e20e93a0f08 data/input/screenshots/montlake/01x01_i17.png
036315e7de82b51cd6176e67cd96a653 data/input/screenshots/montlake/02x01_i13.png
5ac6d6f513b09836e422e9afa61cc64d data/input/screenshots/montlake/01x04_i31.png
728f455f1ecbb42bbda3773c918eee5b data/input/screenshots/montlake/combine.sh
b10bf7ed68c9e3676612cf7533358591 data/input/screenshots/montlake/01x05_i41.png
2212596ff8eff3b518a4b283491a15e0 data/input/screenshots/montlake/02x06_i90.png
ff62fdb76cfe795fbc82953d8be51511 data/input/screenshots/montlake/03x05_i65.png
5fd363876de44ea94768955170aa37f7 data/input/screenshots/montlake/02x02_i332.png
b16089fac3b725fe0809b6cb3f7e689b data/input/screenshots/montlake/02x03_i57.png
72822c593f3869b97e81f0db14e17a60 data/input/screenshots/montlake/01x06_i25.png
e44c453fe4699b72f57a3b41ccc5ee25 data/input/screenshots/montlake/03x03_i61.png
a860db64de9c731379db997323efa400 data/input/screenshots/montlake/02x05_i132.png
7c1baa4f4551c1a12becc4a88766ea8a data/input/screenshots/montlake/03x02_i3.png
e53a43b1c55f8ebf447667c441e95f94 data/input/screenshots/montlake/01x02_i18.png
4b4114d46218f1790e4f9db0353b1cd2 data/input/screenshots/montlake/02x04_i24.png
425748451b0cf5bf476b4c5d1d67c9e2 data/input/screenshots/montlake/03x04_i69.png
e4d10fa4a66453b7097d906e4616e26b data/system/assets/meters/car.svg
9d747979fdc362ac6df0af3c3bbffd15 data/system/assets/meters/bus.svg
f7facfb678770c416e5529b2b2d066e5 data/system/assets/meters/pedestrian.svg
44c3cac69d02b773a6df8b861fd9376e data/system/assets/meters/bike.svg
3ba0dfb934304b0a57970daeee579aa5 data/system/assets/meters/trip_histogram.svg
fd9dfc89f3554bd490b633916298c385 data/system/assets/pregame/logo.svg
287a0629e1b11a2287e2fa1d902a6f3f data/system/assets/pregame/tutorial.svg
02dd549d1626c6ec941422f460696570 data/system/assets/pregame/sandbox.svg
254d439435ed1b7d01d7a2544fc06b09 data/system/assets/pregame/back.svg
d4615c4cb06658959bacb474293211f8 data/system/assets/pregame/start.svg
21145e91a6cb1c36261563e8b5b67dc1 data/system/assets/pregame/quit.svg
3a5a5796d5ff1d94dc57515f9d808c98 data/system/assets/pregame/challenges.svg
0fd2bedf0f16076c97738c80e64c7206 data/system/assets/speed/triangle.svg
6e22ab750a42fadcef4d7e836d8c12c0 data/system/assets/speed/sunset.svg
cc045df994fa528adafee4f7115fcc0d data/system/assets/speed/slow_down.svg
11b856ac818e797ef5e496f38b397cf1 data/system/assets/speed/sunrise.svg
bc920c3406bd82b4f54b63845fede3ca data/system/assets/speed/pause.svg
5c6762f5323eb76a305846da6b9a482a data/system/assets/speed/info_jump_to_time.svg
11cdf641bcffa88cfbcb9bfa3c1542bd data/system/assets/speed/jump_to_time.svg
a28c5fa18d32c3325a5f7326fed876fa data/system/assets/speed/reset.svg
e348fda658d0fcb6bb8abdcec23d1dab data/system/assets/speed/speed_up.svg
d15fe87c4174463e84b9a440162129ed data/system/assets/tools/undo.svg
5f3912d972b47419295ded39c52e647d data/system/assets/tools/next.svg
e469148085a2046afd447d31a54d15ab data/system/assets/tools/search.svg
8aeb89a0a9ef4e84d0202fb45f65d642 data/system/assets/tools/location.svg
4a5d6456d7c3d9ad94fc1a9e456d6f06 data/system/assets/tools/prev.svg
fe358c0fdf48b65117f7c4970fa35d91 data/system/assets/tools/settings.svg
1e0135f13d0aea11650460d6a61b5463 data/system/assets/tools/edit.svg
cddd0aa7a98d4d511138befe8f56a6b7 data/system/assets/tools/delete.svg
13c640d3aef2067470c81cc324e91a30 data/system/assets/tools/shortcuts.svg
be78b20de5ec9311773237f58126a26d data/system/assets/tools/sad.svg
c072219792a6392007d9f345e636c34d data/system/assets/tools/happy.svg
4221e3cc98b20265d9bbbe551a018fa6 data/system/assets/tools/redo.svg
21b36a364bee7066abfb4b9045277600 data/system/assets/tools/save.svg
512477d8556de48901712165e905782f data/system/assets/tools/pin.svg
0a58c62abf259b9082c054ac6cbefddd data/system/assets/tools/layers.svg
54a0052191997bae5237b67318555307 data/system/assets/tools/home.svg
db1bfe4e2c3331cd2a8cbea30127ddc4 data/system/assets/tools/edit_map.svg
9186d38868a7b02d97d21c4521ad581f data/system/assets/tools/info.svg
4cdb2133662f1995ba50d36587acf550 data/system/assets/characters/boss.svg
ed52d1380a29378419852d43b04d0d90 data/system/assets/characters/player.svg
c2d2cf72d0058b898fb508c6ea175cf1 data/system/assets/map/parking.svg
129a465d2ee86e4d6d568d1e58d8bce7 data/system/assets/map/dont_walk.svg
c3fa1600a398928d248cf5d96f63d294 data/system/assets/map/parked_car.svg
c09a5debd42b9c673c6b681c62ebf861 data/system/assets/map/bus_only.svg
8b0ef0778d81a4ad5496b34d24e6eb01 data/system/assets/map/walk.svg
5e31cad71a69e4a3bfef1b34a1d2bb48 data/system/assets/timeline/riding_bus.svg
b9e963ca693bb9329b065454047742e7 data/system/assets/timeline/start_pos.svg
c8433d44c82e2471ee777c90d4bcd449 data/system/assets/timeline/goal_pos.svg
4527c9b19de34133f1db07577284e7cf data/system/assets/timeline/biking.svg
28f143690de67bbda88e141228393c1c data/system/assets/timeline/parking.svg
8bf3eba8ea9d96e00395ad117385d0e5 data/system/assets/timeline/waiting_for_bus.svg
6c85abc97c8faf30defe1cfb53af4fe8 data/system/assets/timeline/delayed_start.svg
cb589c4b42bb9f3bdaabbf485897ab51 data/system/assets/timeline/current_pos.svg
10b02a86fe4b695ee5bfcde982a41c10 data/system/assets/timeline/walking.svg
680d81bc03b0115abcc85a28885ae94b data/system/assets/timeline/driving.svg
ef57ec8ce198dddc0d6289a15dd68104 data/system/assets/edit/bus.svg
1ef84103f508ac1695dffda6fd0600d4 data/system/assets/edit/construction.svg
90cb164f6cdc56993f0e68932e3b876c data/system/assets/edit/bike.svg
9a7495959b0e0a6ede402329a82e5e1d data/system/assets/edit/contraflow.svg
f71b2ce735102531e11934781fe748b1 data/system/assets/edit/parking.svg
2f15de4a863cc755984726da0c29c0a4 data/system/assets/edit/driving.svg
cad08c84562d640c5a4d4e45cd3731b2 data/system/assets/minimap/right.svg
39eb3adcf91244c50092f0aad6628e1a data/system/assets/minimap/left.svg
c063a7b561f00f4b2ccad16390d3c5f0 data/system/assets/minimap/zoom_in_fully.svg
55598346b4b038899f8972d7468a20a6 data/system/assets/minimap/down.svg
add7f832f0a7b501a59c505b63a0c5b5 data/system/assets/minimap/zoom_out_fully.svg
9caf97939884d4859accca34265f45fb data/system/assets/minimap/up.svg
d02d0d103f7b00672a5f1145c5169d8c data/system/fonts/Overpass-Bold.ttf
0807de33685581f680c95f790cbe3236 data/system/fonts/Overpass-Regular.ttf
2a13391023ce8787887331530cac35a7 data/system/fonts/BungeeInline-Regular.ttf
17a1468e62195d0688a6f3bd12da2e92 data/system/fonts/Overpass-SemiBold.ttf
259d4afad7edca07e727ef80f5bbce07 data/system/fonts/Bungee-Regular.ttf
e40060350ec5dcfc1049f00d3c73691c data/system/maps/huge_seattle.bin
32585d4a4d10b56e5d03b7bfd997e270 data/system/maps/ballard.bin
32204ce12eecd28829f4951c1b77ae16 data/system/maps/downtown.bin
868672d2b73b55c945730528b058022e data/system/maps/caphill.bin
d92351e6246bf8052baffd4b30ab8959 data/system/maps/lakeslice.bin
4961886805fc8a5576a37cffc6adc9be data/system/maps/huge_austin.bin
94d44bfd4c5e2431c7f8555943e70709 data/system/maps/downtown_atx.bin
930d7b8add199635e19a8b701a3d3d8a data/system/maps/montlake.bin
919e9d01d680ffa731b771890ba8de26 data/system/maps/intl_district.bin
2857ce1b2e3b233323a04d459d533024 data/system/maps/downtown_la.bin
a9aaaaea906cc620f1710be5dc316a80 data/system/maps/23rd.bin
cc45f42cb24cad1cfdbf5ed7a0cb86d4 data/system/synthetic_maps/signal_double.json
8b949cc34d9a27ace0bd8ecde55a9520 data/system/synthetic_maps/signal_single.json
1cd7be125e1d992613ed3a41e8b25b6a data/system/synthetic_maps/signal_fan_in.json
624326d36bb63f5ffe57acd8c03eda4f data/system/scenarios/ballard/weekday.bin
737dfc33af6400225405f02c4ae576bb data/system/scenarios/intl_district/weekday.bin
d23f322d55424bdc3da93452d71a1683 data/system/scenarios/23rd/weekday.bin
a8240a7c953291ed4e0e479f3b29fab5 data/system/scenarios/lakeslice/weekday.bin
f1b22bc7c5cbcf78b91476a33fc469f8 data/system/scenarios/downtown/weekday.bin
fc2f434254ed22862a163bb9d05383bb data/system/scenarios/huge_seattle/weekday.bin
101b5d430d55fdc81748298b7f44e16d data/system/scenarios/caphill/weekday.bin
8eab93be03f8807d154cb27948da5b20 data/system/scenarios/montlake/everyone_weekday.bin
b6c27dd92bc9c978d1dfe49048ccfc19 data/system/scenarios/montlake/weekday.bin
84bf817c20e62c03465be72bea25b320 data/system/prebaked_results/montlake/car vs bike contention.bin
18272ae5ec70de3a61826a7497174bf0 data/system/prebaked_results/montlake/weekday.bin
7c8d72cf97072af34cee665006b1e9e6 data/input/austin/osm/Austin.osm
a30b0f460a481598e494f16a9d07a822 data/input/austin/osm/downtown_atx.osm
fb166029fc8006bd20dc959fbbbde3b6 data/input/austin/osm/huge_austin.osm
dc9a8a05f8f2e508af7a9841866f8cd3 data/input/austin/polygons/downtown_atx.poly
8c6570b3bad2a362e0e6f4bb6f4a8fda data/input/austin/polygons/huge_austin.poly
9b2c4729d3031553a477bb2e1134a6bf data/input/los_angeles/osm/downtown_la.osm
1dd1b7d3a6d38829a8266b0b6ea60b85 data/input/los_angeles/osm/socal.osm.pbf
97672583e0e9bc2e3d076645a1ccb8f5 data/input/los_angeles/polygons/downtown_la.poly
9bfd89ddbc346a4e74fd8e64d6c6a0c0 data/input/raw_maps/23rd.bin
9ff05ead40b54f842ea99c97c274f2f9 data/input/raw_maps/ballard.bin
e6972c81efaa95e891660a3e565a4760 data/input/raw_maps/caphill.bin
34aea57a80555addd96406917e472357 data/input/raw_maps/downtown.bin
d4f6ece8ef35c594c794928d651c5916 data/input/raw_maps/downtown_atx.bin
f7ea2e3cfcd688e0effae80ec9440af0 data/input/raw_maps/downtown_la.bin
b50223a417508afb924252ae3ecd24ad data/input/raw_maps/huge_austin.bin
55a13d6252de8273153fce7f3d43864b data/input/raw_maps/huge_seattle.bin
984e24fd958aedf7f9dcf030ecbd0b42 data/input/raw_maps/intl_district.bin
8926263ac28d92fe264f977fb851a99e data/input/raw_maps/lakeslice.bin
530521311e09da554127fd08bb43c34b data/input/raw_maps/montlake.bin
7f7ceac82ca1aa8cecd36e20e93a0f08 data/input/screenshots/montlake/01x01_i17.png
e53a43b1c55f8ebf447667c441e95f94 data/input/screenshots/montlake/01x02_i18.png
3aafac45d70f8a4b76868f07346678b2 data/input/screenshots/montlake/01x03_i0.png
5ac6d6f513b09836e422e9afa61cc64d data/input/screenshots/montlake/01x04_i31.png
b10bf7ed68c9e3676612cf7533358591 data/input/screenshots/montlake/01x05_i41.png
72822c593f3869b97e81f0db14e17a60 data/input/screenshots/montlake/01x06_i25.png
036315e7de82b51cd6176e67cd96a653 data/input/screenshots/montlake/02x01_i13.png
5fd363876de44ea94768955170aa37f7 data/input/screenshots/montlake/02x02_i332.png
b16089fac3b725fe0809b6cb3f7e689b data/input/screenshots/montlake/02x03_i57.png
4b4114d46218f1790e4f9db0353b1cd2 data/input/screenshots/montlake/02x04_i24.png
a860db64de9c731379db997323efa400 data/input/screenshots/montlake/02x05_i132.png
2212596ff8eff3b518a4b283491a15e0 data/input/screenshots/montlake/02x06_i90.png
17616e1cf2d66780e58ef05c8f6dfc2b data/input/screenshots/montlake/03x01_i13.png
7c1baa4f4551c1a12becc4a88766ea8a data/input/screenshots/montlake/03x02_i3.png
e44c453fe4699b72f57a3b41ccc5ee25 data/input/screenshots/montlake/03x03_i61.png
425748451b0cf5bf476b4c5d1d67c9e2 data/input/screenshots/montlake/03x04_i69.png
ff62fdb76cfe795fbc82953d8be51511 data/input/screenshots/montlake/03x05_i65.png
50bbba4cfde0e2b6f3672a52ffb11e15 data/input/screenshots/montlake/03x06_i27.png
728f455f1ecbb42bbda3773c918eee5b data/input/screenshots/montlake/combine.sh
0db4e23e51f7680538b0bbbc72208e07 data/input/seattle/N47W122.hgt
19e8073a9f6c807b4492681b2c7570de data/input/seattle/blockface.bin
75f564fcc06b1950b7b33acf9d61f696 data/input/seattle/google_transit/agency.txt
b66cb4c0a24b2d038427aa6e1aa1954a data/input/seattle/google_transit/block.txt
9502d1a6e03a21c7e6987c036d5aea6f data/input/seattle/google_transit/block_trip.txt
7211c370ecf3d8839ea0eb6651ed18e9 data/input/seattle/google_transit/calendar.txt
9d3deb093076d7eaf748114829802292 data/input/seattle/google_transit/calendar_dates.txt
ca5a7569e1af41e0046fe5e8865cf733 data/input/seattle/google_transit/fare_attributes.txt
1800e4da804a8d9809d8b636742b9d00 data/input/seattle/google_transit/fare_rules.txt
308c4e4ab385b7e8c1a1f75c4dc96e3f data/input/seattle/google_transit/routes.txt
33f4f1264b3c982f0d6922ce7fb45e73 data/input/seattle/google_transit/shapes.txt
51dbf7a263fe5f0ea24e43c3aad3fec2 data/input/seattle/google_transit/stop_times.txt
8610cdc491d036eee88c9b7ae24d692d data/input/seattle/google_transit/stops.txt
8a4fbb3846249777afae319d64e6241e data/input/seattle/google_transit/trips.txt
58485a3bdff2aea9769fffd207e3cf30 data/input/seattle/offstreet_parking.bin
58d9ebb924a3571178f4f16cade0edec data/input/seattle/osm/23rd.osm
0052ec465666b0c49ef1d1221c9e3a53 data/input/seattle/osm/Seattle.osm
ab122e013e18d9bfe923162ad27deb54 data/input/seattle/osm/ballard.osm
f17e480bd803309c92d58c96bebb0ca1 data/input/seattle/osm/caphill.osm
67b25efb8cc3c566e7b37b8d5761a3ae data/input/seattle/osm/downtown.osm
6b3ea17f3a23039dba45c5904128321d data/input/seattle/osm/huge_seattle.osm
02c3ac59dc92ffd846318c9be9378d5c data/input/seattle/osm/intl_district.osm
c3198bbcdf00c4cdcc429d4679d68202 data/input/seattle/osm/lakeslice.osm
8c3d6c9b28efa6922c71912c36af8eae data/input/seattle/osm/montlake.osm
db63d7d606e8702d12f9399e87e6a00f data/input/seattle/parcels_urbansim.txt
0304847f270859fcfc19c8ca122ed793 data/input/seattle/polygons/23rd.poly
5d48031ff3b288ecb22bd2a96809a0ab data/input/seattle/polygons/ballard.poly
428bc2e92ea02089cedbb614ce1d8f25 data/input/seattle/polygons/caphill.poly
54f5f16e5ec925cb29b4d1405a89ef94 data/input/seattle/polygons/downtown.poly
4f291bbe84ac32a98d7d100be79ddc4b data/input/seattle/polygons/huge_seattle.poly
502f3bf285833fc061099a52f2f70819 data/input/seattle/polygons/intl_district.poly
6b221b5e68a38f16f34e46a208c7ca15 data/input/seattle/polygons/lakeslice.poly
418bcd5b335d12a1aa8ef556367e0bad data/input/seattle/polygons/montlake.poly
7cbf604cb6d080292a5e69fdf0caf3b3 data/input/seattle/popdat.bin
129b460f56f5eb41cab3bfd70fb5fde9 data/input/seattle/sidewalks.bin
d4a8e733045b28c0385fb81359d6df03 data/input/seattle/trips_2014.csv
a9aaaaea906cc620f1710be5dc316a80 data/system/maps/23rd.bin
32585d4a4d10b56e5d03b7bfd997e270 data/system/maps/ballard.bin
868672d2b73b55c945730528b058022e data/system/maps/caphill.bin
32204ce12eecd28829f4951c1b77ae16 data/system/maps/downtown.bin
94d44bfd4c5e2431c7f8555943e70709 data/system/maps/downtown_atx.bin
2857ce1b2e3b233323a04d459d533024 data/system/maps/downtown_la.bin
4961886805fc8a5576a37cffc6adc9be data/system/maps/huge_austin.bin
e40060350ec5dcfc1049f00d3c73691c data/system/maps/huge_seattle.bin
919e9d01d680ffa731b771890ba8de26 data/system/maps/intl_district.bin
d92351e6246bf8052baffd4b30ab8959 data/system/maps/lakeslice.bin
930d7b8add199635e19a8b701a3d3d8a data/system/maps/montlake.bin
84bf817c20e62c03465be72bea25b320 data/system/prebaked_results/montlake/car vs bike contention.bin
18272ae5ec70de3a61826a7497174bf0 data/system/prebaked_results/montlake/weekday.bin
d23f322d55424bdc3da93452d71a1683 data/system/scenarios/23rd/weekday.bin
624326d36bb63f5ffe57acd8c03eda4f data/system/scenarios/ballard/weekday.bin
101b5d430d55fdc81748298b7f44e16d data/system/scenarios/caphill/weekday.bin
f1b22bc7c5cbcf78b91476a33fc469f8 data/system/scenarios/downtown/weekday.bin
fc2f434254ed22862a163bb9d05383bb data/system/scenarios/huge_seattle/weekday.bin
737dfc33af6400225405f02c4ae576bb data/system/scenarios/intl_district/weekday.bin
a8240a7c953291ed4e0e479f3b29fab5 data/system/scenarios/lakeslice/weekday.bin
8eab93be03f8807d154cb27948da5b20 data/system/scenarios/montlake/everyone_weekday.bin
b6c27dd92bc9c978d1dfe49048ccfc19 data/system/scenarios/montlake/weekday.bin
cc45f42cb24cad1cfdbf5ed7a0cb86d4 data/system/synthetic_maps/signal_double.json
1cd7be125e1d992613ed3a41e8b25b6a data/system/synthetic_maps/signal_fan_in.json
8b949cc34d9a27ace0bd8ecde55a9520 data/system/synthetic_maps/signal_single.json

View File

@ -1,6 +0,0 @@
#!/bin/bash
# Used to figure out when it's time to run package_for_devs.sh
set -e
find data/input data/system/ -type f \( -not -name "MANIFEST.txt" \) -exec md5sum '{}' \; > data/MANIFEST.txt

View File

@ -94,6 +94,7 @@ Constructing the map:
- `map_editor`: GUI for modifying geometry of maps and creating maps from
scratch
- `importer`: tool to run the entire import pipeline
- `updater`: tool to download/upload large files used in the import pipeline
Traffic simulation:

8
updater/Cargo.toml Normal file
View File

@ -0,0 +1,8 @@
[package]
name = "updater"
version = "0.1.0"
authors = ["Dustin Carlino <dabreegster@gmail.com>"]
edition = "2018"
[dependencies]
walkdir = "2.3.1"

88
updater/src/main.rs Normal file
View File

@ -0,0 +1,88 @@
use std::collections::BTreeMap;
use std::fs::File;
use std::io::{BufRead, BufReader, Error, Write};
use std::process::Command;
use walkdir::WalkDir;
fn main() {
upload()
}
fn upload() {
let remote_base = "/home/dabreegster/Dropbox/abstreet_data";
let local = Manifest::generate();
local.write("data/MANIFEST.txt".to_string());
let remote = Manifest::load(format!("{}/MANIFEST.txt", remote_base))
.unwrap_or(Manifest(BTreeMap::new()));
// Anything remote need deleting?
for file in remote.0.keys() {
if !local.0.contains_key(file) {
let path = format!("{}/{}.zip", remote_base, file);
run(Command::new("rm").arg(path));
}
}
// Anything missing or needing updating?
for (file, checksum) in &local.0 {
if remote.0.get(file) != Some(checksum) {
let path = format!("{}/{}.zip", remote_base, file);
std::fs::create_dir_all(std::path::Path::new(&path).parent().unwrap()).unwrap();
run(Command::new("zip").arg(path).arg(file));
}
}
// "Commit" the remote result by writing this
local.write(format!("{}/MANIFEST.txt", remote_base));
}
// path -> checksum
struct Manifest(BTreeMap<String, String>);
impl Manifest {
fn generate() -> Manifest {
let mut kv = BTreeMap::new();
for entry in WalkDir::new("data/input")
.into_iter()
.chain(WalkDir::new("data/system").into_iter())
.filter_map(|e| e.ok())
{
if entry.file_type().is_dir() {
continue;
}
let path = entry.path().display().to_string();
if path.contains("system/assets/") || path.contains("system/fonts") {
continue;
}
let checksum = run(Command::new("md5sum").arg(&path))
.split(" ")
.next()
.unwrap()
.to_string();
kv.insert(path, checksum);
}
Manifest(kv)
}
fn write(&self, path: String) {
let mut f = File::create(&path).unwrap();
for (file, checksum) in &self.0 {
writeln!(f, "{} {}", checksum, file).unwrap();
}
println!("- Wrote {}", path);
}
fn load(path: String) -> Result<Manifest, Error> {
let mut kv = BTreeMap::new();
for line in BufReader::new(File::open(path)?).lines() {
let line = line?;
let parts = line.splitn(2, " ").collect::<Vec<_>>();
kv.insert(parts[1].to_string(), parts[0].to_string());
}
Ok(Manifest(kv))
}
}
fn run(cmd: &mut Command) -> String {
println!("> {:?}", cmd);
String::from_utf8(cmd.output().unwrap().stdout).unwrap()
}