nutools/mkurl

69 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname -- "$0")/lib/ulib/auto" || exit 1
function display_help() {
uecho "$scriptname: Enregistrer une url dans un fichier raccourci
USAGE
$scriptname <url> [output]
OPTIONS
Par défaut, l'url est enregistrée dans un fichier homepage.url
Mais il est possible de spécifier un fichier avec l'extension .url pour un
raccourci utilisable aussi sous Windows, ou avec l'extension .desktop pour
compatibilité avec le standard XDG"
}
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
function fix_urlfile() {
local urlfile="$1"
[ -d "$urlfile" ] && urlfile="$urlfile/homepage"
if [ "${urlfile%.url}" != "$urlfile" -o "${urlfile%.desktop}" != "$urlfile" ]; then
# le fichier a déjà l'extension. ne pas le modifier
:
else
# par défaut, utiliser l'extenion .url
urlfile="$urlfile.url"
fi
echo "$urlfile"
}
url="$1"
urlfile="${2:-homepage}"
urlname=
# trouver le fichier dans lequel enregistrer l'url
urlfile="$(fix_urlfile "$urlfile")"
# si possible récupérer l'ancienne valeur
if [ -z "$url" -a -f "$urlfile" ]; then
url="$("$scriptdir/caturl" "$urlfile")" || die
fi
# lire les nouvelles valeurs
read_value ${1:+-i} "Entrez l'url" url "$url"
read_value ${1:+-i} "Entrez le nom du fichier de raccourci" urlfile "$urlfile"
# écrire l'url
urlfile="$(fix_urlfile "$urlfile")"
urlname="$(basename "$urlfile")"
urlname="${urlname%.*}"
if [ "${urlfile%.url}" != "$urlfile" ]; then
echo "[InternetShortcut]
URL=$url" >"$urlfile"
elif [ "${urlfile%.desktop}" != "$urlfile" ]; then
echo "#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Link
Name=$urlname
URL=$url
Icon=applications-internet" >"$urlfile"
fi