#!/bin/sh export LC_ALL=ru_RU.UTF8 IN=www.chiark.greenend.org.uk/~sgtatham/puzzles/index.html GBD=/usr/games RList="$( sed -n '//,/^<\/div>/p' < "$IN" | sed -n '/
/s/.*
\([^<]*\).*/\1/p /./,/^<\/td>/{ s/<[^>]*>//g p } ' | sed 's/>/>/g ')" List="$( echo "$RList" | awk 'BEGIN { RS = "" ; FS = "\n" } { Comment=""; for(i=3; i<=NF; i++) Comment=Comment " " $i printf("\"%s\" \"%s\n%s\" 0 ",gensub(/.*\/(.*)[.]html.*/,"\\1","",$2),$1,Comment) }' )" #echo "$List" N=`echo "$List" | fgrep ' 0 ' | wc -l` case "$1" in list) echo "$RList" | awk 'BEGIN { RS = "" ; FS = "\n" } {print " " $1 }' | tr '\n' ','; echo;; desktop) echo "$RList" | awk 'BEGIN { RS = "" ; FS = "\n" } { Name=$1; Exec=$2; sub(/.*#/,"",Exec); Comment=""; for(i=3; i<=NF; i++) Comment=Comment " " $i; print "[Desktop Entry]" > Exec ".desktop" print "Type=Application" > Exec ".desktop" print "Name=" Name > Exec ".desktop" print "Comment=" Comment > Exec ".desktop" print "Icon=" Exec > Exec ".desktop" print "Exec=" Exec > Exec ".desktop" print "Categories=Game;LogicGame;" > Exec ".desktop" print "Terminal=false" > Exec ".desktop" }' ;; *) G=`eval Xdialog --stdout --radiolist "'Simon Tatham Portable Puzzle Collection'" -1 100 0 "$List"` test -z "$G" || E=`"$GBD/$G" 2>&1` || Xdialog --msgbox "Error $?: $E" 0 0 ;; esac