#! /bin/bash # Copyright (C) 2018-2019 Merspieler, merspieler _at_ airmail.cc # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. first=1 while [[ $# -gt 0 ]] do key="$1" case $key in -u|--user) man_user="$2" shift # past argument shift # past value ;; -s|--secret) secret="$2" shift # past argument shift # past value ;; --host) host="$2" shift # past argument shift # past value ;; --port) port="$2" shift # past argument shift # past value ;; -h|--help) echo "usage: read-pbf [OPTIONS]" echo "Reads the .pbf file and writes it to the database." echo "NOTE this uses quite some space in the /tmp directory" echo "" echo "OPTIONS" echo " -u, --user Database user to login with." echo " If not given, the one from the general settings will be used" echo " -s, --secret Password to authentificate the user with." echo " If not given, the one from the general settings will be used" echo " --host Host of the database server" echo " If not given, the one from the general settings will be used" echo " --port Port of the database server to connect to" echo " If not given, the one from the general settings will be used" echo " -h, --help Shows this help and exit" exit 0 ;; *) if [ "$first" == "1" ]; then database="$1" shift # past database first=2 elif [ "$first" == "2" ]; then file="$2" shift # past file first=0 else echo "Unknown option $key" exit 1 fi ;; esac done source general-settings if [ ! -z "$man_user" ]; then db_user="$man_user" fi if [ ! -z "$secret" ]; then db_passwd="$secret" fi if [ ! -z "$host" ]; then db_host="$host" fi if [ ! -z "$port" ]; then db_port="$port" fi time osmosis --read-pbf file="$file" --log-progress --write-pgsql database="$database" host="$db_host:$db_port" user="$db_user" password="$db_passwd"