Blame


1 2cf1816d 2023-05-19 o #!/bin/sh
2 2cf1816d 2023-05-19 o
3 2cf1816d 2023-05-19 o usage="usage: hlsget [-d] [-ls] url"
4 2cf1816d 2023-05-19 o
5 2cf1816d 2023-05-19 o args=`getopt dls $*`
6 2cf1816d 2023-05-19 o if [ $? -ne 0 ]
7 2cf1816d 2023-05-19 o then
8 2cf1816d 2023-05-19 o echo $usage
9 2cf1816d 2023-05-19 o exit 2
10 2cf1816d 2023-05-19 o fi
11 2cf1816d 2023-05-19 o set -- $args
12 2cf1816d 2023-05-19 o while [ $# -ne 0 ]
13 2cf1816d 2023-05-19 o do
14 2cf1816d 2023-05-19 o case "$1"
15 2cf1816d 2023-05-19 o in
16 2cf1816d 2023-05-19 o -l)
17 2cf1816d 2023-05-19 o list=true; shift;;
18 2cf1816d 2023-05-19 o debug=true; shift;;
19 2cf1816d 2023-05-19 o -s)
20 2cf1816d 2023-05-19 o split=true; shift;;
21 2cf1816d 2023-05-19 o -d)
22 2cf1816d 2023-05-19 o debug=true; shift;;
23 2cf1816d 2023-05-19 o --)
24 2cf1816d 2023-05-19 o shift; break;;
25 2cf1816d 2023-05-19 o esac
26 2cf1816d 2023-05-19 o done
27 2cf1816d 2023-05-19 o
28 2cf1816d 2023-05-19 o if test $# -eq 0
29 2cf1816d 2023-05-19 o then
30 2cf1816d 2023-05-19 o echo $usage
31 2cf1816d 2023-05-19 o exit 2
32 2cf1816d 2023-05-19 o fi
33 2cf1816d 2023-05-19 o
34 2cf1816d 2023-05-19 o url=$1
35 48138d09 2023-06-15 o # basename may not have the -d option, so try dirname too.
36 2cf1816d 2023-05-19 o base=`basename -d $url || dirname $url`
37 2cf1816d 2023-05-19 o
38 2cf1816d 2023-05-19 o # strip manifest tags and carriage returns
39 2cf1816d 2023-05-19 o segments=`curl -s "$url" | grep -v '^#' | tr -d '\015'`
40 2cf1816d 2023-05-19 o
41 2cf1816d 2023-05-19 o for seg in $segments
42 2cf1816d 2023-05-19 o do
43 2cf1816d 2023-05-19 o if test $debug
44 2cf1816d 2023-05-19 o then
45 2cf1816d 2023-05-19 o echo "$base/$seg" 1>&2
46 2cf1816d 2023-05-19 o elif test $list
47 2cf1816d 2023-05-19 o then
48 2cf1816d 2023-05-19 o continue
49 2cf1816d 2023-05-19 o elif test $split
50 2cf1816d 2023-05-19 o then
51 2cf1816d 2023-05-19 o curl -s -O "$base/$seg"
52 2cf1816d 2023-05-19 o continue
53 2cf1816d 2023-05-19 o fi
54 2cf1816d 2023-05-19 o curl -s "$base/$seg"
55 2cf1816d 2023-05-19 o done