# shellcheck shell=dash

xrc:mod:lib     se      site/ls

___x_cmd_se_site(){
    [ $# -gt 0 ]    ||  set -- ls

    local op="$1";  shift
    case "$op" in
        -h|--help)
            ___x_cmd help -m se site "$@";   return ;;
        domain_|domain)
                ___x_cmd_se_site_"$op"      "$@" ;;
        ls)     ___x_cmd_se_site_ls         "$@" ;;
        *)      N=se M="Unexpected op -> $op" log:ret:64 ;;
    esac
}

___x_cmd_se_site___init(){
    local IFS=" "

    local code_for_url

    local short
    local name
    local domain
    local datafp="$___X_CMD_PKG_ROOT_PATH/metadata/$___X_CMD_PKG_VERSION/se/data.csv"
    [ -f "$datafp" ] || ___x_cmd pkg update

    {
        read -r line && while read -r line; do
            domain="${line##*,}"
            short="${line%%,*}"
            name="${line#"$short",}"
            name="${name%,"$domain"}"

            code_for_url="${code_for_url}  $short)   x_='$domain' ;;
"
        done
    }<"$datafp"

    eval "
___x_cmd_se_site_domain_(){
    case \"\$1\" in
        $code_for_url

        *)  return 1 ;;
    esac
}"

}

___x_cmd_se_site___init

___x_cmd_se_site_domain(){
    local x_
    ___x_cmd_se_site_domain_ "$@" || return
    printf "%s\n" "$x_"
}
