# GeoNamesTools
Library and CLI tool to use data from [GeoNames.org](http://www.geonames.org/)
## CLI
For now it can process in a simple way the cities data(for example cities-1000) and transfer data to a sqlite DB.
More features to come!
Example Usage:
``` sh
cargo run ./test_data/test_cities.txt test.db
```
The line above transfers the data in the test_file present in *test_cities.txt* to the database *test.db* (creating it, if it does not exist).
## Library
For now it has the two components
``` Rust
geonames::parser;
geonames::sqlitewriter::write_sqlite;
```
Example:
``` Rust
extern crate geonames;
use geonames::parser;
use geonames::sqlitewriter::write_sqlite;
let input: std::path::PathBuf = "./test_data/test_cities.txt";
let output: std::path::PathBuf = "output.db";
let mut parser = parser::Parser::new(); // Creates the new parser
parser.parse(input).expect("Failure to parse"); // Feeds the test data to the parser
write_sqlite(parser, output).expect("Failure to write"); // Writes the read data to the SQLite DB
```
## License
MIT or Apache-2.0