#!/bin/bash
set -e

# Get script name
SCRIPT=$(basename "$0")
VERSION="1.0.0"

# Display Help
Help() {
    echo
    echo "$SCRIPT"
    echo
    echo "Description: Count lines of code for Odoo database."
    echo "Syntax: $SCRIPT [-c|-d|-v|help]"
    echo "Example: $SCRIPT -c odoo08 -d shop"
    echo "options:"
    echo "  -c    Docker database container. Defaults to 'odoo'."
    echo "  -d    Database name. Defaults to 'odoo'."
    echo "  -v    Show $SCRIPT version."
    echo "  help  Show $SCRIPT manual."
    echo
}

# Show help and exit
if [[ "$1" == "help" ]]; then
  Help
  exit
fi

# Process params
while getopts ":c: :d: :v" opt; do
    case $opt in
        c) CONTAINER="$OPTARG" ;;
        d) DATABASE="$OPTARG" ;;
        v) echo "$SCRIPT version $VERSION"
        exit 0
        ;;
        \?) echo "Invalid option -$OPTARG" >&2
        Help
        exit;;
    esac
done

# Fallback to environment vars and default values
: ${CONTAINER:='odoo'}
: ${DATABASE:='odoo'}

docker exec -it $CONTAINER bin/bash -c "odoo cloc -c /etc/odoo/odoo.conf -d $DATABASE --db_host \$HOST -r \$USER -w \$PASSWORD --stop-after-init --no-http"
