72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |