Use getopts for network's helpers

This commit is contained in:
Maniack Crudelis 2018-12-21 20:40:02 +01:00 committed by GitHub
parent 2840531cf4
commit a701b42519
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -8,10 +8,15 @@
# ynh_normalize_url_path /example/ -> /example # ynh_normalize_url_path /example/ -> /example
# ynh_normalize_url_path / -> / # ynh_normalize_url_path / -> /
# #
# usage: ynh_normalize_url_path path_to_normalize # usage: ynh_normalize_url_path --path_url=path_to_normalize
# | arg: url_path_to_normalize - URL path to normalize before using it # | arg: -p, --path_url - URL path to normalize before using it
ynh_normalize_url_path () { ynh_normalize_url_path () {
local path_url=$1 # Declare an array to define the options of this helper.
declare -Ar args_array=( [p]=path_url= )
local path_url
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
test -n "$path_url" || ynh_die "ynh_normalize_url_path expect a URL path as first argument and received nothing." test -n "$path_url" || ynh_die "ynh_normalize_url_path expect a URL path as first argument and received nothing."
if [ "${path_url:0:1}" != "/" ]; then # If the first character is not a / if [ "${path_url:0:1}" != "/" ]; then # If the first character is not a /
path_url="/$path_url" # Add / at begin of path variable path_url="/$path_url" # Add / at begin of path variable
@ -24,12 +29,17 @@ ynh_normalize_url_path () {
# Find a free port and return it # Find a free port and return it
# #
# example: port=$(ynh_find_port 8080) # example: port=$(ynh_find_port --port=8080)
# #
# usage: ynh_find_port begin_port # usage: ynh_find_port --port=begin_port
# | arg: begin_port - port to start to search # | arg: -p, --port - port to start to search
ynh_find_port () { ynh_find_port () {
local port=$1 # Declare an array to define the options of this helper.
declare -Ar args_array=( [p]=port= )
local port
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
test -n "$port" || ynh_die "The argument of ynh_find_port must be a valid port." test -n "$port" || ynh_die "The argument of ynh_find_port must be a valid port."
while netcat -z 127.0.0.1 $port # Check if the port is free while netcat -z 127.0.0.1 $port # Check if the port is free
do do
@ -40,28 +50,38 @@ ynh_find_port () {
# Check availability of a web path # Check availability of a web path
# #
# example: ynh_webpath_available some.domain.tld /coffee # example: ynh_webpath_available --domain=some.domain.tld --path_url=/coffee
# #
# usage: ynh_webpath_available domain path # usage: ynh_webpath_available --domain=domain --path_url=path
# | arg: domain - the domain/host of the url # | arg: -d, --domain - the domain/host of the url
# | arg: path - the web path to check the availability of # | arg: -p, --path_url - the web path to check the availability of
ynh_webpath_available () { ynh_webpath_available () {
local domain=$1 # Declare an array to define the options of this helper.
local path=$2 declare -Ar args_array=( [d]=domain= [p]=path_url= )
sudo yunohost domain url-available $domain $path local domain
local path_url
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
sudo yunohost domain url-available $domain $path_url
} }
# Register/book a web path for an app # Register/book a web path for an app
# #
# example: ynh_webpath_register wordpress some.domain.tld /coffee # example: ynh_webpath_register --app=wordpress --domain=some.domain.tld --path_url=/coffee
# #
# usage: ynh_webpath_register app domain path # usage: ynh_webpath_register --app=app --domain=domain --path_url=path
# | arg: app - the app for which the domain should be registered # | arg: -a, --app - the app for which the domain should be registered
# | arg: domain - the domain/host of the web path # | arg: -d, --domain - the domain/host of the web path
# | arg: path - the web path to be registered # | arg: -p, --path_url - the web path to be registered
ynh_webpath_register () { ynh_webpath_register () {
local app=$1 # Declare an array to define the options of this helper.
local domain=$2 declare -Ar args_array=( [a]=app= [d]=domain= [p]=path_url= )
local path=$3 local app
sudo yunohost app register-url $app $domain $path local domain
local path_url
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
sudo yunohost app register-url $app $domain $path_url
} }