You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.1 KiB
54 lines
1.1 KiB
9 years ago
|
#!/bin/sh -e
|
||
|
# Helper functions for programs that work with satellite files.
|
||
|
|
||
|
show_help() {
|
||
|
echo "Script with helper functions for working with satellite files.
|
||
|
Usage: $0 <satellite file> <function> [arguments]
|
||
|
|
||
|
Functions:
|
||
|
variable <name> | Get variable set in the header
|
||
|
downloads | Get all download urls"
|
||
|
}
|
||
|
|
||
|
if [ $# -lt 2 ]; then
|
||
|
show_help
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
satellite="$(realpath "$1")"
|
||
|
function="$2"
|
||
|
|
||
|
if [ "$function" = "variable" ]; then
|
||
|
name="$3"
|
||
|
if [ ! "$name" ]; then
|
||
|
show_help
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
printf '
|
||
|
header_end() {
|
||
|
variable="$%s"
|
||
|
[ "$variable" ] && echo "$variable"
|
||
|
exit $?
|
||
|
}
|
||
|
. %s
|
||
|
' "$name" "$satellite" | PATH= /bin/sh 2> /dev/null
|
||
|
elif [ "$function" = "downloads" ]; then
|
||
|
printf '
|
||
|
download() {
|
||
|
[ "$1" ] && echo "$1"
|
||
|
}
|
||
|
dlextract() {
|
||
|
[ "$1" ] && echo "$1"
|
||
|
}
|
||
|
dlfile() {
|
||
|
[ "$1" ] && echo "$1"
|
||
|
}
|
||
|
header_end() { exit 0; }
|
||
|
. %s
|
||
|
' "$satellite" | PATH= /bin/sh 2> /dev/null
|
||
|
else
|
||
|
show_help
|
||
|
exit 1
|
||
|
fi
|