geolite 0.0.15

open source geocode solution
pub mod addresses;
pub mod admin_levels_hierarchy;
pub mod coordinates;

use crate::interfaces::cli::exec::stages::stage;
use crate::interfaces::cli::optimize::{delete_isolated_admin_levels, merge_admin_levels};

pub fn command_handler_index_and_merge(
  sqlite_path: &str,
  index_path: &str,
  preset: &crate::presets::index_addresses_preset,
) {
  admin_levels_hierarchy::command_handler_index_admin_levels_hierarchy(sqlite_path);
  println!();
  println!(
    "\x1b[2m── {}\x1b[0m",
    stage::optimize_delete_isolated_admin_levels.name()
  );
  delete_isolated_admin_levels::command_handler_optimize_delete_isolated_admin_levels(
    sqlite_path,
    index_path,
  );
  println!();
  println!(
    "\x1b[2m── {}\x1b[0m",
    stage::optimize_merge_admin_levels.name()
  );
  merge_admin_levels::command_handler_optimize_merge_admin_levels(sqlite_path, index_path);
  println!();
  println!("\x1b[2m── {}\x1b[0m", stage::index_addresses.name());
  addresses::command_handler_index_addresses(sqlite_path, index_path, preset);
  println!();
  println!("\x1b[2m── {}\x1b[0m", stage::index_coordinates.name());
  coordinates::command_handler_index_coordinates(sqlite_path);
}