Use it in the updater and all the importer tools. Only place it's not
used yet is parking_mapper and the in-game updater. [rebuild]
Also make the RunCommand state understand the control code for erasing
the current line. It... sort of works.
Originally, the intention of the deleted calls was to not interrupt
Timer progress bars with warnings. But the output of things like the
importer is impossible to read anyway. Strongly considering explicitly
sending logs and timing info to separate places and using something like
multitail for live progress.
Unplumb timer from LOADS of places that just needed it for logging.
duplicated between the Berlin importer and the new census-based popdat
crate, and I suspect some form of it might get used for the actdev
integration. #424
widgetry, geom, and abstutil may wind up on crates.io in some form to
let other projects use widgetry. abstio has A/B Street-specific tricks
for reading data on native/web. Note widgetry still depends on abstio,
will figure out how to clean that up next.
* Read ImporterConfiguration from .toml file if present. Also check for presence of dependency programs.
* Actually use config.osmconvert instead of hard-coded 'osmconvert'
* Add curl to checked dependencies
* Don't require all fields to be present in importer.toml configuration. Fill in defaults.
* Remove unneeded slice
* Use json for importer config and use serde(default) attribute to simplify application of defaults
* Extract re_dependencies_callable from main.rs and remove dependency on Job
* Revert change to abstutil, use struct-level default attribute
* Add importer.json to .gitignore
* Make gunzip_args string instead of Option<string>
as part of this, wound up grabbing fresh OSM and GTFS. but actually cant
reimport OSM right now, because fixes reference old OSM IDs and things
break. so sticking with old OSM, but new GTFS. urgh.