72 lines
1.9 KiB
Plaintext
72 lines
1.9 KiB
Plaintext
|
#!/bin/bash
|
||
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||
|
|
||
|
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"
|
||
|
}
|
||
|
|
||
|
source "$(dirname "$0")/ulib/ulib" &&
|
||
|
urequire DEFAULTS ||
|
||
|
exit 1
|
||
|
|
||
|
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
|